This VariableType defines the general characteristics of a DiscreteItem that can have more than two states. The MultiStateDiscreteType derives from the DiscreteItemType. It is formally defined in Table 8.

Table 8 – MultiStateDiscreteType definition

Attribute

Value

BrowseName

MultiStateDiscreteType

IsAbstract

False

ValueRank

−2 (−2 = ‘Any’)

DataType

UInteger

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the DiscreteItemType defined in 5.3.3; i.e. the Properties of that type are inherited.

HasProperty

Variable

EnumStrings

LocalizedText[]

PropertyType

Mandatory

Conformance Units

Data Access MultiState

EnumStrings is a string lookup table corresponding to sequential numeric values (0, 1, 2, etc.)

Example:

"OPEN"

"CLOSE"

"IN TRANSIT" etc.

Here the string "OPEN" corresponds to 0, "CLOSE" to 1 and "IN TRANSIT" to 2.

Clients should be prepared to handle item values outside of the range of the list; and robust servers should be prepared to handle writes of illegal values, by providing errorcode “Bad_OutOfRange”.

If the item contains an array then this lookup table shall apply to all elements in the array.

NOTE The EnumStrings property is also used for Enumeration DataTypes (for the specification of this DataType, see OPC 10000-3).

The StatusCode SemanticsChanged bit shall be set if the EnumStrings Property is changed (see 5.2 for additional information).