One of the defining features of the OPC Unified Architecture (OPC UA) is its ability to represent complex industrial systems through a standardized semantic information structure. This capability is provided by the OPC UA Address Space Model, which defines how data, devices, methods, and relationships are represented inside an OPC UA server.
The address space model is specified in IEC 62541-3, which defines the architecture of nodes, references, attributes, and node classes used to represent industrial information in OPC UA systems.
Unlike traditional industrial protocols that only exchange raw values, OPC UA allows servers to expose rich, self-describing data structures that represent machines, sensors, processes, and relationships between them.
This semantic representation enables interoperability between industrial systems from different vendors, making OPC UA a key technology in Industry 4.0 and Industrial IoT architectures.
Table of Contents
Concept of the OPC UA Address Space
The address space represents the complete information model exposed by an OPC UA server.
Conceptually, the address space can be described as a directed graph of nodes connected by references. Each node represents an element of the industrial system such as a device, variable, method, or event.
The address space provides a hierarchical and relational structure that allows clients to explore and understand the structure of the system.
Example conceptual structure:
Factory
├── ProductionLine1
│ ├── RobotArm
│ │ ├── Temperature
│ │ ├── Speed
│ │ └── Status
│ └── Conveyor
│ └── MotorSpeed
This structure enables OPC UA clients to browse the server and discover available information dynamically.
Nodes in the OPC UA Address Space
The fundamental building block of the OPC UA address space is the Node.
Each node represents an element of the system and contains attributes describing its properties.
A node is uniquely identified by a NodeId, which is used by clients to access the node.
Nodes can represent:
- physical devices
- data variables
- methods
- object types
- reference types
- events
Nodes form the foundation of the OPC UA information modeling system.
Node Attributes
Each node contains a set of attributes that describe its characteristics.
Attributes provide metadata about the node and define how it can be used.
Common attributes include:
| Attribute | Description |
|---|---|
| NodeId | Unique identifier of the node |
| NodeClass | Type of node (Object, Variable, Method, etc.) |
| BrowseName | Name used during browsing |
| DisplayName | Human-readable name |
| Description | Optional description |
| WriteMask | Indicates writable attributes |
Variable nodes also include additional attributes such as:
| Attribute | Description |
|---|---|
| Value | Current value of the variable |
| DataType | Data type of the value |
| ValueRank | Indicates scalar or array |
| AccessLevel | Read/write permissions |
These attributes allow OPC UA clients to interpret and interact with nodes correctly.
Node Classes
The OPC UA specification defines several node classes, each representing different types of elements in the address space.
Object
Object nodes represent physical or logical entities in the system.
Examples:
- machine
- production line
- device
Objects may contain variables, methods, and other objects.
Variable
Variable nodes represent data values exposed by the system.
Examples:
- temperature
- pressure
- motor speed
- system state
Variables provide the actual data exchanged between servers and clients.
Method
Method nodes represent functions that can be executed by clients.
Examples include:
- start machine
- reset alarm
- calibrate sensor
Methods provide a standardized way to trigger actions on devices.
ObjectType
ObjectType nodes define templates for objects.
For example, a machine type could define:
- status variable
- operational mode
- start/stop methods
Object instances inherit properties from their type definitions.
VariableType
VariableType nodes define templates for variable structures.
For example:
- AnalogItemType
- DiscreteItemType
These templates define standard attributes such as engineering units and ranges.
ReferenceType
ReferenceType nodes define relationships between nodes.
Examples include:
- HasComponent
- Organizes
- HasTypeDefinition
- HasProperty
Reference types define the semantic structure of the address space.
DataType
DataType nodes define the data types used by variables.
Examples:
- Boolean
- Integer
- Double
- String
- Custom structures
Custom data types allow complex industrial information to be represented.
View
View nodes define subsets of the address space that simplify browsing.
Views are useful for large industrial systems where the address space may contain thousands of nodes.
References in the Address Space
Nodes are connected through references, which define relationships between nodes.
References form the edges of the graph structure.
Each reference has:
- a source node
- a target node
- a reference type
References may be hierarchical or non-hierarchical.
Hierarchical References
Hierarchical references define parent-child relationships in the address space.
Examples include:
- HasComponent
- HasProperty
- Organizes
These references allow clients to navigate the structure of the system.
Non-Hierarchical References
Non-hierarchical references represent associations between nodes that are not part of the hierarchical structure.
Examples include:
- HasTypeDefinition
- HasSubtype
- HasEventSource
These references enable flexible modeling of industrial systems.
Browsing the Address Space
OPC UA clients explore the address space using Browse services, which are defined in the OPC UA service model.
Browsing allows clients to:
- discover nodes
- navigate references
- retrieve metadata
Typical browsing workflow:
- Connect to OPC UA server
- Browse root node
- Discover objects and variables
- Retrieve node attributes
This dynamic discovery capability is a major advantage of OPC UA compared to legacy protocols.
Namespaces in OPC UA
To avoid naming conflicts, OPC UA uses namespaces to uniquely identify nodes and types.
A namespace is identified by a NamespaceIndex.
Example:
ns=2;i=1024
Components of the NodeId:
| Component | Meaning |
|---|---|
| ns | Namespace index |
| i | Identifier type |
| 1024 | Node identifier |
Namespaces allow multiple vendors to define their own data models without conflicts.
Modeling Industrial Systems
The address space allows industrial systems to be modeled in a structured way.
Example machine model:
PackagingMachine
├── Status
├── Temperature
├── ProductionCount
└── Start()
This model can represent both:
- data variables
- executable functions
This approach enables digital representation of industrial assets, which is essential for smart manufacturing.
Address Space Extensibility
A key advantage of the OPC UA address space model is its extensibility.
Vendors and organizations can extend the address space by defining:
- custom object types
- specialized variable types
- domain-specific information models
Examples include:
- robotics information models
- energy management models
- machine tool models
This extensibility allows OPC UA to support a wide range of industrial applications.
Address Space in Industrial Applications
The OPC UA address space model is widely used in industrial environments including:
- manufacturing automation
- energy management systems
- process control
- building automation
- industrial IoT platforms
Because the address space represents semantic relationships between devices and data, it enables higher-level systems to interpret industrial information automatically.
Benefits of the OPC UA Address Space Model
The address space model provides several key advantages:
Semantic Interoperability
Systems from different vendors can understand the meaning of data.
Structured Data Representation
Industrial systems can be represented as structured objects.
Extensibility
New device types and models can be added easily.
Dynamic Discovery
Clients can discover available data without prior configuration.
Conclusion
The OPC UA Address Space Model, defined in IEC 62541-3, provides the structural foundation for representing industrial systems within OPC UA servers.
By modeling industrial information as a graph of nodes connected by references, OPC UA enables rich semantic interoperability between industrial devices, control systems, and enterprise platforms.
This capability distinguishes OPC UA from traditional industrial protocols and makes it a cornerstone technology for Industry 4.0, digital twins, and Industrial IoT ecosystems.
