
Chapter 7
OPC UA
OPC (originally known as “OLE for Process Control”, now “Open Platform Communications”) is a collection of multiple
specifications, most common of which is OPC Data Access (OPC DA).
OPC Unified Architecture (OPC UA) was released in 2010 by the OPC Foundation as a backward incompatible standard to OPC
Classic, under the name of IEC 62541.
OPC UA has turned away from the COM/DCOM (Microsoft proprietary technologies) communication model of OPC Classic, and
switched to a TCP/IP based communication stack (asynchronous request/response), layered into the following:
• Raw connections
• Secure channels
• Sessions
7.1 OPC introduction
OPC UA defines:
• The transport protocol for communication (that can take place over HTTP, SOAP/XML or directly over TCP).
• A set of 37 'services' that run on the OPC server, and which clients call into, via an asynchronous request/response RPC
mechanism.
• A basis for creating information models of data using object-oriented concepts and complex relationships.
The primary goal of OPC is to extract data from devices in the easiest way possible.
The
Information Model
provides a way for servers to not only provide data, but to do so in the most self-explanatory and intuitive
way possible.
Further references to 'OPC' in this document will imply OPC UA. OPC Classic is not discussed in this document.
NOTE
Following are the typical scenarios for embedding an OPC-enabled device into a project:
• Manually investigate (“browse”) the server’s Address Space looking for the data you need using a generic, GUI client (such
as UaExpert from Unified Automation, or the FreeOpcUa covered in this chapter).
• Using References and Attributes, understand the format it is in, and the steps that may be needed to convert the data.
• Have a custom OPC client (integrated into the application) subscribe directly to data changes of the node that contains the
desired data.
In a typical use case:
• The OPC server runs near the source of information (in industrial contexts, this means near the physical process – for
example, on a PLC on a plant floor).
• Clients consume the data at run time (for example, logging into a database, or feeding it into another industrial process).
OPC-enabled applications can be composed: an industrial device may run an OPC client and feed the collected data into another
physical process, while also exposing the latter by running an OPC server.
7.2 The node model
Data in an OPC server is structured in
Nodes
. The collection of all nodes that an OPC server exposes to its clients is known as
an
Address Space
. Some nodes have a predefined meaning, while others have meaning that is unique to the
Information Model
of that specific OPC server.
NXP Semiconductors
Open Industrial User Guide, Rev. 1.8, 05/2020
User's Guide
89 / 199