BACnet CHOICE definitions are mapped to OPC UA Structure DataTypes derived from the Union DataType defined in OPC 10000-3.
This DataType is a union that defines various calendar date values. Its composition is formally defined in Table 232.
Table 232 – BACnetCalendarEntry Union
Name |
Type |
Description |
BACnetCalendarEntry |
union |
|
Date |
BACnetDate |
The DataType BACnetDate is defined in 10.5.6. |
DateRange |
BACnetDateRange |
The DataType BACnetDateRange is defined in 10.5.7. |
WeekNDay |
BACnetWeekNDay |
The DataType BACnetWeekNDay is defined in 10.5.35. |
Its representation in the AddressSpace is defined in Table 233.
Table 233 – BACnetCalendarEntry Definition
Attributes |
Value |
|||||
BrowseName |
BACnetCalendarEntry |
|||||
IsAbstract |
False |
|||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
Other |
|
Subtype of Union defined in OPC 10000-5. |
This DataType is a union that represents the client COV. Its composition is formally defined in Table 234. If the Default-increment shall be used, the value is set to NULL.
Table 234 – BACnetClientCOV Structure
Name |
Type |
Description |
BACnetClientCOV |
union |
|
Real-increment |
0:Float |
|
Its representation in the AddressSpace is defined in Table 235.
Table 235 – BACnetClientCOV Definition
Attributes |
Value |
|||||
BrowseName |
BACnetClientCOV |
|||||
IsAbstract |
False |
|||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
Other |
|
Subtype of Union defined in OPC 10000-5. |
This DataType is a union that represents the event parameter. Its composition is formally defined in Table 236. If the event parameter is None-event, the value is set to NULL. Event state transitions are also indicated if the value of the mode parameter changed since the last transition indicated. In this case, any time delays are overridden and the transition is indicated immediately.
Table 236 – BACnetEventParameter Structure
Name |
Type |
Description |
BACnetEventParameter |
union |
|
Change-of-bitstring |
BACnetEventParameterChangeOfBitstring |
The CHANGE_OF_BITSTRING event algorithm detects whether the monitored value of type BIT STRING equals a value that is listed as an alarm value, after applying a bitmask. |
Change-of-state |
BACnetEventParameterChangeOfState |
The CHANGE_OF_STATE event algorithm detects whether the monitored value equals a value that is listed as an alarm value. The monitored value may be of any discrete or enumerated data type, including Boolean. |
Change-of-value |
BACnetEventParameterChangeOfValue |
The CHANGE_OF_VALUE event algorithm, for monitored values of datatype REAL, detects whether the absolute value of the monitored value changes by an amount equal to or greater than a positive REAL increment. |
Command-failure |
BACnetEventParameterCommandFailure |
The COMMAND_FAILURE event algorithm detects whether the monitored value and the feedback value disagree for a time period. It may be used, for example, to verify that a process change has occurred after writing a property. |
Floating-limit |
BACnetEventParameterFloatingLimit |
The FLOATING_LIMIT event algorithm detects whether the monitored value exceeds a range defined by a setpoint, a high difference limit, a low difference limit and a deadband. |
Out-of-range |
BACnetEventParameterOutOfRange |
The OUT_OF_RANGE event algorithm detects whether the monitored value exceeds a range defined by a high limit and a low limit. Each of these limits may be enabled or disabled. If disabled, the normal range has no higher limit or no lower limit. In order to reduce jitter of the resulting event state, a deadband is applied when the value is in the process of returning to the normal range. |
Extended |
BACnetEventFaultParameterExtended |
The EXTENDED event algorithm detects event conditions based on a proprietary event algorithm. The proprietary event algorithm uses parameters and conditions defined by the vendor. The algorithm is identified by a vendor-specific event type that is in the scope of the vendor's vendor identification code. The algorithm may, at the vendor's discretion, indicate a new event state, a transition to the same event state, or no transition to the Event-State-Detection. The indicated new event states may be NORMAL, and any OffNormal event state. FAULT event state may not be indicated by this algorithm. For the purpose of proprietary evaluation of unreliability conditions that may result in FAULT event state, a FAULT_EXTENDED fault algorithm shall be used. |
Buffer-ready |
BACnetEventParameterBufferReady |
The BUFFER_READY event algorithm detects whether a defined number of records have been added to a log buffer since start of operation or the previous notification, whichever is most recent. |
Unsigned-range |
BACnetEventParameterUnsignedRange |
The UNSIGNED_RANGE event algorithm detects whether the monitored value exceeds a range defined by a high limit and a low limit. |
Double-out-of-range |
BACnetEventParameterDoubleOutOfRange |
The DOUBLE_OUT_OF_RANGE event algorithm detects whether the monitored value exceeds a range defined by a high limit and a low limit. Each of these limits may be enabled or disabled. If disabled, the normal range has no lower limit or no higher limit respectively. In order to reduce jitter of the resulting event state, a deadband is applied when the value is in the process of returning to the normal range. |
Signed-out-of-range |
BACnetEventParameterSignedOutOfRange |
The SIGNED_OUT_OF_RANGE event algorithm detects whether the monitored value exceeds a range defined by a high limit and a low limit. Each of these limits may be enabled or disabled. If disabled, the normal range has no lower limit or no higher limit respectively. In order to reduce jitter of the resulting event state, a deadband is applied when the value is in the process of returning to the normal range. |
Unsigned-out-of-range |
BACnetEventParameterUnsignedOutOfRange |
The UNSIGNED_OUT_OF_RANGE event algorithm detects whether the monitored value exceeds a range defined by a high limit and a low limit. Each of these limits may be enabled or disabled. If disabled, the normal range has no lower limit or no higher limit respectively. In order to reduce jitter of the resulting event state, a deadband is applied when the value is in the process of returning to the normal range. |
Change-of-characterstring |
BACnetEventParameterChangeOfCharacterString |
The CHANGE_OF_CHARACTERSTRING event algorithm detects whether the monitored value matches a character string that is listed as an alarm value. Alarm values are of type BACnetOptionalCharacterString, and may also be NULL or an empty character string. |
Change-of-life-safety |
BACnetEventParameterChangeOfLifeSafety |
The CHANGE_OF_LIFE_SAFETY event algorithm detects whether the monitored value equals a value that is listed as an alarm value or life safety alarm value. Event state transitions are also indicated if the value of the mode parameter changed since the last transition indicated. In this case, any time delays are overridden and the transition is indicated immediately. |
Its representation in the AddressSpace is defined in Table 237.
Table 237 – BACnetEventParameter Definition
Attributes |
Value |
|||||
BrowseName |
BACnetEventParameter |
|||||
IsAbstract |
False |
|||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
Other |
|
Subtype of Union defined in OPC 10000-5. |
This DataType is a union that represents the event parameter values. Its composition is formally defined in Table 238
Table 238 – BACnetEventParameterExtendedParameters Structure
Name |
Type |
Description |
AllowSubtypes |
BACnetEventParameterExtendedParameters |
union |
|
|
real |
0:Double |
|
False |
unsigned |
0:UInt32 |
|
False |
boolean |
0:Boolean |
|
False |
double |
0:Double |
|
False |
octed |
0:Byte[] |
|
False |
characterString |
0:String |
|
False |
bitString |
0:OptionSet |
|
True |
enum |
0:UInt32 |
|
False |
date |
BACnetDate |
|
False |
time |
BACnetTime |
|
False |
objectIdentifier |
BACnetObjectIdentifier |
|
False |
reference |
BACnetDeviceObjectPropertyReference |
|
False |
integer |
0:Int32 |
|
False |
Its representation in the AddressSpace is defined in Table 239.
Table 239 – BACnetEventParameterExtendedParameters Definition
Attributes |
Value |
|||||
BrowseName |
BACnetEventParameterExtendedParameters |
|||||
IsAbstract |
False |
|||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
Other |
|
Subtype of Union defined in OPC 10000-5. |
This DataType is a union that represents fault parameter. Its composition is formally defined in Table 240. If the value is set to NULL, “NONE” is selected. The NONE fault algorithm is a placeholder for the case where no fault algorithm is applied by the object. This fault algorithm has no parameters, no conditions, and does not indicate any transitions of reliability.
Table 240 – BACnetFaultParameter Structure
Name |
Type |
Description |
BACnetFaultParameter |
union |
|
Fault-characterstring |
BACnetFaultParameterFaultCharacterstring |
The FAULT_CHRACTERSTRING event algorithm detects whether the monitored value matches a character string that is listed as a fault value. Fault values are of type BACnetOptionalCharacterString and may also be NULL or an empty character string. |
Fault-life-safety |
BACnetFaultParameterFaultLifeSafety |
The FAULT_LIFE_SAFETY fault algorithm detects whether the monitored value equals a value that is listed as a fault value. The monitored value is of type BACnetLifeSafetyState. If internal operational reliability is unreliable, then the internal reliability takes precedence over evaluation of the monitored value. |
Fault-state |
BACnetFaultParameterFaultState |
The FAULT_STATE fault algorithm detects whether the monitored value equals a value that is listed as a fault value. The monitored value may be of any discrete or enumerated data type, including Boolean. If internal operational reliability is unreliable, then the internal reliability takes precedence over evaluation of the monitored value. |
Fault-status-flags |
BACnetFaultParameterFaultStatusFlags |
The FAULT_STATUS_FLAGS fault algorithm detects whether the monitored status flags are indicating a fault condition. |
Fault-extended |
BACnetEventFaultParameterExtended |
The FAULT_EXTENDED fault algorithm detects fault conditions based on a proprietary fault algorithm. The proprietary fault algorithm uses parameters and conditions defined by the vendor. The algorithm is identified by a vendor-specific fault type that is in the scope of the vendor's vendor identification code. The algorithm may, at the vendor's discretion, indicate a new reliability, a transition to the same reliability, or no transition to the reliability-evaluation process. |
Its representation in the AddressSpace is defined in Table 241.
Table 241 – BACnetFaultParameter Definition
Attributes |
Value |
|||||
BrowseName |
BACnetFaultParameter |
|||||
IsAbstract |
False |
|||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
Other |
|
Subtype of Union defined in OPC 10000-5. |
This DataType is a union that defines a message class. Its composition is formally defined in Table 242.
Table 242 – BACnetMessageClass Union
Name |
Type |
Description |
AllowSubtypes |
BACnetMessageClass |
union |
|
|
Unsigned |
0:UInteger |
|
True |
String |
0:String |
|
False |
Its representation in the AddressSpace is defined in Table 243.
Table 243 – BACnetMessageClass Definition
Attributes |
Value |
|||||
BrowseName |
BACnetMessageClass |
|||||
IsAbstract |
False |
|||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
Other |
|
Subtype of Union defined in OPC 10000-5. |
This DataType is a union that defines a context specific priority, where the context is based on data type (character string, 0:Boolean, and so on). Its composition is formally defined in Table 244. If there is no PriorityValue (None), the value is NULL.
Table 244 – BACnetPriorityValue Union
Name |
Type |
Description |
AllowSubtypes |
BACnetPriorityValue |
union |
|
|
Real |
0:Float |
|
False |
Enumerated |
0:Int32 |
|
False |
Unsigned |
0:UInteger |
|
True |
Boolean |
0:Boolean |
|
False |
Signed |
0:Integer |
|
True |
Double |
0:Double |
|
False |
Its representation in the AddressSpace is defined in Table 245.
Table 245 – BACnetPriorityValue Definition
Attributes |
Value |
|||||
BrowseName |
BACnetPriorityValue |
|||||
IsAbstract |
False |
|||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
Other |
|
Subtype of Union defined in OPC 10000-5. |
This DataType is a union that represents a recipient. Its composition is formally defined in Table 246.
Table 246 – BACnetRecipient Structure
Name |
Type |
Description |
BACnetRecipient |
union |
|
Device |
BACnetObjectIdentifier |
The DataType BACnetObjectIdentifier is defined in 10.2.1 |
Address |
BACnetAddress |
The DataType BACnetAddress is defined in 10.5.2 |
Its representation in the AddressSpace is defined in Table 247.
Table 247 – BACnetRecipient Definition
Attributes |
Value |
|||||
BrowseName |
BACnetRecipient |
|||||
IsAbstract |
False |
|||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
Other |
|
Subtype of Union defined in OPC 10000-5. |
This DataType is a union that represents a period for a special event. Its composition is formally defined in Table 248.
Table 248 – BACnetSpecialEventPeriod Structure
Name |
Type |
Description |
BACnetSpecialEventPeriod |
union |
|
CalendarEntry |
BACnetCalendarEntry |
The DataType BACnetCalendarEntry is defined in 10.6.2 |
CalendarReference |
BACnetObjectIdentifier |
The DataType BACnetObjectIdentifier is defined in 10.2.1 |
Its representation in the AddressSpace is defined in Table 249.
Table 249 – BACnetSpecialEventPeriod Definition
Attributes |
Value |
|||||
BrowseName |
BACnetSpecialEventPeriod |
|||||
IsAbstract |
False |
|||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
Other |
|
Subtype of Union defined in OPC 10000-5. |
This DataType is a union that represents a time stamp. Its composition is formally defined in Table 250.
Table 250 – BACnetTimeStamp Structure
Name |
Type |
Description |
BACnetTimeStamp |
union |
|
Time |
BACnetTime |
The DataType BACnetTime is defined in 10.5.32 |
SequenceNumber |
0:UInt16 |
|
DateTime |
BACnetDateTime |
The DataType BACnetDateTime is defined in 10.5.8 |
Its representation in the AddressSpace is defined in Table 251.
Table 251 – BACnetTimeStamp Definition
Attributes |
Value |
|||||
BrowseName |
BACnetTimeStamp |
|||||
IsAbstract |
False |
|||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
Other |
|
Subtype of Union defined in OPC 10000-5. |