Skip to content
Start free evaluation

OPC UA overview

OPC UA (OPC Unified Architecture) is a platform-independent standard for exchanging data between industrial equipment and software. The OPC Foundation publishes it as the OPC 10000 series, and the same content is standardized as IEC 62541. The pages in this section explain the concepts you need for PDComm OPC UA and point you to the part of the standard that defines each one.

The standard is split into parts. These pages use short names such as Part 4; the formal name is OPC 10000-4.

Part Title What these pages use it for
Part 1 Overview and Concepts Overall concepts and terms
Part 2 Security Model Application authentication, message security, user authentication
Part 3 Address Space Model Nodes, NodeClasses, references
Part 4 Services Discovery, SecureChannel, Session, Browse, Read/Write, Call, Subscription and History services
Part 5 Information Model The Server object, base types, event types
Part 6 Mappings UA Binary encoding, opc.tcp transport, secure conversation
Part 7 Profiles Security policies and feature profiles
Part 9 Alarms and Conditions Alarm and condition state machines
Part 11 Historical Access History reads and continuation points
Part 12 Discovery and Global Services Certificate management and trust lists
Part 13 Aggregates Aggregated history
Part 14 PubSub Publish-subscribe communication

You can read the specifications on the OPC Foundation reference site (reference.opcfoundation.org). These pages don’t reproduce the specification text; they tell you where to look.

OPC UA defines two ways to communicate.

In the client-server model, a client connects to a server, sends requests and receives responses over a secure channel and a session. The server exposes its data as an address space, a graph of nodes. Part 4 defines the services; Part 6 defines the opc.tcp transport and the UA Binary encoding.

In the PubSub model, a publisher sends sets of values as network messages, and subscribers receive them. Publisher and subscriber don’t need to know each other. Messages travel directly over UDP unicast or multicast, or through a broker such as an MQTT broker. Part 14 defines this model.

Client-server PubSub
+--------+ Request (Read, Browse ...) +---------+ +-----------+ NetworkMessage +------------+
| Client | ---------------------------> | Server | | Publisher | ---------------> | Subscriber |
| | <--------------------------- | address | | | UDP, or MQTT | |
+--------+ Response | space | +-----------+ via a broker +------------+
one session over a secure channel +---------+ no connection, one-to-many

PDComm OPC UA comes in two kinds of deliverables.

Deliverable Package (profile) Contents
SDK native, qt, dotnet C ABI 0.2, C++ RAII header, QtCore client worker, .NET assembly PDComm.OpcUa, examples
Simulator apps Qt GUI simulator, headless program, MCP server

The following table lists the features of each part. All of them talk opc.tcp with the UA Binary encoding.

Part Features
SDK client Security policies Basic256Sha256, Aes128_Sha256_RsaOaep and Aes256_Sha256_RsaPss (None when explicitly allowed), anonymous users and user name and password, and any UA Binary service request your application encodes (Browse, Read, Write, Call, Subscription, MonitoredItem, events and alarms, historical reads)
SDK server (in-memory) The same security policies (None when explicitly allowed), anonymous users, Browse, Read, Write, Call, Subscription, MonitoredItem
Simulator The same security policies plus a None endpoint, anonymous users and user name and password, Browse, Read, Write, Call, Subscription, MonitoredItem, events, alarms and conditions, raw historical reads, PubSub (UADP over UDP unicast, UADP over MQTT)

The SDK client takes each service request as a complete UA Binary message, sends it over the secure channel and returns the validated response. Your application decides which services to call and encodes them. The ua_binary.h helper in the examples is deliberately small: it encodes only Read, Write, Browse and Call. Services explains this model in detail.

  1. Information model: nodes, NodeIds, references, DataValue and StatusCode
  2. Services: the connection sequence, the service sets and how the PDComm C ABI maps them
  3. Security: security policies, application certificates, trust and user tokens
  4. Subscriptions and the publish cycle
  5. Events, alarms and conditions
  6. Historical access
  7. PubSub

When you’re done, make your first connection with the quickstart.

OPC UA is a trademark of the OPC Foundation.