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.