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).