IEC 62541-5 defines the Information Model of the OPC Unified Architecture (OPC UA). It specifies a standardised set of Nodes that populate a Server’s AddressSpace — including type definitions, standard instances for diagnostics, and entry points into vendor-specific data.
This article provides a deep technical walkthrough of the standard, covering its core architectural concepts, Node taxonomy, ObjectTypes, VariableTypes, ReferenceTypes, DataTypes, the Server Object, State Machines, and the File Transfer mechanism defined in its normative annexes.
Table of Contents
1. Introduction and Scope
OPC UA (Unified Architecture) is the successor to the classic OPC specifications and is published as the IEC 62541 multi-part international standard. While earlier OPC standards were tightly coupled to Microsoft COM/DCOM technology, OPC UA is platform-independent, service-oriented, and designed for secure communication across industrial automation and enterprise systems.
Part 5 of IEC 62541 defines the OPC UA Information Model. It specifies the standardized structure of data that every compliant OPC UA server exposes in its Address Space.
In simple terms, this document answers the question:
“What does a standard OPC UA server look like internally?”
The Information Model ensures interoperability by providing a shared vocabulary of nodes, objects, variables, and relationships.
1.1 Purpose of the Standard
The Information Model provides a standardized structure that allows OPC UA clients to interact with servers in a consistent way.
It defines:
- Standard ObjectTypes and VariableTypes describing server capabilities and diagnostics
- Reference hierarchies linking nodes in the Address Space
- Standard DataTypes used by OPC UA services
- The structure of the Server Object
- Normative extensions such as State Machines and File Transfer
1.2 Relationship to Other Parts of IEC 62541
IEC 62541-5 builds on other OPC UA specifications.
| Part | Title | Role |
|---|---|---|
| IEC 62541-3 | Address Space Model | Defines Nodes, Attributes, and References |
| IEC 62541-4 | Services | Defines service calls used to interact with the Address Space |
| IEC 62541-6 | Mappings | Defines NodeIds for symbolic names |
| IEC 62541-7 | Profiles | Defines conformance profiles |
| IEC 62541-9 | Alarms & Conditions | Alarm and condition models |
| IEC 62541-10 | Programs | Program execution model |
| IEC 62541-11 | Historical Access | Historical data models |
2. Core Concepts of the OPC UA Address Space
The OPC UA server exposes information through an Address Space, which is a graph of interconnected nodes.
Every element in the system—devices, variables, methods, and events—is represented as a node.
2.1 Nodes and NodeClasses
Each node belongs to a NodeClass, which defines its attributes and behavior.
| NodeClass | Description |
|---|---|
| Object | Represents a system entity |
| Variable | Holds a data value |
| Method | Callable server function |
| ObjectType | Template for objects |
| VariableType | Template for variables |
| ReferenceType | Defines relationships between nodes |
| DataType | Defines data structures |
| View | Filtered view of the address space |
2.2 Attributes
Each node contains attributes describing its properties.
Common attributes include:
- NodeId
- NodeClass
- BrowseName
- DisplayName
- Description
- WriteMask
- UserWriteMask
Variables include additional attributes:
- Value
- DataType
- ValueRank
- AccessLevel
2.3 References
Nodes are connected through references, which define relationships between nodes.
References may be:
Hierarchical
Used for parent-child relationships.
Examples:
- HasComponent
- HasProperty
- Organizes
Non-Hierarchical
Used for associations.
Examples:
- HasTypeDefinition
- HasEncoding
2.4 NodeIds and BrowseNames
Each node is uniquely identified by a NodeId.
A NodeId contains:
- NamespaceIndex
- Identifier (numeric, string, GUID, or byte string)
Example symbolic path:
Server.ServerCapabilities.MinSupportedSampleRate
3. Standard Address Space Structure
The OPC UA Address Space begins with the Root node.
Below it are standard folders:
- Root
- Objects
- Types
- Views
Objects
Contains instances such as the Server Object and application objects.
Types
Contains type definitions:
- ObjectTypes
- VariableTypes
- ReferenceTypes
- DataTypes
Views
Provides filtered perspectives of the Address Space.
4. Standard ObjectTypes
ObjectTypes define templates for objects.
The root type is:
BaseObjectType
All ObjectTypes inherit from this base type.
4.1 ServerType and the Server Object
Every OPC UA server must expose a Server Object.
This object contains key components describing the server.
| Component | DataType | Description |
|---|---|---|
| ServerArray | String[] | URIs of known servers |
| NamespaceArray | String[] | Namespace URIs |
| ServerStatus | ServerStatusDataType | Server state and timing |
| ServiceLevel | Byte | Server availability indicator |
| Auditing | Boolean | Whether audit events are generated |
| ServerCapabilities | Object | Server capabilities |
| ServerDiagnostics | Object | Runtime diagnostics |
| VendorServerInfo | Object | Vendor extensions |
| ServerRedundancy | Object | Redundancy capabilities |
4.2 ServerCapabilitiesType
Defines server capabilities such as:
- supported profiles
- supported locales
- sampling rate limits
- continuation point limits
Edition 2.0 added:
- MaxArrayLength
- MaxStringLength
- OperationLimits
4.3 Redundancy ObjectTypes
OPC UA supports several redundancy models:
- None
- Cold redundancy
- Warm redundancy
- Hot redundancy
- Transparent redundancy
- HotAndMirrored redundancy
4.4 EventTypes
Events represent significant system events.
The base event type is:
BaseEventType
All events inherit from this type.
Event properties include:
| Property | Description |
|---|---|
| EventId | Unique identifier |
| EventType | Type of event |
| SourceNode | Node generating event |
| SourceName | Human readable source |
| Time | Event occurrence time |
| ReceiveTime | Time received by server |
| Message | Event message |
| Severity | Event severity |
5. Standard VariableTypes
VariableTypes define templates for variables.
All VariableTypes inherit from:
BaseVariableType
Base Variable Types
PropertyType
Represents metadata about nodes.
Example:
EngineeringUnits
BaseDataVariableType
Used for data variables such as measurements.
Diagnostics VariableTypes
OPC UA servers expose diagnostic variables.
Examples:
- SessionDiagnosticsVariableType
- SessionSecurityDiagnosticsType
- SubscriptionDiagnosticsType
These provide monitoring information about sessions and subscriptions.
6. Standard ReferenceTypes
ReferenceTypes define relationships between nodes.
Hierarchical References
Used to build the address space structure.
Examples:
- HasComponent
- HasProperty
- Organizes
- HasSubtype
Non-Hierarchical References
Examples:
- HasTypeDefinition
- HasEncoding
- HasDescription
- GeneratesEvent
7. Standard DataTypes
DataTypes define the structure of values stored in variables.
Primitive DataTypes
Examples include:
- Boolean
- Int32
- UInt32
- Float
- Double
- String
- DateTime
- Guid
- ByteString
Structured DataTypes
Examples include:
- ServerStatusDataType
- BuildInfo
- SessionDiagnosticsDataType
- ModelChangeStructureDataType
These structures allow complex information to be represented.
8. Modelling Rules
Modelling rules define how types translate into instances.
| Rule | Meaning |
|---|---|
| Mandatory | Must exist in instances |
| Optional | May exist |
| MandatoryPlaceholder | Required but defined in subtype |
| OptionalPlaceholder | Optional placeholder |
| ExposesItsArray | Array elements exposed as children |
9. The Server Object
The Server Object is located at:
Root → Objects → Server
It contains information about server status, capabilities, and diagnostics.
NamespaceArray
Maps namespace indices to namespace URIs.
Example:
0 = OPC Foundation
1 = Local server namespace
Servers must not modify entries while sessions are active.
10. State Machines
OPC UA defines state machines for modeling system behavior.
State machine types include:
- StateMachineType
- FiniteStateMachineType
- StateType
- TransitionType
These are used in several OPC UA specifications including programs and alarms.
11. File Transfer
Edition 2.0 introduced a standard FileType object.
This allows file access over OPC UA.
Properties include:
- Size
- Writable
- UserWritable
- OpenCount
- MimeType
Supported methods:
- Open
- Close
- Read
- Write
- GetPosition
- SetPosition
12. Key Design Principles
Properties vs Data Variables
Properties describe metadata about nodes.
Variables represent actual data.
Structured Variables
Structured values may expose individual fields as child variables to allow efficient subscriptions.
Extensibility
The model is designed to allow vendors to extend the information model without breaking compatibility.
13. Practical Implications
For Server Implementors
Servers must:
- implement the standard address space structure
- expose the Server Object
- follow NodeId mappings
- maintain NamespaceArray integrity
For Client Implementors
Clients can:
- discover server capabilities
- monitor server health
- subscribe to events
- recover monitored items
14. Summary
IEC 62541-5 defines the core OPC UA Information Model, providing a standardized structure for representing industrial data.
Key contributions include:
- standardized ObjectTypes and VariableTypes
- server capability and diagnostic models
- event and audit structures
- state machine modeling
- file transfer mechanisms
Together with other parts of IEC 62541, it forms the foundation of interoperable industrial communication systems used in SCADA, IIoT, and Industry 4.0 environments.
