Errata exists for this version of the document.
The MultiStateDictionaryEntryDiscreteBaseType VariableType is 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 associating DictionaryEntryType Nodes with HasDictionaryEntry References cannot be used with a MultiStateValueDiscreteType VariableType due to the EnumStrings Property being an Array, making this Type necessary. References can however be used for other VariableTypes. For example, the TwoStateDiscreteType can use HasDictionaryEntry References with SourceNode being the TrueState and FalseState Properties and TargetNode being the DictionaryEntry Nodes.
EnumDictionaryEntries is 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.
ValueAsDictionaryEntries provides 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 Property is implemented, it shall be writeable as well. Clients writing to the ValueAsDictionaryEntries Property shall use one of the DictionaryEntryType NodeIds defined 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 NodeIds represent the dictionary entries and can be generated with dictionary knowledge.