FB_BACnetMV1203
BACnet multistate value
Functional description
This function block generates a BACnet multistate value object and provides write and read variables for the object within the PLC.
This function block is the "largest" version in terms of functionality.
Alternatively the following versions are available:
The parameters, which can be written from the PLC, can also be written from the BACnet side; the last change is always the valid one. These parameters are transferred from the PLC via ADS and into the PLC via a cyclic interface. On the PLC side, all parameters have an additional Enable input: when the respective Enable input is set for the first time (rising edge), the value at the parameter input is transferred in any case; subsequently, if Enable is set, it is only transferred if it changes, in order to reduce the ADS traffic. If the Enable input is not set, no transfer takes place.
PLC variable | Comment | BACnet-Property (Property ID) |
---|---|---|
bEnPrioA | Enable for writing the priority entered under usiPrioA into the priority array |
|
udiValPrioA | Value to be written | Priority-Array (87) |
usiPrioA | Selection of the priority (1..16) to be written in the priority array |
|
bEnPrioB | Enable for writing the priority entered under usiPrioB into the priority array |
|
udiValPrioB | Value to be written | Priority-Array (87) |
usiPrioB | Selection of the priority (1..16) to be written in the priority array |
|
bEnPrioC | Enable for writing the priority entered under usiPrioC into the priority array |
|
udiValPrioC | Value to be written | Priority-Array (87) |
usiPrioC | Selection of the priority (1..16) to be written in the priority array |
|
bEnPrioD | Enable for writing the priority entered under usiPrioD into the priority array |
|
udiValPrioD | Value to be written | Priority-Array (87) |
usiPrioD | Selection of the priority (1..16) to be written in the priority array |
|
bEnRlqshDef | Enable for writing the relinquish default |
|
udiRlqshDef | Value to be written to the property relinquish default | Relinquish-Default (104) |
bEnEvtEn | Enable for writing the EventEnable bit pattern |
|
stEvtEn | Property value bit pattern EventEnable | EventEnable (35) |
bEnTiDly | Enable for writing the message delay [s] |
|
udiTiDly | Property value message delay [s] | TimeDelay (113) |
bEnNotiCla | Enable for writing the notification class |
|
udiNotiCla | Property value of the notification class | NotificationClass (17) |
Inputs/outputs
VAR_INPUT
bEnPrioA : BOOL;
udiValPrioA : UDINT;
usiPrioA : USINT;
bEnPrioB : BOOL;
udiValPrioB : UDINT;
usiPrioB : USINT;
bEnPrioC : BOOL;
udiValPrioC : UDINT;
usiPrioC : USINT;
bEnPrioD : BOOL;
udiValPrioD : UDINT;
usiPrioD : USINT;
bEnRlqshDef : BOOL;
udiRlqshDef : UDINT;
bEnEvtEn : BOOL;
stEvtEn : ST_BACnet_EventTransitionBits;
bEnTiDly : BOOL;
udiTiDly : UDINT;
bEnNotiCla : BOOL;
udiNotiCla : UDINT;
bEnPrioA: enable for writing
udiValPrioA: value that is written to priority usiPrioA in the priority array.
usiPrioA: selection of the priority (1..16) to be written
bEnPrioB: enable for writing
udiValPrioB: value that is written to priority usiPrioB in the priority array.
usiPrioB: selection of the priority (1..16) to be written
bEnPrioC: enable for writing
udiValPrioC: value that is written to priority usiPrioC in the priority array.
usiPrioC: selection of the priority (1..16) to be written
bEnPrioD: enable for writing
udiValPrioD: value that is written to priority usiPrioD in the priority array.
usiPrioD: selection of the priority (1..16) to be written
bEnRlqshDef / udiRlqshDef: enable/property value relinquish default.
bEnEvtEn / stEvtEn: enable/property value bit pattern EventEnable
bEnTiDly / udiTiDly: enable/property value message delay [s]
bEnNotiCla / udiNotiCla: enable/property value notification class
VAR_OUTPUT
udiPrVal : UDINT;
udiStaRlqshDef : UDINT;
bStaInAlm : BOOL;
bStaFlt : BOOL;
bStaOoServ : BOOL;
udiActvPrio : UDINT;
udiNumOfSta : UDINT;
dwObjId : DWORD;
bErr : BOOL;
udiErrId : UDINT;
udiErrArg : UDINT;
udiPrVal: current value of the multistate value object - read directly from the BACnet
udiStaRlqshDef: indicates the state of the relinquish default.
bStaInAlm: indicates the state of the status flag "InAlarm" of the multistate value object.
bStaFlt: indicates the state of the status flag "Fault" of the multistate value object.
bStaOoServ: indicates the state of the status flag "OutOfService" of the multistate value object.
udiActvPrio: indicates which priority is active.
udiNumOfSta: indicates the set number of states (NumberOfStates, property ID 74).
dwObjId: BACnet object ID of the multistate value object.
bErr: indicates a general error in the function block. The cause can be in BACnet, in the ADS data exchange, or due to incorrect parameterization.
udiErrId / udiErrArg: contains the error number and the error argument. See error codes.
VAR_IN_OUT
stComnMsg : ST_BA_ComnMsg;
fbDvc : FB_BACnet_Device;
stComnMsg: reference to the connection structure for the collective message function block FB_BA_ComMsg.
fbDvc: reference to the function block of the BACnet device object
Requirements
Development environment | Target system | required library | required supplement |
---|---|---|---|
TwinCAT 2.11 R3/x64 | PC/CX | TcBA library from V1.0.0 | TS8040 | TwinCAT Building Automation from V1.0.0 |