This OPC UA ObjectType represents a BACnet Multi-state Value object type. A multi-state value is a control system parameter that resides in the memory of the BACnet Device and includes a Present_Value variable whose value represents the object state. The states and algorithms used to generate them are locally defined.

Figure 24 shows an overview for the BACnetMultiStateValueType with its Properties and related ObjectTypes. It is formally defined in Table 29.

image030.png

Figure 24 BACnetMultiStateValueType overview

The BACnetMultiStateValueType ObjectType is formally defined in Table 29.

Table 29 BACnetMultiStateValueType Definition

Attribute

Value

BrowseName

BACnetMultiStateValueType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

Other

Subtype of the BACnetMultiStateType defined in 7.12.

0:HasComponent

Object

EventReporting

BACnetEvent ReportingType

O

0:HasComponent

Object

FaultEvaluation

BACnetFaultEvaluationType

O

0:HasProperty

Variable

Priority_Array

BACnetPriorityValue [16]

0:PropertyType

O

0:HasProperty

Variable

Relinquish_Default

0:UInteger

0:PropertyType

O

The BACnetMultiStateValueType ObjectType is a concrete type and can be used directly.

The components of the BACnetMultiStateValueType have additional subcomponents which are defined in Table 30.

Table 30 – BACnetMultiStateValueType Additional Subcomponents

BrowsePath

References

NodeClass

BrowseName

DataType

TypeDefinition

Others

EventReporting

0:HasComponent

Object

EventAlgorithm

BACnetChangeOfStateAlgorithmType

M

EventReporting

EventAlgorithm

0:HasProperty

Variable

AlarmValues

0:UInteger [ ]

0:PropertyType

M

FaultEvaluation

0:HasComponent

Object

FaultAlgorithm

BACnetFaultStateAlgorithmType

O

FaultEvaluation

FaultAlgorithm

0:HasProperty

Variable

FaultValues

0:UInteger [ ]

0:PropertyType

M

The instance declaration Object EventReporting overrides definitions of the BACnetEventReportingType.

The EventAlgorithm component is changed to TypeDefinition BACnetChangeOfStateAlgorithmType and ModellingRule Mandatory if used in the BACnetMultiStateValueType. The BACnetChangeOfStateAlgorithmType is defined in 8.10.

On the EventAlgorithm instance of the BACnetChangeOfStateAlgorithmType, the DataType of the Alarm_Values Property is changed to 0:UInteger array.

The BACnet property Alarm_Values of the BACnet object type Multi State Value is mapped to the AlarmValues Property of the BACnetChangeOfStateAlgorithmType.

The instance declaration Object FaultEvaluation overrides definitions of the BACnetFaultEvaluationType.

The FaultAlgorithm component is changed to TypeDefinition BACnetFaultStateAlgorithmType if used in the BACnetMultiStateValueType. The BACnetFaultStateAlgorithmType is defined in 8.25.

On the FaultAlgorithm instance of the BACnetFaultStateAlgorithmType, DataType of the Fault_Values Property is changed to 0:UInteger array.

This OPC UA Property, of DataType BACnetPriorityValue [16], represents the BACnet property Priority_Array. The BACnetPriorityValue DataType is defined in 10.6.4.

It is an array that contains prioritized commands that are in effect for this object. See 3.2.1 for details on command prioritization.

This OPC UA Property, of DataType UInteger, represents the BACnet property Relinquish_Default.

It is the default value to be used for the Present_Value when all command priority values in the Priority_Array have a NULL value. See 3.2.1 for details on command prioritization.

This OPC UA Property, of DataType UInteger [], represents the BACnet property Fault_Values.

The Fault_Values provide the values used by the fault state algorithm to determine whether the monitored value is in a fault state.