Part 19: Dictionary Reference
| Document number | OPC 10000-19 |
|---|---|
| IEC designation | IEC 62541-19 |
| Colloquially | Part 19 |
| Group | Utility |
Part 19 defines how a node points at an entry in an external semantic dictionary - an IRDI from the IEC Common Data Dictionary or eCl@ss, or a URI-identified entry. It gives a variable a machine-checkable meaning that does not depend on anybody agreeing on a BrowseName.
What problem it solves
A BrowseName tells you what a vendor called something. It does not tell you that the vendor's OutletTemp and another vendor's TempOut are the same physical quantity as defined by an external authority. Part 19 adds a reference from a node to an entry in a dictionary maintained outside OPC UA, so the semantics come from a body that curates them - typically the IEC Common Data Dictionary or eCl@ss - and two devices from different vendors can be compared without a hand-written mapping.
How it is modelled
Dictionary entries are represented as nodes in their own right, in a folder structure, with subtypes distinguishing an entry identified by an IRDI - the international registration data identifier used by the IEC and eCl@ss registries - from one identified by a URI. A dedicated reference type links the node being described to the dictionary entry describing it. The reference is non-hierarchical, so it adds semantics without disturbing the browse tree that clients already walk.
Where it is actually used
Two published models are its concrete users. The process-automation device information model carries IRDI references for its measurement and device properties, which is what lets a process instrument be described in eCl@ss terms while still being an ordinary OPC UA device. The powertrain models carry their own dictionary namespace on the same mechanism. Outside those, adoption is limited, and the reference is optional in the models that define it - so its presence has to be checked, not assumed.
What it does not give you
A dictionary reference gives identity and meaning, not values, units or ranges. The engineering unit and range still come from the Part 8 metadata on the node itself. Nor can you dereference an IRDI from the server: resolving it to a human-readable definition means having access to the external dictionary, and the major dictionaries are separately published and in some cases licensed. Plan for that access if the semantics are meant to be used programmatically rather than recorded.
What it defines
| Concept | What it is |
|---|---|
| Dictionary entry node | A node representing one entry in an external dictionary, so the reference target is a first-class part of the address space rather than an opaque string. |
| IRDI-identified entries | Entries keyed by an international registration data identifier, the identifier scheme used by the IEC Common Data Dictionary and eCl@ss registries. |
| URI-identified entries | Entries keyed by a URI, for dictionaries and ontologies that identify their concepts that way rather than with an IRDI. |
| Dictionary reference type | The non-hierarchical reference linking a described node to its dictionary entry. Adds semantics without changing the browse hierarchy. |
| Dictionary folder structure | Where a server publishes the dictionary entries it references, so a client can enumerate the semantics in use rather than discovering them node by node. |
| The IRDI dictionary namespace | A published namespace, http://opcfoundation.org/UA/Dictionary/IRDI, under which the standard IRDI-based entries are modelled for reuse across companion models. |
| Process-automation device usage | The process-automation device information model is the flagship user, carrying IRDI references on its measurement and identification properties. |
| Powertrain usage | The powertrain models ship their own dictionary content on the same mechanism, which is the second real-world example to look at. |
Do you need to read it?
Modellers building a companion specification who need cross-vendor semantics rather than an agreed spelling, and anyone integrating process instrumentation where eCl@ss or the IEC dictionary is already the plant's reference. For most machine-data projects this part is background: useful to recognise, rarely something you implement.
Traps that trace back to this part
- A dictionary reference is semantics only. It does not carry a value, a unit or a range, so a node with a perfect IRDI reference and no EURange or EngineeringUnits is still unscalable. The Part 8 metadata is still required.
- You cannot resolve an IRDI from the server. Turning it into a human-readable definition requires the external dictionary, which is published separately and in some cases licensed. Confirm that access exists before designing a pipeline that depends on resolving identifiers at runtime.
- The reference is optional in the models that use it. A device claiming to implement a model that defines dictionary references may expose none of them, so browse for the references on a real device during evaluation instead of inferring them from the model version.
Last verified 7 September 2026 against OPC UA 1.05.07. The specification parts themselves are published by the OPC Foundation. OPC UA Connect is an educational resource and is not affiliated with the OPC Foundation.