This document describes the basic infrastructure an OPC UA Information Model may use to reference external dictionaries like IEC Common Data Dictionary or ECLASS. It defines ObjectTypes, VariableTypes and a ReferenceType and explains how they should be used.
The ObjectTypes are used to represent an external dictionary in an OPC UA AddressSpace. The ReferenceType is used to reference from Nodes in the AddressSpace to the dictionary entries. Such dictionary entries can be seen as external classification or external semantic information.
The type system of OPC UA already provides means to express the semantic of an OPC UA Object. As an example, OPC 10000-100 defines the DeviceType ObjectType expressing that instances of this ObjectType represent devices. Subtypes of the DeviceType are used to add vendor specific semantic. However, the classification and additional semantic of the device in terms of an external data dictionary is not specified further. This document provides means to represent that an Object is for example a differential pressure transmitter in the context of an IEC Common Data Dictionary. This allows clients to automatically retrieve and identify such devices.
This document is an integral part of this standard, that is, the types defined in this document shall be used as defined. However, it is not required but strongly recommended that a Server use the types defined in this document to refer to external dictionaries. The defined types may be subtyped to refine their behaviour.
When a Server references external dictionaries using the types defined in this document, it refers from OPC UA Nodes to dictionary entries. The Server may optionally also provide the hierarchy and content of the external dictionary. Resource consumption needs to be considered, especially in scenarios where the OPC UA Server is part of the firmware of a device.
The types and instances defined in this document are illustrated in Figure 1. The DictionaryEntryType is an abstract base type for dictionary entries. The IrdiDictionaryEntryType and the UriDictionaryEntryType provide concrete types that can be used to represent dictionary entries. The HasDictionaryEntry ReferenceType is used to refer an OPC UA Node to a dictionary entry. The DictionaryFolderType and the Dictionaries Object provide an optional capability to expose the hierarchy of a referenced dictionary.