OPC UA (OPC Unified Architecture),
is a platform-independent industrial communication standard
that enables industrial devices from different manufacturers,
control systems, SCADA applications, and
higher-level software systems to exchange information
securely and in a standardized manner.
OPC UA is not merely a data reading and writing protocol.
It provides a comprehensive information modeling infrastructure
capable of defining the structure, meaning, relationships,
and state of data. Therefore, it can be used at different levels,
from small field devices to SCADA systems,
and from MES and ERP applications to cloud and IIoT systems.
OPC UA is a standard developed to facilitate communication
between different brands and technologies
in industrial systems.
A PLC from one manufacturer, a SCADA system from another manufacturer,
and data acquisition or analysis software from a third manufacturer
can exchange data with each other using a common communication
model over OPC UA.
One of the important features of OPC UA is that it is platform-independent.
Applications running on Windows, Linux, embedded systems,
and different hardware platforms can use OPC UA.
OPC UA is the modern architecture of the OPC standards family
developed and maintained by the OPC Foundation. OPC UA was
introduced in 2008 and brought together the functions of previous
OPC Classic technologies under an extensible architecture.
:contentReference[oaicite:1]{index=1}
Industrial facilities may contain numerous devices and
software from different manufacturers. PLC, RTU, inverter, power
analyzer, protection relay, SCADA, historian, MES, and ERP
systems may need to operate in the same environment.
Since each of these systems may use different communication
methods, data exchange between them can create a significant
integration problem.
OPC UA aims to reduce this problem by providing a common and
standardized communication layer between these different systems.
-
Communication between devices from different manufacturers
-
Data transfer to SCADA and HMI systems
-
Transfer of industrial data to higher-level systems
-
Integration with MES, ERP, and data analysis systems
-
Data exchange with IIoT and cloud systems
-
Use of standardized information models
OPC UA Server
An OPC UA Server is an application that provides
industrial data in accordance with the OPC UA
standard. The Server can read data from actual field
devices, provide information received from another
system, or publish data generated entirely by the
software itself through OPC UA.
- Providing data points
- Sharing real-time values
- Supporting data write operations
- Providing alarm and event information
- Creating information models
- Managing Client connections
OPC UA Client
An OPC UA Client is an application that connects
to an OPC UA Server and uses the data provided
by the Server.
A SCADA system, data logging software,
reporting application, or custom-developed
software can operate as an OPC UA Client.
- Discovering OPC UA Servers
- Browsing the Address Space
- Reading data
- Writing data
- Creating Subscriptions
- Receiving alarms and events
OPC UA Data Addressing for EOS Software (O#)
In the EOS SCADA OPC UA client, the data address
is specified using the NodeId
provided by the OPC UA Server.
The address starts with the O# prefix.
O#NODE_ID
For example, for a data point with the
ns=2;s=Channel1.Device1.Tag1
NodeId on the OPC UA Server:
O#ns=2;s=Channel1.Device1.Tag1
The valid NodeId provided by the
OPC UA Server must be used directly in the
OPC UA data address.
One of the most important concepts in OPC UA is the
Address Space.
The Address Space is the structure in which the
information provided by the OPC UA Server to the outside
world is organized.
In traditional protocols, a data item is often represented
only by an address or register number, whereas in OPC UA,
data can be represented using a much richer structure.
For example, a generator in a power plant can be
represented within a structure such as the following:
Plant
└── Generator01
├── Status
├── ActivePower
├── ReactivePower
├── Voltage
├── Current
├── Temperature
└── Start
In this way, the Client does not merely read a value;
it can also understand which equipment the value belongs to,
what type of value it is, and its relationships with
other objects.
The OPC UA Address Space and information modeling approach
are among the fundamental architectural features of the
standard.
:contentReference[oaicite:2]{index=2}
In OPC UA, every piece of information within the Address Space
can be represented as a Node.
A Node can represent a variable, object, method, data type,
or another type of information.
For example, the temperature information of a motor can be
represented as a Variable Node, while the motor itself
can be represented as an Object Node.
OPC UA Nodes have unique identifiers.
These identifiers are called NodeId.
In addition, information such as BrowseName
and DisplayName can be used so that users
and software can identify Nodes in a more understandable way.
In OPC UA, the concept of Namespace is used
to prevent information models created by different manufacturers
or applications from becoming mixed with each other.
The identity of a Node is generally evaluated together with
its Namespace. Therefore, in OPC UA applications, it is important
to evaluate the NodeId and Namespace information together rather
than looking only at the displayed names.
For example, an OPC UA Server may contain NodeIds such as the following:
ns=2;s=Plant.Generator01.ActivePower
ns=2;s=Plant.Generator01.Voltage
ns=2;s=Plant.Generator01.Temperature
The structure shown here is for illustrative purposes.
The actual NodeId formats depend on the design of the
OPC UA Server being used.
Reading and Writing Data with OPC UA
An OPC UA Client can read or write the values of Nodes
in the Server's Address Space for which it has
appropriate authorization.
For example, in a power plant, a Client can read the
following values:
- Active power
- Reactive power
- Voltage
- Current
- Frequency
- Temperature
- Pressure
- Flow rate
- Equipment operating status
- Alarm and status information
In systems that support writing, Clients with appropriate
permissions can write values or control commands to
the Server.
One of the important features of OPC UA is the
Subscription mechanism.
Instead of a Client repeatedly asking the Server
"has the value changed?", the Client can create a
Subscription and monitor the Nodes it is interested in.
When a value changes or specified conditions occur,
the Server can send a notification to the Client.
Each data point monitored within a Subscription can be
defined as a MonitoredItem.
This structure can provide significant advantages,
especially in SCADA, data acquisition, and historian
applications where a large number of data points are involved.
The OPC UA specification defines Subscription and MonitoredItem
structures among its fundamental services.
:contentReference[oaicite:3]{index=3}
One of the important features that distinguishes OPC UA
from traditional data communication protocols is its
Information Model approach.
It is possible to model not only the values of a device,
but also what the device is, what properties it has,
which values belong to it, and its relationships
with other objects.
For example, for a pump:
- Pump operating status
- Flow rate
- Pressure
- Motor speed
- Temperature
- Start and stop commands
- Alarm information
can be defined together within the information model
of the same object.
OPC Foundation also develops specialized information models
called Companion Specifications for different
industries and device types. These can provide standardized
models for energy, manufacturing, process, machinery, and
different industrial applications.
:contentReference[oaicite:5]{index=5}
Secure communication is of great importance in industrial
systems. OPC UA treats security as one of the fundamental
parts of its architecture.
Authentication
Supports authentication of Client and Server
applications and, when required, the identities
of users.
Encryption
Security mechanisms can be used to protect
the confidentiality of communication.
Certificates
Certificates can be used to securely identify
OPC UA applications and establish
trust relationships.
Secure Communication
The OPC UA security model can be used to
protect the integrity and security
of communication.
The OPC UA security architecture covers the
Publish-Subscribe communication model in addition to
Client/Server communication.
:contentReference[oaicite:6]{index=6}
In addition to the classic Client/Server communication
model, OPC UA also provides the
Publish-Subscribe (PubSub)
communication model.
In the Client/Server model, the Client connects to a
specific Server and uses its services, whereas in the
PubSub model, data can be published by a Publisher and
received by Subscriber applications interested in
that data.
This approach can be particularly useful in large
industrial and IIoT applications where many systems
need to use the same data.
OPC UA PubSub can be used with different transport methods.
In addition to UDP, the OPC UA specification also defines
transport options such as MQTT and AMQP.
:contentReference[oaicite:7]{index=7}
OPC UA can be used in a wide variety of applications
where data exchange is required between different
levels of automation.
-
SCADA and HMI systems
-
PLC and RTU systems
-
Power generation facilities
-
Factory automation
-
Process automation
-
Machine automation
-
Historian systems
-
MES applications
-
ERP integration
-
Data analysis
-
IIoT applications
-
Cloud systems
OPC UA is designed so that its scope can be extended
from the device level to enterprise and corporate
systems.
:contentReference[oaicite:8]{index=8}
Difference Between OPC UA and OPC DA
Although OPC DA and OPC UA serve the same purpose,
namely standardized data exchange between different
systems, their architectures are quite different
from each other.
| Feature |
OPC DA |
OPC UA |
| Core technology |
OPC Classic / COM technologies |
Platform-independent OPC UA architecture |
| Platform independence |
Limited |
Yes |
| Security |
Dependent on Windows/COM infrastructure |
Integrated security model |
| Information modeling |
Limited |
Advanced |
| Subscription |
Supported |
Advanced Subscription structure |
| Events / Alarms |
Separate specifications in the OPC Classic family |
Integrated information models and services |
| PubSub |
No |
Yes |
| Modern IIoT applications |
Limited |
Suitable |
OPC Foundation defines OPC UA as a technology that
combines the functionality of OPC Classic technologies
within a broader and platform-independent architecture.
:contentReference[oaicite:9]{index=9}
Key Concepts to Know When Learning OPC UA
For those new to OPC UA, learning the following
concepts greatly facilitates understanding
Client and Server applications.
-
OPC UA Server:
An application that provides data and information through OPC UA.
-
OPC UA Client:
An application that connects to a Server and uses its data.
-
Address Space:
The information space provided by the Server.
-
Node:
An information unit within the Address Space.
-
NodeId:
The unique identifier of a Node.
-
BrowseName:
The name used when browsing the Node in the address space.
-
Namespace:
A structure used to distinguish information models from one another.
-
MonitoredItem:
Data or an event added to a Subscription for monitoring.
-
Subscription:
A structure used to manage change and event notifications.
-
Information Model:
The modeling of data and objects in a meaningful structure.
-
PubSub:
A Publisher- and Subscriber-based communication model.
OPC UA is a comprehensive communication technology
developed to provide standardized and secure
information exchange between industrial systems.
It would not be correct to think of OPC UA merely as a
"data reading protocol." In addition to Client/Server
communication, it brings together many different
capabilities such as Address Space, information modeling,
Subscription, Events, Alarms, Historical Access,
security, and PubSub.
Thanks to these features, OPC UA has a wide range of
applications, from SCADA and HMI applications to
data collection systems, from production systems to
power generation facilities, and IIoT applications.
The fundamental architecture and standardized information
models of OPC UA are designed to facilitate the
interoperability of systems from different manufacturers
within the same industrial data infrastructure.
:contentReference[oaicite:10]{index=10}