BACnet properties in function blocks
I = Input
O = Output
V = Value
SBT designations | BACnet property | Function blocks (BACnet objects) | |||||
---|---|---|---|---|---|---|---|
Long name | Ref. | Description | Other | Binary | Analog | Multistate | |
Alarm enable | EnAlm | Alarm enable | Alarm_Enable | Pulse Converter | I / O / V | I / O / V | I / O / V |
Event enable | EnEvt | Event enable | Event_Enable | Pulse Converter Command Control1 Power Control1 AlarmCollection Trend Logs Event Enrollment Loop | I / O / V | I / O / V | I / O / V |
Event detection enable | EnEvtDet | Enable event detection | Event_Detection_Enable | Event Enrollment |
|
|
|
Event state | EvtSta | Event state | Event_State | Discipline I/O1 Group1 Pulse Converter Trend Logs Device-Info1 Command Control1 Power Control1 AlarmCollection Event Enrollment Loop | I / O / V | I / O / V | I / O / V |
Feedback value | FbVal | Feedback value | Feedback_Value |
| O | O | O |
Upper limit | HiLm | Hi Limit | High_Limit | Pulse Converter |
| I / O / V |
|
Limit enable | EnLm | Enable limit | Limit_Enable |
|
|
|
|
Lower limit | LoLm | Low limits | Low_Limit | Pulse Converter |
| I / O / V |
|
Message text | MsgTxt/EvtMsg | Message text | Message_Text | Discipline I/O1 Group1 Pulse Converter Command Control1 Power Control1 Loop Event Enrollment | I / O / V | I / O / V | I / O / V |
Deviation monitoring period | TiMonDvn | Deviation monitoring period | Time_Delay | Pulse Converter Power Control1 Loop | I / O / V | I / O / V | I / O / V |
Switch-off monitoring time | TiMonOff | Switch-off monitoring time | Time_Delay2 |
| I / O / V |
|
|
Switch-on monitoring time | TiMonOn | Switch-on monitoring time | Time_Delay1 |
| I / O / V |
|
|
Dead band or dead zone | Nz | Neutral zone | Deadband | Pulse Converter |
| I / O / V |
|
Out of service | OoServ | Out of order | Out_of_Service | Device-Info1 Discipline I/O1 Group1 Pulse Converter Command Control1 Power Control1 AlarmCollection Event Enrollment Loop | I / O / V | I / O / V | I / O / V |
Present value | PrVal | Present value | Present_Value | Pulse Converter Command Control1 Power Control1 AlarmCollection Loop | I / O / V | I / O / V | I / O / V |
Reference value | RefVal | Reference value | Alarm_Value |
| I / V |
|
|
Reference values | RefVals | Reference values | Alarm_Values |
|
|
| I / V |
Reliability | Rlb | Reliability | Reliability | Device-Info Discipline I/O1 Group1 Pulse Converter Trend Logs Command Control1 Power Control1 AlarmCollection Event Enrollment Loop | I / O / V | I / O / V | I / O / V |
State flag | StaFlg | State flag | Status_Flags | Device-Info Pulse Converter Command Control1 Power Control1 AlarmCollection Event Enrollment Loop | I / O / V | I / O / V | I / O / V |
Suppress event algorithm | SupEvtDet | Event algorithm inhibit | Event_Algorithm_Inhibit | Event Enrollment |
|
|
|
Event time stamp | TiStmEvt | Event time stamp | Event_Time_Stamps | Device-Info1 Discipline I/O1 Group1 Pulse Converter Trend Logs Command Control1 Power Control1 AlarmCollection Event Enrollment Loop | I / O / V | I / O / V | I / O / V |
Notification function selector | NotifSel | Notification function selector [NotifSel] | Notification_Function_Selector | Device-Info1 Discipline I/O1 Group1 Pulse Converter Trend Logs Command Control1 Power Control1 AlarmCollection Event Enrollment Loop | I / O / V | I / O / V | I / O / V |
Key
1 | Only in Desigo PX. |
Alarm enable [EnAlm]
[EnAlm] (Boolean type) is used to enable and disable the monitoring of OFFNORMAL alarms. OFFNORMAL alarms will only be detected if [EnAlm] is TRUE. This is equivalent to the standard BACnet property Alarm_Enable.
FAULT alarms are monitored independently of the value of the alarm enable property [EnAlm]. Monitoring is continuous and cannot be disabled.
If [EnAlm] is changed from TRUE to FALSE during operation, the timer for all deviation monitoring periods [TiMonDvn] will be reset to zero. As soon as the value of [EnAlm] reverts to TRUE, the associated [TiMonDvn] timer starts counting to its preset value again from zero.
The value of [EnAlm] can be modified via BACnet clients or using the CFC editor online. During operation, if [EnAlm] is changed from TRUE to FALSE while an OFFNORMAL alarm is still active, this will result in an immediate state transition to TO_NORMAL1. In other words, the existing OFFNORMAL alarm condition is seen as having cleared, and the alarm state of the alarm source is updated accordingly.
Enable event [EnEvt]
[EnEvt] (Boolean type) is used to enable and disable the transfer of OFFNORMAL and FAULT alarms. OFFNORMAL and FAULT alarms are only transferred if [EnEvt] is TRUE. This is equivalent to the standard BACnet property Event_Enable.
Enable event detection [EnEvtDet]
[EnEvtDet] (Boolean type) lets you turn the intrinsic/algorithmic reporting on/off. OFFNORMAL and FAULT alarms are only forwarded when [EnEvtDet] = TRUE. This is equivalent to the standard BACnet property Event_Detection_Enable.
Event state [EvtSta]
This variable denotes the current alarm state of the object. It can accept three values: NORMAL, OFFNORMAL (in the case of analog HIGH_LIMIT and LOW_LIMIT values) and FAULT. The value of the variables is updated immediately after the associated alarm state transition. This is equivalent to the standard BACnet property Event_State.
Feedback value [FbVal]
[FbVal] is a feedback signal input, configured at a physical input via a separate hardware address. This use of a physical input can also be the source of reliability errors. [FbVal] can be neither overridden nor commanded. If [FbVal] is not configured at a physical input, then, by definition, it will be equal in value to Present Value, in which case no OFFNORMAL alarms can be issued via the output object. This is equivalent to the standard BACnet property Feedback_Value.
Unlike the binary output and multistate output blocks, the analog output function block does not use [FbVal] as a criterion for OFFNORMAL alarm conditions. If [FbVal] is used, it can be a source of reliability errors and can result in FAULT alarms.
Hi limit [HiLm]
This parameter (data type Real) determines the high alarm limit. If [PrVal] exceeds the high limit value [HiLm] for longer than the period defined under [TiMonDvn], an OFFNORMAL alarm condition prevails, namely: HIGH_LIMIT.
Enable limit [EnLm]
This variable only exists in the BACnet view of analog blocks (for reasons of compatibility with the BACnet standard). It has exactly the same meaning as the alarm enable variable [EnAlm] and its current value is derived from the value of [EnAlm] (that is, [EnLm = EnAlm], Limit enable = Enable alarm). This variable is equivalent to the standard BACnet property Limit_Enable.
Low limit [LoLm]
This parameter (data type Real) defines the low alarm limit. If [PrVal] exceeds the high limit value [LoLm] for longer than the period defined under [TiMonDvn], an OFFNORMAL alarm condition prevails, namely: LOW_LIMIT. This is equivalent to the standard BACnet property Low_Limit.
Message text [MsgTxt]
For Desigo PX, the variables [MsgTxt] or [EvtMsg] contain the message text of the last event notification associated with TO_OFFNORMAL, TO_FAULT and TO_NORMAL alarms.
Deviation monitoring period [TiMonDvn]
This refers to a delay before generating the alarm if an alarm condition is detected without a prior change in switch command (that is, without a set point change). [TiMonDvn] is not an integrating function, that is, the condition causing a change in the alarm state must persist without interruption for a period of time at least equivalent to the duration of [TiMonDvn], before it has any effect. The BACnet standard only supports a [TiMonDvn] for a monitoring period and the associated alarm delay. This is equivalent to the standard BACnet property Time_Delay.
In certain applications, different end-switch monitoring periods are required for Open and Close commands and for the Idle state.
For this reason, the additional properties [TiMonOff] und [TiMonOn] have been introduced for the binary input, binary output, binary value and multistate output objects.
Switch off- [TiMonOff] and switch on monitoring period [TiMonOn]
[TiMonOff]
Delay time before an alarm is generated when there is a preceding set point enable command. This is equivalent to proprietary BACnet properties Time_Delay1 and Time_Delay2.
[TiMonOn]
Delay time before an alarm is generated in the event of a set point switch-off command.
Application: Control of fire protection dampers (see further below).
The definitions of the set point and the measured value depend on the object type:
Object type | Set point | Measured value |
---|---|---|
Binary Input | invers [RefVal] | [PrVal] |
Binary Output | [PrVal] | [FbVal] |
Binary Value | invers [RefVal] | [PrVal] |
Examples
The following example shows the use of the three time periods [TiMonDvn], [TiMonOn], [TiMonOff]. For another example, see Alarm Example.
It is assumed that a fire damper has two separate feedback mechanisms (end switches). This means that the damper is commanded via the commands Open and Close. The first end switch, the Open switch delivers the signals Fully open or Not fully open. The second end switch, the Closed switch delivers the signals Fully closed or Not fully closed. The following is an example of how to connect the BO (binary output for commanding and integrating the Open switch) and BI (the binary output for the closed switch):
Given the feedback signal [FbVal] Fully open, the Open and Close commands follow the time sequence shown below, making use of all three deviation monitoring times [TiMonDvn].
Since the BO block can handle the feedback of two different addresses, the fire-protection damper solution can be further simplified by direct connection of the Closed switch (Addr. 1) and Open switch (Addr. 2). In cases where both end switches are simultaneously On or simultaneously Off, the BO block treats the [FbVal] as invalid. Throughout this period, therefore, the alarm monitoring function will return the value Alarm = OFFNORMAL. The circuit and time sequence for normal and error conditions are as follows:
Circuit and time sequence for normal and error conditions:
Fire protection damper timing with BO and two feedback addresses:
Fire protection damper timing with BO and two feedback addresses:
Error condition: The damper does not close quickly enough.
Neutral zone [Nz]
[Nz] (data type Real) can be used to define a switching hysteresis for the state transition TO_NORMAL1. This is equivalent to the standard BACnet property Deadband.
Out of service [OoServ]
The following applies to alarm response:
[PrVal] can also change for [OoServ=TRUE].
[PrVal] is monitored for alarms irrespective of the source of any change in [PrVal]. In other words, the value of [OoServ] does not affect the monitoring of OFFNORMAL alarms. If [OoServ = TRUE], the [Rlb] property can be overwritten via BACnet. However, the alarm monitoring system responds to changes in Reliability in the same way as if [OoServ=FALSE]. This makes it possible to simulate FAULT alarms.
In the BACnet Device Info object, this Boolean variable is FALSE at the very time when the operating state is RUN, that is, when the D-MAP program is being run on the automation station. All the alarm-generating blocks (including the BACnet Device Info Object) are only monitored in the operational status RUN. Corresponds to the standard BACnet Property Out_of_Service.
Present value [PrVal]
OFFNORMAL alarms are monitored exclusively on the basis of the current value of [PrVal] the present value variable. The source of this present value (whether a process value, operator value, replacement value or commanded value) is irrelevant. This is equivalent to the standard BACnet property Present_Value.
Reliability [Rlb]
The value under [PrVal] is only plausible if [Rlb] = NO_FAULT_DETECTED.
When [Rlb] <> NO_FAULT_DETECTED, this is precisely the condition for a FAULT alarm.
The BACnet Device Info Object is an exception. The value of [Rlb] for the BACnet device object is NO_FAULT_DETECTED, except in the case of the fault FLASH_FULL (FAULT condition). This is equivalent to the standard BACnet property Reliability.
Reference value [RefVal]
[RefVal] is a set point, used to set the value which [PrVal] (the measured value) must assume in order to initiate an alarm after the time defined by [TiMonDvn] has expired. [RefVal] is equivalent to the standard BACnet property Alarm_Value.
Reference values [RefVals]
The variable [RefVals] comprises a list of multistate elements. The value range (number of states) of the items in the list is the same as for [PrVal]. All states to be treated as OFFNORMAL are entered under [RefVals]. [RefVals] is equivalent to the standard BACnet property Alarm_Values.
Example of [RefVals] : STEP 1, STEP 2, STEP 4
Name | Value |
---|---|
State 1 | STEP 1 |
State 2 | STEP 2 |
State 3 | STEP 4 |
In this example, an incoming OFFNORMAL alarm will be detected if [PrVal] = STEP 1, STEP 2 or STEP 4 after expiry of the period defined by [TiMonDvn].
State flag [StaFlg]
The variable [StaFlg] includes the two bits 'In_Alarm' and 'Fault'.
By definition, In_Alarm is TRUE whenever [EvtSta] is not equal to NORMAL.
By definition, FAULT is TRUE whenever [EvtSta = FAULT].
The value of these two [StaFlg] variables is thus derived from another variable.
For each change of the variable [StaFlg] a Change of Value (COV) notification is sent to all COV subscribers of the alarm-generating object. In this way, the COV subscribers can be kept informed of an alarm state in their COV server. This is equivalent to the standard BACnet property Status_Flags.
Suppress event detection [SupEvtDet]
[SupEvtDet] (Boolean type) lets you turn the OFFNORMAL and FAULT alarm detection on/off. OFFNORMAL and FAULT alarms are only detected when [SupEvtDet] = FALSE. This is equivalent to the standard BACnet property Event_Algorithm_Inhibit.
Event time stamp [TiStmEvt]
This variable (ARRAY [3], type TimeStamp), contains time stamps for the last changes of state of the alarm-generating object TO_OFFNORMAL, TO_FAULT and TO_NORMAL. The value of the variables is updated immediately after the associated alarm state transition. This is equivalent to the standard BACnet property Event_Time_Stamps.
Notification function selector [NotifSel]
This variable specifies if the alarm function is executed as per default pattern (Simple-/Basic-/Extended alarm) or as per a customized alarm function.