This abstract DataType is the base DataType for all enumeration DataTypes like NodeClass defined in 8.30. All DataTypes inheriting from this DataType have special handling for the encoding as defined in OPC 10000-6. All enumeration DataTypes shall inherit from this DataType.

Some special rules apply when subtyping enumerations. Any enumeration DataType not directly inheriting from the Enumeration DataType can only restrict the enumeration values of its supertype. That is, it shall neither add enumeration values nor change the text associated to the enumeration value. As an example, the enumeration Days having {‘Mo’, ‘Tu’, ‘We’, ‘Th’, ‘Fr’, ‘Sa’, ‘Su’} as values can be subtyped to the enumeration Workdays having {‘Mo’, ‘Tu’, ‘We’, ‘Th’, ‘Fr’}. The other direction, subtyping Workdays to Days would not be allowed as Days has values not allowed by Workdays (‘Sa’ and ‘Su’).