This blog begins a series on the nature and benefits of the OPC Unified Architecture (UA) and what it can mean to you as you implement industrial automation solutions. As we’ve discussed in previous blogs, OPC UA is a secure, platform-independent, scalable, and object-oriented architecture for representing and communicating information. By using OPC UA, information can be modeled so that applications can inherently derive its meaning and consequently make better decisions based on that meaning. This enables applications to gain intelligence that can lead to new and exciting outcomes in data management. In addition, OPC UA provides a mechanism to protect the confidentiality and integrity of information and to determine whether applications are trustworthy – a fundamental need of the industrial internet. We’ve previously discussed security on the OPC UA backbone, and in this and the next three blogs, we’ll unravel the structure of OPC UA and what it means to you.
The OPC UA ClientEdge control client applications, such as analytics and human-machine interfaces, fulfill specific use cases that bring benefit to end-users. For example, the human-machine interface might request all the information required to display a report or to trend related process variables in a chart. These client applications use OPC UA as the infrastructure to interact with servers to access information required by the use cases.
Figure 1 illustrates this interaction pattern where client applications make requests to the OPC UA Client API. The OPC UA Communication Stack then translates these requests into messages that are sent to the server through the underlying communication framework. The server processes the received requests and sends a response back to the OPC UA Communication Stack on the client. The OPC UA Communication Stack then delivers it to the client application through the OPC UA Client API. (The OPC UA Communication Stack provides low-level functionality for both the OPC UA client and server applications. To send a message, the stack provides functionality to encode, secure, and format the message. To receive a message, the stack provides functionality to decode, decrypt, and unpack the message.)
OPC UA clients can subscribe to receive notifications when an event occurs or when a data value changes. In this case, the events and data values are referred to as monitored items. The server will monitor these items and send notifications to the client in response to a publish request message from the client. This is the preferred method for clients to receive cyclical updates of variable values.
The OPC UA ServerOPC UA servers expose information for clients to find and consume. The collection of information that servers make available to clients is called the AddressSpace. The AddressSpace standardizes how objects are represented. These objects are defined in terms of variables, methods, and their relationships to other objects. The OPC UA AddressSpace unifies the three classic data models (Data Access, Alarm & Events, and Historical Data Access) into one information model. This unification makes it easy to connect the dots between data values that are read to events that are raised based on those data values.
The benefit of OPC UA, therefore, is platform independence, meaning the client can run seamlessly on Windows PCs or Linux PCs. Similarly, the servers can run on PCs (Windows/Linux) as well as on the real-time embedded PACs/PLCs over real-time OS such as QNX/vXWorks. This makes information ubiquitous.
Our next blog in this series discusses OPC UA objects and the things that comprise them, one of the characteristics of OPC UA that gives it its flexibility and security.