The OPC Unified Architecture (OPC UA) defines a service-oriented communication framework that enables secure and interoperable interaction between industrial systems. The operational interface between OPC UA clients and servers is defined through a set of standardized services described in IEC 62541-4, which specifies the OPC UA Service Model.
In OPC UA, all interactions between applications occur through services organized into logical service sets. These services allow clients to discover servers, establish secure communication channels, create sessions, browse the server address space, read and write data, invoke methods, and subscribe to data changes or events.
The service architecture enables modular and scalable industrial communication, making OPC UA suitable for distributed automation systems, cloud-integrated architectures, and Industrial Internet of Things (IIoT) environments.
Table of Contents
OPC UA Service Model
The OPC UA service architecture follows a request–response communication model.
In this model:
- a client sends a service request
- the server processes the request
- the server returns a response message
This mechanism ensures deterministic and structured communication between applications.
Typical service interaction:
Client → Service Request → Server
Server → Service Response → Client
The standard defines that servers process requests by decoding the message, locating the requested service, executing the requested operations, and returning success or failure results for each operation.
This design ensures reliable and predictable service execution across distributed industrial networks.
Service Request and Response Structure
Every OPC UA service message contains standardized headers.
Each request includes a RequestHeader, while each response contains a ResponseHeader.
The RequestHeader contains parameters such as:
- authenticationToken
- timestamp
- requestHandle
The ResponseHeader contains:
- serviceResult
- diagnostic information
- response timestamps
These parameters provide metadata for service execution and allow clients to track requests and responses.
Service Results and Status Codes
OPC UA services return results using StatusCodes.
Two levels of status are provided:
- Service-level result
Indicates whether the service call itself succeeded or failed.
- Operation-level result
Indicates the success or failure of each individual operation within the service.
The service result is included in the serviceResult field of the ResponseHeader.
Clients must evaluate both the service result and the individual operation results to determine whether the requested operations were successful.
OPC UA Service Sets
The OPC UA specification organizes services into Service Sets, which group related functionality.
According to IEC 62541-4, the following service sets are defined:
- Discovery Service Set
- SecureChannel Service Set
- Session Service Set
- NodeManagement Service Set
- View Service Set
- Query Service Set
- Attribute Service Set
- Method Service Set
- MonitoredItem Service Set
- Subscription Service Set
Each service set provides a specific category of functionality within the OPC UA communication framework.
Discovery Service Set
The Discovery Service Set enables OPC UA clients to locate servers and obtain information about available communication endpoints.
Key services include:
FindServers
Returns a list of OPC UA servers available on the network.
GetEndpoints
Provides endpoint descriptions including:
- transport protocol
- security policies
- security modes
- endpoint URLs
RegisterServer
Allows a server to register itself with a discovery server such as a Local Discovery Server (LDS).
These services enable automatic discovery and configuration of industrial systems.
SecureChannel Service Set
The SecureChannel Service Set establishes a secure communication channel between client and server.
Services include:
OpenSecureChannel
Creates a secure channel and negotiates security parameters such as encryption algorithms and security tokens.
CloseSecureChannel
Terminates the secure channel.
Secure channels ensure:
- confidentiality
- message integrity
- authentication of communication partners.
Session Service Set
Once a secure channel has been established, the client creates a session with the server.
A session represents an application-level connection that maintains communication state.
Session services include:
CreateSession
Creates a new session and returns a session identifier.
ActivateSession
Authenticates the user or application associated with the session.
Authentication methods may include:
- username/password
- X.509 certificates
- Kerberos
CloseSession
Closes an active session.
Cancel
Cancels a pending service request.
Sessions provide identity management and maintain communication context between client and server.
NodeManagement Service Set
The NodeManagement Service Set allows clients to modify the OPC UA address space.
Services include:
AddNodes
Creates new nodes in the address space.
AddReferences
Creates references between nodes.
DeleteNodes
Removes nodes from the address space.
DeleteReferences
Deletes relationships between nodes.
These services are typically used by configuration tools and advanced industrial applications.
View Service Set
The View Service Set enables clients to browse and navigate the OPC UA address space.
Services include:
Browse
Retrieves references from a node to related nodes.
BrowseNext
Retrieves additional browsing results when the initial result set is incomplete.
TranslateBrowsePathsToNodeIds
Converts hierarchical browse paths into NodeIds.
RegisterNodes
Registers nodes for faster access.
UnregisterNodes
Removes node registrations.
These services enable dynamic exploration of the server’s information model.
Query Service Set
The Query Service Set provides mechanisms for retrieving filtered subsets of information from the address space.
Services include:
QueryFirst
Executes a query and returns the first set of results.
QueryNext
Retrieves additional query results.
Query services allow clients to perform structured searches across complex information models.
Attribute Service Set
The Attribute Service Set enables clients to read or modify node attributes.
Services include:
Read
Retrieves attribute values from nodes.
Write
Modifies attribute values.
HistoryRead
Retrieves historical data stored by the server.
HistoryUpdate
Updates historical data values.
Because the value of a variable is represented as an attribute, these services allow clients to read and write process data.
Method Service Set
The Method Service Set allows clients to execute methods defined in the address space.
Service:
Call
Invokes a method associated with an object.
Methods may accept input parameters and return output parameters.
Example method:
StartMachine()
ResetAlarm()
CalibrateSensor()
Methods allow OPC UA clients to perform operations on industrial devices.
MonitoredItem Service Set
The MonitoredItem Service Set allows clients to monitor attributes or events.
Services include:
CreateMonitoredItems
Creates monitored items for variables or events.
ModifyMonitoredItems
Changes monitoring parameters.
SetMonitoringMode
Enables or disables monitoring.
SetTriggering
Defines triggering relationships between monitored items.
DeleteMonitoredItems
Removes monitored items.
Monitored items track data changes or events generated by nodes.
Subscription Service Set
The Subscription Service Set manages data subscriptions used for asynchronous communication.
Services include:
CreateSubscription
Creates a subscription object.
ModifySubscription
Updates subscription parameters.
DeleteSubscriptions
Deletes subscriptions.
Publish
Transfers notifications to the client.
Republish
Retransmits missed notifications.
SetPublishingMode
Enables or disables publishing.
TransferSubscriptions
Transfers subscriptions between sessions.
Subscriptions collect notifications generated by monitored items and deliver them to clients efficiently.
Typical OPC UA Service Workflow
A typical OPC UA communication sequence follows these steps:
- Discover server
- Retrieve endpoints
- Open secure channel
- Create session
- Activate session
- Browse address space
- Read or write attributes
- Create monitored items
- Create subscription
- Receive notifications
Example sequence:
Client → FindServers
Client → GetEndpoints
Client → OpenSecureChannel
Client → CreateSession
Client → ActivateSession
Client → Browse
Client → Read
Client → CreateSubscription
This workflow ensures secure and structured communication between OPC UA applications.
OPC UA Services in Industrial Automation
OPC UA services are widely used in industrial applications such as:
- SCADA systems
- manufacturing automation
- energy management
- industrial robotics
- process control systems
- Industrial IoT platforms
The service-oriented architecture enables scalable communication across distributed industrial environments.
Benefits of the OPC UA Service Model
The OPC UA service model provides several advantages:
Standardized communication interface
All interactions occur through defined service interfaces.
Interoperability
Different vendors can implement compatible clients and servers.
Security integration
Secure channels and sessions protect communication.
Efficient data monitoring
Subscriptions and monitored items reduce network traffic.
Conclusion
The OPC UA service architecture defined in IEC 62541-4 provides the operational framework that enables communication between OPC UA applications.
Through service sets such as discovery, session management, browsing, attribute access, and subscriptions, OPC UA enables secure and reliable interaction with industrial systems.
This service-oriented architecture allows OPC UA to support distributed industrial systems, Industry 4.0 architectures, and Industrial IoT platforms, making it one of the most important communication standards in modern industrial automation.
