FB_BACnetAO1203

BACnet analog output

FB_BACnetAO1203 1:

Functional description

This function block generates a BACnet analog output object and provides write and read variables for the object within the PLC.
This function block is the "large" 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

 

rValPrioA

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

 

rValPrioB

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

 

rValPrioC

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

 

rValPrioD

Value to be written

Priority-Array (87)

usiPrioD

Selection of the priority (1..16) to be written in the priority array

 

bEnEvtEn

Enable for writing the EventEnable bit pattern

 

stEvtEn

Property value bit pattern EventEnable

EventEnable (35)

bEnLimEn

Enable for writing the bit pattern of the limit value enables

 

stLimEn

Property value bit pattern limit value enables

Limit-Enable (52)

bEnLmtVal

Enable for writing the limit values

 

rHiLmt

Property value HighLimit

HighLimit (45)

rLoLmt

Property value LowLimit

LowLimit (59)

Inputs/outputs

VAR_INPUT

bEnPrioA    : BOOL;
rValPrioA   : REAL;
usiPrioA    : USINT;
bEnPrioB    : BOOL;
rValPrioB   : REAL;
usiPrioB    : USINT;
bEnPrioC    : BOOL;
rValPrioC   : REAL;
usiPrioC    : USINT;
bEnPrioD    : BOOL;
rValPrioD   : REAL;
usiPrioD    : USINT;
bOvrrd      : BOOL;
bEnEvtEn    : BOOL;
stEvtEn     : ST_BACnet_EventTransitionBits;
bEnLimEn    : BOOL;
stLimEn     : ST_BACnet_LimitEnable;
bEnLmtVal   : BOOL;
rHiLmt      : REAL;
rLoLmt      : REAL;

bEnPrioA: enable for writing

rValPrioA: 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

rValPrioB: 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

rValPrioC: 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

rValPrioD: value that is written to priority usiPrioD in the priority array.

usiPrioD: selection of the priority (1..16) to be written

bOvrrd: at this input the input signal of a local priority operation, e.g. of an KM4602, can be created. If this input is then "TRUE", this is indicated in the BACnet.

bEnEvtEn / stEvtEn: enable/property value bit pattern EventEnable

bEnLimEn / stLimEn: enable/property value bit pattern LimitEnable

bEnLimVal: enable writing High-Limit and Low-Limit

rHiLmt: property value High-Limit

rLoLmt: property value Low-Limit

VAR_OUTPUT

iRawIoPrVal : INT;
rPrVal      : REAL;
bHiLmt      : BOOL;
bLoLmt      : BOOL;
bStaInAlm   : BOOL;
bStaFlt     : BOOL;
bStaOvrrd   : BOOL;
bStaOoServ  : BOOL;
udiActvPrio : UDINT;
dwObjId     : DWORD;
bErrs       : BOOL;
udiErrId    : UDINT;
udiErrArg   : UDINT;

iRawIoPrVal: output for linking with the data word (Data Out) of the analog output terminal.

rPrVal: current value of the analog output object - read directly from the BACnet

bHiLim: message upper limit reached

bLoLim: message lower limit reached

bStaInAlm: indicates the state of the status flag "InAlarm" of the analog output object.

bStaFlt: indicates the state of the status flag "Fault" of the analog output object.

bStaOvrrd: indicates the state of the status flag "Overridden" of the analog output object.

bStaOoServ: indicates the state of the status flag "OutOfService" of the analog output object.

udiActvPrio: indicates which priority is active.

dwObjId: BACnet object ID of the analog output 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