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.
How the standard is organized
Section titled “How the standard is organized”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.
Two communication models
Section titled “Two communication models”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-manyPDComm OPC UA components
Section titled “PDComm OPC UA components”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.
Reading order
Section titled “Reading order”- Information model: nodes, NodeIds, references, DataValue and StatusCode
- Services: the connection sequence, the service sets and how the PDComm C ABI maps them
- Security: security policies, application certificates, trust and user tokens
- Subscriptions and the publish cycle
- Events, alarms and conditions
- Historical access
- PubSub
When you’re done, make your first connection with the quickstart.
OPC UA is a trademark of the OPC Foundation.