The MultiStateDictionaryEntryDiscreteBaseType VariableTypeis a subtype of the MultiStateValueDiscreteType. It provides dictionary entries for each of the possible states as well as the current state of the MultiStateValueDiscreteType. It is formally defined in Table 1.

Table 1– MultiStateDictionaryEntryDiscreteBaseType Definition

Attribute

Value

BrowseName

MultiStateDictionaryEntryDiscreteBaseType

IsAbstract

False

ValueRank

Scalar

DataType

Number

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the MultiStateValueDiscreteType defined in OPC 10000-8

HasProperty

Variable

EnumDictionaryEntries

NodeId[][]

PropertyType

Mandatory

HasComponent

Variable

ValueAsDictionaryEntries

NodeId[]

PropertyType

Optional

The normal approach of associatingDictionaryEntryType Nodes withHasDictionaryEntry References cannot be used with a MultiStateValueDiscreteType VariableTypedue to theEnumStrings Property being anArray, making this Type necessary. References can however be used for otherVariableTypes. For example, the TwoStateDiscreteType can useHasDictionaryEntry References with SourceNode beingtheTrueState andFalseState Properties andTargetNode being theDictionaryEntry Nodes.

EnumDictionaryEntriesis a two-dimensional array of NodeIds. The first dimension is used to list all possible dictionary entry values for the related variable in a specific dictionary (e.g. CDD or eCl@ss). The second dimension is used to reference this dictionary. The size of the first array dimension shall be the same size as the EnumStrings Property.

ValueAsDictionaryEntriesprovides a list of all dictionary entry values in the different dictionaries related to the current value of the variable. The order of the array entries shall be in the same order used by the EnumDictionaryEntries Property.

If an instance of this type is writeable and the optional ValueAsDictionaryEntries Propertyis implemented, it shall be writeable as well. Clientswriting to the ValueAsDictionaryEntries Propertyshall use one of the DictionaryEntryType NodeIdsdefined by the EnumDictionaryEntries Property. This will have the same result as writing the value attribute, but the client does not require knowledge of the values.

The NodeIdsrepresent the dictionary entries and can be generated with dictionary knowledge.