10.6 OPC UA Union DataTypes

10.6.1 General

BACnet CHOICE definitions are mapped to OPC UA Structure DataTypes derived from the Union DataType defined in OPC 10000-3.

10.6.2 BACnetCalendarEntry

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
BACnetCalendarEntryunion

Date

BACnetDateThe DataType BACnetDate is defined in 10.5.6.

DateRange

BACnetDateRangeThe DataType BACnetDateRange is defined in 10.5.7.

WeekNDay

BACnetWeekNDayThe DataType BACnetWeekNDay is defined in 10.5.35.

Its representation in the AddressSpace is defined in Table 233.

Table 233 – BACnetCalendarEntry Definition
Attributes Value
BrowseNameBACnetCalendarEntry
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition Other
Subtype of Union defined in OPC 10000-5.

10.6.3 BACnetClientCOV

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
BACnetClientCOVunion

Real-increment

0:Float

Its representation in the AddressSpace is defined in Table 235.

Table 235 – BACnetClientCOV Definition
Attributes Value
BrowseNameBACnetClientCOV
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition Other
Subtype of Union defined in OPC 10000-5.

10.6.4 BACnetEventParameter

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
BACnetEventParameterunion

Change-of-bitstring

BACnetEventParameterChangeOfBitstringThe 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

BACnetEventParameterChangeOfStateThe 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

BACnetEventParameterChangeOfValueThe 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

BACnetEventParameterCommandFailureThe 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

BACnetEventParameterFloatingLimitThe 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

BACnetEventParameterOutOfRangeThe 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

BACnetEventParameterBufferReadyThe 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

BACnetEventParameterUnsignedRangeThe 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

BACnetEventParameterDoubleOutOfRangeThe 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

BACnetEventParameterSignedOutOfRangeThe 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

BACnetEventParameterUnsignedOutOfRangeThe 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

BACnetEventParameterChangeOfCharacterStringThe 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

BACnetEventParameterChangeOfLifeSafetyThe 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
BrowseNameBACnetEventParameter
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition Other
Subtype of Union defined in OPC 10000-5.

10.6.5 BACnetEventParameterExtendedParameters

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 Allow
Subtypes
BACnetEventParameterExtendedParametersunion

real

0:DoubleFalse

unsigned

0:UInt32False

boolean

0:BooleanFalse

double

0:DoubleFalse

octed

0:Byte[]False

characterString

0:StringFalse

bitString

0:OptionSetTrue

enum

0:UInt32False

date

BACnetDateFalse

time

BACnetTimeFalse

objectIdentifier

BACnetObjectIdentifierFalse

reference

BACnetDeviceObjectPropertyReferenceFalse

integer

0:Int32False

Its representation in the AddressSpace is defined in Table 239.

Table 239 – BACnetEventParameterExtendedParameters Definition
Attributes Value
BrowseNameBACnetEventParameterExtendedParameters
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition Other
Subtype of Union defined in OPC 10000-5.

10.6.6 BACnetFaultParameter

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
BACnetFaultParameterunion

Fault-characterstring

BACnetFaultParameterFaultCharacterstringThe 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

BACnetFaultParameterFaultLifeSafetyThe 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

BACnetFaultParameterFaultStateThe 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

BACnetFaultParameterFaultStatusFlagsThe FAULT_STATUS_FLAGS fault algorithm detects whether the monitored status flags are indicating a fault condition.

Fault-extended

BACnetEventFaultParameterExtendedThe 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
BrowseNameBACnetFaultParameter
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition Other
Subtype of Union defined in OPC 10000-5.

10.6.7 BACnetMessageClass

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 Allow
Subtypes
BACnetMessageClassunion

Unsigned

0:UIntegerTrue

String

0:StringFalse

Its representation in the AddressSpace is defined in Table 243.

Table 243 – BACnetMessageClass Definition
Attributes Value
BrowseNameBACnetMessageClass
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition Other
Subtype of Union defined in OPC 10000-5.

10.6.8 BACnetPriorityValue

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 Allow
Subtypes
BACnetPriorityValueunion

Real

0:FloatFalse

Enumerated

0:Int32False

Unsigned

0:UIntegerTrue

Boolean

0:BooleanFalse

Signed

0:IntegerTrue

Double

0:DoubleFalse

Its representation in the AddressSpace is defined in Table 245.

Table 245 – BACnetPriorityValue Definition
Attributes Value
BrowseNameBACnetPriorityValue
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition Other
Subtype of Union defined in OPC 10000-5.

10.6.9 BACnetRecipient

This DataType is a union that represents a recipient. Its composition is formally defined in Table 246.

Table 246 – BACnetRecipient Structure
Name Type Description
BACnetRecipientunion

Device

BACnetObjectIdentifierThe DataType BACnetObjectIdentifier is defined in 10.2.1

Address

BACnetAddressThe DataType BACnetAddress is defined in 10.5.2

Its representation in the AddressSpace is defined in Table 247.

Table 247 – BACnetRecipient Definition
Attributes Value
BrowseNameBACnetRecipient
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition Other
Subtype of Union defined in OPC 10000-5.

10.6.10 BACnetSpecialEventPeriod

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
BACnetSpecialEventPeriodunion

CalendarEntry

BACnetCalendarEntryThe DataType BACnetCalendarEntry is defined in 10.6.2

CalendarReference

BACnetObjectIdentifierThe DataType BACnetObjectIdentifier is defined in 10.2.1

Its representation in the AddressSpace is defined in Table 249.

Table 249 – BACnetSpecialEventPeriod Definition
Attributes Value
BrowseNameBACnetSpecialEventPeriod
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition Other
Subtype of Union defined in OPC 10000-5.

10.6.11 BACnetTimeStamp

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
BACnetTimeStampunion

Time

BACnetTimeThe DataType BACnetTime is defined in 10.5.32

SequenceNumber

0:UInt16

DateTime

BACnetDateTimeThe DataType BACnetDateTime is defined in 10.5.8

Its representation in the AddressSpace is defined in Table 251.

Table 251 – BACnetTimeStamp Definition
Attributes Value
BrowseNameBACnetTimeStamp
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition Other
Subtype of Union defined in OPC 10000-5.