BACnet data from remote systems

How to set remote system in order to transfer data from/to Fidelix BACnet

We suggest to use our approved tool (YABE, Fidleix edit ) which is able to generate the approved EDE format.

1. That's ok for a Fidleix sub-station to carry max 2000 BACnet items. However, you should take into account that either point must be manually defined as a BACnet entity on the Fidelix substation separately.

2. The EDE file is always generated according to the internal configuration of the device (system). Usually that order (which entity of which type) is fixed and cannot be modified. Apparently, the device from which the EDE is generated is explicitly defined that way (Alarm is a Binary Input creature).

For example, in the Fidelix substation, the Alarm entity is defined as Multi-State Value:

Pasted image

However, both types of object (alarm information) can be read at the Fidelix substation and displayed on the graphical interface. Another issue is that the Fidelix substation could not read the alarm data from another device to the alarm point directly. The Fidleix alarm point is output only. This is because the substation has a special alarm handling mechanism (special modes acknowledged/not acknowledged).

One can use a fictitious indication and then in the IEC program set the corresponding alarm point.

3. Does this mean in practice that there will also be two cables to the PLC So would two PLCs be needed?

It depends entirely on the wiring diagram and IP settings. BACnet is a network-like protocol similar to the Internet, meaning that only the right IP settings determine the operation.

4. Was it the case that only one BACnet IP can be connected to one PLC? 
There can be one cable (IP network), but different data and packets from different IP addresses can run along the cable.

It is strictly not recommended to use a different IP port for a different BACnet server. Fidelix PLC sub-station uses only one BACnet IP port for all objects received from all external devices. The best way is to use a different device ID.

5. Alarm from BACnet communication.

Using IEC function GetPointErrorF you can receive BACnet network (or object) error signal which may be converted into alarm.

IntBACnetALM := GetPointErrorF( Name:= 'BACNET_AI01_FM' ) ;

IF IntBACnetALM = -9992 THEN
IntVariable := SetDigitalPointF( Value:= 1, LockState:=1, Name:= 'BACNET_AI01_ALM') ;
  IntVariable := SetDigitalPointF( Value:= 0, LockState:=1, Name:= 'BACNET_AI01_ALM') ;

IntVariable := GetPointErrorF( Name:= 'PointName' ) ;
returns point error state as integer variable
0 = No error
-9999 = Point not found
-9998 = Module error at physical point 
-9997 = Communcation fail at global point
-9996 = Sensor fail at AI point
-9995 = Configuratoin error at point
-9994 = Invalid point number (e.g. point number 15 at AI8 module)
-9993 = Communication fail at SNMP point
-9992 = Configuration or communication error at BACnet point
NOTE! Communication fail of global point may be used for monitoring condition of network and another sub station.