What is OPC UA

OPC Unified Architecture in practice: client/server and PubSub, transports, the address space, security and why it replaced classic OPC DA.

The idea

OPC UA (OPC Unified Architecture, IEC 62541) is a platform-independent standard for exchanging data and its meaning between industrial software and devices. A PLC, a drive or a SCADA server exposes an address space — a graph of nodes with values, types and relations — and a client reads, writes, subscribes or calls methods in it.

Unlike classic OPC DA (Windows DCOM), OPC UA runs on any operating system, has security built in and describes not only values but also their structure: a "Motor" object with its "Speed", "Current" and "Start" method, typed and documented.

Building blocks

ConceptMeaning
ServerApplication that exposes an address space (often embedded in the PLC)
ClientSCADA, HMI, MES, historian, engineering tool, test client
EndpointURL + security policy + security mode + user token types offered by a server
SessionLogical connection of one client, created on top of a secure channel
Node / NodeIdElement of the address space and its unique identifier
SubscriptionServer-side mechanism that pushes changes instead of polling
Information modelTypes describing a domain (companion specifications: PackML, MTConnect, PLCopen, robots…)

Communication patterns

  • Client/server — request/response services: Browse, Read, Write, Call, CreateSubscription. Default transport is binary opc.tcp, IANA-registered port 4840.
  • PubSub — publishers send data sets to many subscribers via UDP multicast or via brokers (MQTT, AMQP). Used for controller-to-controller and cloud data flows.

Where you meet it in automation

  • Most modern PLCs (S7-1500, CODESYS-based controllers, TwinCAT, Rockwell via gateways) contain an OPC UA server.
  • SCADA and historians collect data over OPC UA instead of vendor-specific drivers.
  • Machine builders publish standardized interfaces using companion specifications.

Typical first-day problems

  1. The client cannot connect because certificates are not trusted on either side — see OPC UA security.
  2. The endpoint URL returned by the server contains a hostname the client cannot resolve — see connecting a client.
  3. A tag "is not found": the NodeId uses the wrong namespace index — see NodeId.

Loading the map…

Sources

  1. OPC Unified Architecture — overview — OPC Foundation
  2. OPC 10000-3 Part 3: Address Space Model (v1.05) — OPC Foundation
  3. OPC 10000-4 Part 4: Services (v1.05) — OPC Foundation
  4. OPC 10000-6 Part 6: Mappings (v1.05) — OPC Foundation
  5. OPC 10000-7 Part 7: Profiles (v1.05) — OPC Foundation

Updated 2026-10-02