What is OPC UA?
OPC UA connects machines, controllers, and IT systems across vendor and platform boundaries. The standard helps industrial data move securely, in a structured way, and reliably.
What is OPC UA?
OPC UA is a comprehensive communication standard for industrial systems. It defines how data is exchanged between machines and IT systems – independently of vendor, operating system, or programming language.
To do that, OPC UA defines not only data transport, but also data models, security mechanisms, and a consistent model for describing machine information.
For example, a Siemens PLC, a Beckhoff IPC, and a Python script on a Linux server can exchange data over OPC UA – without proprietary middleware or vendor-specific interfaces.
What does OPC UA stand for?
OPC today stands for Open Platform Communications, UA for Unified Architecture.
Open means the standard is publicly documented and free to use. Unified Architecture means that OPC UA brings the previously separate OPC Classic parts (for example OPC DA, OPC AE, and OPC HDA) together in one shared standard.
The standard is developed and maintained by the OPC Foundation. The industry consortium brings together companies from automation, IT, and industrial software, including Siemens, Rockwell Automation, Beckhoff, Microsoft, and ABB.
How does OPC UA work?
OPC UA supports two communication models: client-server for direct queries and Pub/Sub for distributing data to multiple receivers.
Client-server
A client queries data from an OPC UA server. This is typical for HMI, SCADA, MES, or diagnostic tools.
Pub/Sub
A system publishes data without knowing every receiver directly. This fits distributed plants, edge systems, and cloud connections.
Transport
OPC UA can use different paths: OPC UA TCP on the local network, HTTPS for web-oriented connections, and MQTT or AMQP for Pub/Sub scenarios.
OPC UA information model
The information model is one of the most important differences from other protocols such as Modbus. OPC UA does not only transmit values; it also describes what those values mean.
An OPC UA server provides its data in an address space. This address space is not a flat list of registers or tags, but a structured collection of nodes and relationships between those nodes.
NodeId
The unique address of a node in the OPC UA address space.
NodeClass
The type of node, for example variable, object, method, or type.
Attributes
Information such as current value, data type, timestamp, and quality.
References
Relationships to other nodes, such as assemblies, states, or methods.
As a result, an OPC UA server describes itself to a large extent. A client can browse the address space and discover which data, states, and functions a system offers.
A press, for example, can provide its axes, operating states, and methods in a structured way. An MES or SCADA system does not have to interpret this as a loose tag list, but can find it in the server model.
OPC UA client-server
In the client-server model, a client actively connects to a server and requests or writes data.
Typical operations:
- Browse: the client reads the server’s address space and discovers available data points.
- Read: the client reads the current value of one or more nodes.
- Write: the client writes a value into a node (e.g. setting a setpoint).
- Subscribe: the client subscribes to data points. The server pushes changes automatically – without the client having to poll continuously.
- Call: the client calls a method on the server (e.g. “activate recipe”).
The client-server model is ideal for direct 1:1 or 1:n connections between machines and higher-level systems on the local network.
OPC UA Pub/Sub
With OPC UA Pub/Sub (introduced in part 14 of the specification), OPC UA adds a publish/subscribe model – similar to MQTT, but with the structured OPC UA information model.
- The publisher sends data packets (NetworkMessages) to a broker or via UDP multicast.
- The subscriber receives the matching messages without being directly connected to the publisher.
This lets a PLC publish its data once while multiple systems use it at the same time – for example SCADA, a time-series database, or a cloud application.
Sparkplug B is a separate MQTT specification for topic structure, payloads, and session state. OPC UA PubSub over MQTT uses OPC UA JSON or UADP NetworkMessages. A gateway can translate between the two, but Sparkplug is not an OPC UA PubSub mapping.
OPC UA security
OPC UA treats security as a fixed part of the standard, not as a later add-on.
| Area | Implementation |
|---|---|
| OPC UA TCP channel security | OPC UA Secure Conversation with Sign or SignAndEncrypt |
| HTTPS and WebSockets | Transport security through TLS |
| MQTT PubSub | TLS to the broker; UADP can additionally provide end-to-end message security |
| Application authentication | X.509 application certificates |
| User access | Anonymous access, credentials, certificates, and role-based permissions depend on the profile and server |
OPC UA uses certificates so servers and clients can prove their identity. During connection setup, each side can check whether the other side’s certificate is trusted – similar to HTTPS in the browser.
Certificates have to be managed. In small plants this is often done manually. In larger environments, certificates are usually distributed and renewed through a PKI infrastructure or central certificate management.
OPC UA vs MQTT, OPC DA, Modbus, PROFINET
| OPC UA | MQTT | OPC DA | Modbus | PROFINET | |
|---|---|---|---|---|---|
| Standardization | OPC Foundation, IEC 62541 | OASIS | OPC Foundation, OPC Classic | Modbus Organization | PI, IEC 61158/61784 |
| Information model | Structured, self-describing | No native model; topics and payload | Flat items/tags | Register addresses | Device and application profiles |
| Security | Built-in (OPC UA Secure Conversation, certificates) | Via TLS and broker access | Windows DCOM | Not built into the base protocol | PROFINET Security and network segmentation |
| Platform | Platform-independent | Platform-independent | Windows/COM-DCOM | Broadly supported | Multi-vendor, Industrial Ethernet |
| Use | Machine and OT→IT integration | IoT telemetry, IIoT | Legacy SCADA | Field devices, brownfield | Real-time field communication |
| Timing | Milliseconds, depending on stack and network | Milliseconds to seconds, depending on broker and QoS | Milliseconds, depending on Windows/DCOM | Milliseconds, depending on polling and bus | Real-time capable up to IRT |
OPC UA vs MQTT
OPC UA and MQTT solve different problems. OPC UA is useful when industrial data needs to be described in a structured way and read directly from machines or controllers. MQTT is useful when data needs to be distributed efficiently to multiple systems, for example cloud applications, MES, or databases. In many architectures both are combined: OPC UA for machine connectivity, MQTT for forwarding the data.
OPC UA vs OPC DA
OPC DA is the older Windows-based OPC variant. It is based on COM/DCOM and closely tied to classic Windows environments. OPC UA replaces that approach with a platform-independent architecture, an integrated security model, and a structured information model.
OPC UA vs Modbus
Modbus is simple and robust, but it barely describes data by itself. A register usually provides only an address and a value; meaning, unit, and context have to be maintained outside the protocol. OPC UA can provide this information directly in the model. In brownfield plants with existing Modbus devices, a gateway is often more sensible than replacing working hardware.
OPC UA vs PROFINET
PROFINET and OPC UA solve different tasks. PROFINET connects controllers with field devices such as drives, I/O modules, and sensors in real time. OPC UA connects machines and controllers with SCADA, MES, ERP, or cloud systems. Modern plants often use both: PROFINET in the field, OPC UA toward IT and higher-level systems.
OPC UA in practice: PLC, SCADA, MES, gateway
PLC
Modern controllers such as the Siemens S7-1500, the Beckhoff CX series, or B&R X20 have integrated OPC UA servers. The PLC provides its address space directly. SCADA or MES systems can connect and read data points without additional hardware.
SCADA
SCADA systems such as Ignition, WinCC Unified, or Zenon support OPC UA directly. The advantage: controllers from different vendors can be connected through the same interface.
MES and ERP
MES systems use OPC UA to retrieve data from production – unit counts, scrap, machine states, setup times. The structured information models (e.g. umati for machine tools) make this possible without manual tag configuration.
OPC UA gateway
In brownfield plants without integrated OPC UA support, a gateway is often the simplest path. It connects existing interfaces such as Modbus, PROFIBUS, S7, or MQTT with OPC UA and provides the data as an OPC UA server. The control logic remains unchanged and the plant can keep running.
OPC UA and Industry 4.0
OPC UA is a central interoperability standard for Industry 4.0 and IIoT. Several initiatives build directly on it:
- umati (universal machine technology interface) – an initiative for open, standardized interfaces based on OPC UA Companion Specifications, including machine tools, robots, and plastics machinery.
- RAMI 4.0 – the reference architecture model for Industry 4.0 from Plattform Industrie 4.0 uses OPC UA as an important standard for the communication layer.
- Manufacturing-X – an initiative for open, sovereign data spaces in industrial value chains. OPC UA and AAS are intended to make machine data usable in a consistent way across companies and systems.
- Asset Administration Shell (AAS) – a standardized model for digital twins of machines, components, and plants. Together with OPC UA, asset information can be provided in a consistent way.
In short, OPC UA connects machines, plants, and IT systems. Combined with MQTT, edge systems, data platforms, and governance, it becomes part of a resilient Industry 4.0 architecture.
OPC UA with Siemens and TIA Portal
Supported S7-1500 CPUs provide the OPC UA server from firmware V2.0 onward. It is disabled by default and requires a CPU-dependent runtime license to operate. Configuration is done in the TIA Portal:
- Enable the OPC UA server in the CPU properties.
- Define the address space: which variables are exposed?
- Security settings: certificates, authentication, security mode.
- Optional: an OPC UA client on the PLC for machine-to-machine communication.
Older controllers such as the S7-300 or S7-400 do not have integrated OPC UA support. In those cases, an external OPC UA gateway or wrapper is usually used, for example on an IPC with S7 communication.
The Siemens documentation in the TIA Portal is detailed. In practice, the biggest hurdle is often certificate management, especially in environments without central PKI management.
Well-known OPC UA tools and stacks
The OPC UA ecosystem ranges from free tools for tests and prototypes to commercial, certified stacks for production use.
Free client
UaExpert
The standard client (Unified Automation) for browsing OPC UA servers, free for Windows.
Python stack
FreeOpcUa
Python stack for OPC UA client and server, good for prototypes and integration projects.
Open source / embedded
open62541
Open-source C implementation, suitable for embedded systems and production use.
Java stack
Eclipse Milo
Java stack from the Eclipse Foundation for client and server implementations.
Commercial SDKs
Unified Automation & Prosys
Unified Automation (C++/.NET) is widely used in products. Prosys OPC UA offers a Java stack and a Simulation Server for testing.
Gateway
Kepware / KEPServerEX
OPC UA gateway for hundreds of protocols, widely used in SCADA environments.
FAQ
What is OPC UA in simple terms?
OPC UA is a common language for industrial machines and IT systems. Instead of proprietary, vendor-specific interfaces, PLCs, SCADA, MES, and cloud platforms can all communicate over OPC UA – securely, in a structured way, and independently of platform.
What is the difference between OPC UA and OPC DA?
OPC DA is the older Windows-based OPC variant. It is based on COM/DCOM and closely tied to classic Windows environments. OPC UA replaces that approach with a platform-independent architecture, an integrated security model, and a structured information model.
Is OPC UA the same as MQTT?
No. OPC UA is a comprehensive standard with an information model, security, and communication models. MQTT is a pub/sub protocol for efficiently forwarding messages. In many architectures both are combined: OPC UA for machine connectivity, MQTT for forwarding the data.
Which PLCs support OPC UA directly?
Siemens S7-1500 (from firmware V2.0), Beckhoff TwinCAT 3, B&R X20/X90, Schneider Electric Modicon M580, and ABB AC500 V3 support OPC UA directly. For older controllers without integrated OPC UA support, an OPC UA gateway is often the simplest path.
Is OPC UA secure?
OPC UA treats security as a fixed part of the standard. Message signing and encryption, certificates, and permissions are supported. The decisive factor is configuration: an OPC UA server with Security Mode None in an unsegmented network remains insecure, regardless of the protocol.
What does OPC UA cost?
The specification is freely available. There are free open-source stacks such as open62541, FreeOpcUa, and Eclipse Milo. Commercial SDKs and certified stacks carry license fees but are useful for many product applications. Running the OPC UA server on a Siemens S7-1500 requires a CPU-dependent runtime license.