FB_BACnet_BinaryOutput_RAW

The following function block is used for linking a BACnet object of the local BACnet server. The function block for the corresponding BACnet object is linked with the aid of process data.

The process data can be created manually in the BACnet object, linked manually, or they can be generated automatically via PLC automapping. The comments required for PLC automapping ( (* ~ (BACnet... | ??? | ??? ) *) ) are already included in the declaration of the function block.

Contrary to the standard variant of the function block, the raw value is provided by a function block output and not by the terminal hardware. This allows e.g. Binary output information that is used in the PLC code displayed as an analog output object to BACnet (signal mapping for sub bus systems or virtual data points, etc.).

FB_BACnet_BinaryOutput_RAW 1:

Use

The function block "FB_BACnet_BinaryOutput_RAW" can be used for read and write access to a BACnet object of type BinaryOutput (BO). To this end the BACnet object was created under a local BACnet server.

FB_BACnet_BinaryOutput_RAW 2:
Fig. 1: Example of a BACnet object under a local BACnet server.

VAR_INPUT

bEnablePV    : BOOL;
bPV          : BOOL;

bEnablePV: Enables the value of input "bPV". When the input is set to TRUE, an entry is made in the Priority_Array of the corresponding BACnet object with the value of input "bPV". This corresponds to a write access to the commandable property Present_Value with the set priority (default: 12 when PLC automapping is used or 16 for manual linking in the System Manager).
If bEnablePV is set to FALSE, the corresponding entry from the Priority_Array is removed again (write ZERO).

bPV: Value to be written to the Priority_Array of the commandable property Present_Value. The priority is based on the process data configuration and mapping of the BACnet object in the System Manager (see also Figs. 2 and 3). Writing is enabled by setting the input "bEnablePV" to TRUE. Process data are always written cyclically once enabled.

FB_BACnet_BinaryOutput_RAW 3:
Fig. 2: Example of a BACnet object with process data for writing the commandable property Present_Value.
FB_BACnet_BinaryOutput_RAW 4:
Fig. 3: Example for a process data configuration of an BACnet object in the System Manager. Priority 12 and 16 are created as mappable process data (see result in Fig. 2).

VAR_OUTPUT

bReady                  : BOOL;
bPresentValue           : BOOL;
bOverridden             : BOOL;
bOutOfService           : BOOL;
bFault                  : BOOL;
bInAlarm                : BOOL;
bAckedTrans_ToOffNormal : BOOL;
bAckedTrans_ToFault     : BOOL;
bAckedTrans_ToNormal    : BOOL;
bError                  : BOOL;
nErrorId                : UINT;
bRawOut                 : BOOL; (* ~(BACnet_RawIoBinaryBoolValue : : ) *)

bReady: Notification of general readiness. If this output is set, the other status outputs are valid (PresentValue, Overridden ...). If the output is FALSE, the corresponding function block "FB_BACnet_Device" does not report "Operational", or the block instance was not linked correctly in the System Manager.

bPresentValue: Current value of the BACnet object (see also BACnet specification DIN EN ISO 16484-5 for BACnet object BinaryOutput and property Present_Value).

bOverridden, bOutOfService, bFault, bInAlarm: See BACnet specification DIN EN ISO 16484-5 for BACnet object BinaryOutput and property Status_Flags.

bAckedTrans_ToOffNormal, bAckedTrans_ToFault, bAckedTrans_ToNormal: Flags of property Acked_Transitions (see also BACnet specification DIN EN ISO 16484-5 for BACnet object BinaryOutput and property Acked_Transitions).

bError: An error is pending.

nErrorId: Error number
0 = no error
2 = incorrect process data mapping detected (check mapping in the System Manager; if necessary compile complete PLC project and reload)
3 = the corresponding BACnet server is not ready (bOperational = FALSE at instance of the FB_BACnet_Device)
The error numbers can be queried as block constants via the FB instance (FB_BACnet_???.nERR_xxx).

bRawOut: Raw value output of the object. The output is linked to the process data "RawIoAnalogSignedValue" of the BACnet object. The value of "bRawOut" is the value of property Present_Value (assuming the object state is not out_of_service).

VAR_IN_OUT

Device       : FB_BACnet_Device;

Device: Specification of the instance of the local corresponding BACnet server block. For each BACnet adapter one BACnet server is possible. See FB_BACnet_Adapter and FB_BACnet_Device for further information.

Example

The following example shows the mapping of the Property Present_Value of an binary output object to an EIB bit value:

FB_BACnet_BinaryOutput_RAW 5:
Fig. 4: Example for the mapping of the property Present_Value to EIB in PLC code

This example requires the library "TcKL6301.lib". Refer to the manual of terminal KL6301 for more information about EIB.