A prototype implementation of deterministic OPC UA
Leveraging IoT software, line operators can send pre-saved recipes with more than 20 parameters from a web interface to an IoT Gateway, which distributes the instructions to machines on the line. This approach is more effective than the previous manual process of providing device connectivity to multiple PLCs.
OPC CLASSIC HAS ESTABLISHED ITSELF on the market as the standard for manufacturer-independent data exchange between applications. Since this standard is based on the COM/DCOM model from Microsoft, however, it is associated with a number of restrictions for the end user. This OPC technology is not suitable for communication over the Internet, for example, and cannot be used with firewalls or operated on non-Windows platforms; it also requires a wealth of specialized expertise for configuring data exchange between PCs.
To resolve this problem, the OPC Foundation developed OPC UA (Unified Architecture), a fully revised and expanded version of the OPC standard that also accommodates the additional needs and requirements from industry customers, such as support for security mechanisms, protection against data loss, the setup of redundant connections, and support for complex data structures.
OPC UA is a non-propriety version that is independent of the operating system, programming language or proprietary technologies deployed. It also supports scalability and high availability, and is Internet-capable. As a consequence, OPC UA has established itself over the last few years as the leading manufacturer-independent standard for data exchange between heterogeneous devices.
OPC UA architecture for simplified data exchange between applications.
Implementing the IIoT
For industry, with its many needs and requirements, the OPC UA standard is an ideal solution and accordingly has major potential for the future. In fact, design decisions made for OPC UA also considered its use as a data exchange technology for the future implementation of the industrial Internet (Industrial Internet of Things, IIoT) and Industrie 4.0 applications.
If we look a little more closely at the possible scenarios for an IIoT implementation, however, we quickly realize that their communication requirements are not perfectly matched by the communication features offered in the latest OPC UA standard. Some scenarios encountered require the implementation of communication strategies such as one-to-many, many-to-one and many-to-many, for example. Accordingly, the publisher/subscriber model is a better match for IIoT implementations than the client/server architecture defined in the OPC UA standard. The two use cases below offer a summary of the various use cases supported by the publisher/subscriber model.
High data exchange use cases
The following use cases have data exchange requirements that exceed an OPC UA client/server′s capabilities.
Public Subscription: Many clients require information about configuration changes for a list of variables. Data exchange takes place after initial system start-up and for each configuration change. The client/server model is not particularly efficient in handling this situation, for the following reasons:
- A large number of client/server connections need to be made.
- Each client needs to provide storage space for saving connection data and the various variable values.
- Handling messaging for all of the existing connections is a heavy workload for the server processor. This server processor workload increases still further if clients are not using the same sampling rate for the variables.
Secure Multicast: The server must send data to many clients. Data exchange is cyclic or takes place after every value change.
Many-to-One Publishing: One or more clients in a cloud require data from many (thousands of) devices situated behind a firewall. Data exchange is cyclic or triggered by a change in value, quality value, or alarm. This situation cannot be handled, as this volume of open connections cannot be processed in parallel.
Machine-to-Machine Communication: Machinery exchanges process data downstream with machine modules and upstream with process visualization systems; ;otal transfer times must be between 2 and 100 ms. Process data may contain control data and status information conformant to ISA Technical Report TR88.00.02 (DIN EN 61512), such as PackML/PackTags. Data exchange is cyclic.
Dynamic Network Connections: Mobile devices, such as optional machinery parts, mobile robots and mobile instruments, can be removed or added to a machine in a flexible fashion. This applies to robots supporting the full range of programming including the associated mobile devices, for example, and to remote procedure calls. Machinery and mobile devices have discrete control systems that need to communicate in a deterministic way. Some mobile devices are capable of performing multiple tasks (e.g. a mobile robot can weld at one location, perform adhesive work at another station and pick parts at a third station). When connecting a mobile device to a machine, an appropriate form of communication must be set up while taking the variable list and the mobile device′s functionality into account. Data exchange involves cyclic process data and remote function calls.
OPC UA Multi-HMI: Complex control systems need to provide multiple servers with data simultaneously. As one example, many HMI (Human Machine Interface) applications visualize identical information at multiple sites on the premises to ensure operators have access to the information wherever they are currently working. To extend support to specialist HMIs, it must be possible to exchange a range of predefined data records. A typical data exchange session can involve up to 30,000 data items sent between 50 to 100 clients, with a target refresh rate of 200 ms.
Data exchange is cyclic. In addition, asynchronous events need to be communicated simultaneously to multiple HMIs to ensure they are visible throughout the premises. Every time an operator acknowledges an alarm or uses an HMI to intervene in some way, these HMIs control the state of the associated event.
Control-to-Control Communication: There are two types of control-to-control communication. One type uses function blocks in a PLC program ("programmed control-to-control communication") while the other type uses a centralized configuration tool ("configured control-to-control communication"). The setup and modification of programmed control-to-control communication requires modifications to be made to the PLC program, while the setup and modification of configured control-to-control communication requires a standardized configuration interface, but no actual changes to the PLC program.
Data Flow: A server supplies a data flow of readings as fast as possible, whereby the reliability of this data transfer is not paramount. The data flow is either continuous or is transferred at high speed within a specified period of time. Accordingly, the exchange of data is either on-demand or permanent.
Management of Video/Audio Streaming: A server provides access to a system that is equipped with video and/or audio sources. This type of server uses OPC UA standard services and protocols to support control tasks such as zooming a camera or making changes to video and audio streaming settings. The video/audio stream itself is transferred on a separate channel using standard protocols for video/audio streaming.
Comparison of the OPC UA client/server and OPC UA publisher/subscriber communication models.
OPC UA Pub/Sub use cases
The following use cases require deterministic OPC UA publisher/subscriber data exchange.
Cyclic Control-to-Control Communication: During normal operation, laser cutting equipment relies on cyclic communication between control systems (PLCs, NC and laser control systems) with a cycle time of 1 ms. Since this communication is used to handle control tasks, latencies and deviations must be minimal. Alongside time-sensitive cyclic communication, non-critical cyclic and event-driven communication also takes place - for visualization data or data exchange with an MES or an ERP system, for example.
Event-Driven Control-to-Control Communication: During normal operation, a package identification system needs to exchange data not only with cameras and RFID systems but also with PLCs - e.g. for sorting work. Data exchange is event-driven (up to 18 events a second) and is triggered each time a package arrives. Since this communication is used to handle control tasks, latency needs to be very low (100 ms). Non-critical cyclic and event-driven communication also takes place.
Cyclic Communication between Smart Sensors and Control Systems: In laser distance measurement work, sensors exchange data cyclically with a master controller or actuator. Cycle times of 10 ms are required here, which leads to a data volume of 15 MB per second. Time synchronization is required to coordinate measurements taken by the various sensors.
Cyclic Communication between Robots and Tool Control Systems: The coordination of robot tools requires cyclic data exchange with a cycle time of 1 to 5 ms. Since this communication is used to handle control tasks, latency needs to be very low. Non-critical communication also takes place between the robot and the tool control system - when exchanging data with an MES or a database, for example.
Cyclic communication between machine control system and transport vehicle/carrier: Cyclic communication between the control system and mobile devices is required for transporting material to the plant. The target range for communication cycle times is 1 to 5 ms. Low latency ensures no side-effects occur when issuing commands to mobile devices. Non-critical communication takes place between the tool control system and carrier.
The two use cases described above are particularly difficult to implement by message transmission between a sender and a receiver, as is envisaged by the client/server model. For this reason, the OPC UA standard is currently being adapted to include a publisher/ subscriber communication model that is particularly suited to the transmission of multicast and broadcast messages.
Depending on the use case, various implementations of the OPC UA publisher/ subscriber communication model are possible. When implementing the IIoT use cases presented, all of which require a fast local network, the ideal option is to use connectionless secure communications based on the User Datagram Protocol (UDP) secure multicast network protocol. This enables the implementation of a lean and efficient protocol stack for message handling, while also supporting cyclic data exchange. This type of communication is characterized by low network loads in conjunction with the rapid and reliable exchange of data. The specified OPC UA information model does not need to be modified in this scenario.
Simple deployment of the OPC UA publisher/subscriber model alone cannot yet be used to implement all of the use cases. This is due to the need to provide support for deterministic data exchange. One possible solution here is the use of time-sensitive networking (TSN) standards for industrial Ethernet networks. This uses globally synchronized time responses in conjunction with a common schedule for all network components. Since this enables time slots to be reserved for the transmission of prioritized messages, this results in the provision of a guaranteed upper limit to the maximum latency of planned data traffic in a switched network.
OPC UA publisher and subscriber applications
IIoT feasibility study
In conjunction with the time-sensitive networking standard, the OPC UA publisher/subscriber model is theoretically capable of supporting the deterministic exchange of data required by IIoT implementations. Before deploying these two technologies in real-world applications, however, the practical feasibility of this approach must be verified. For this reason, Softing set up a pilot facility for testing the timing performance of OPC UA publisher/subscriber communication within a TSN network.
In designing this facility, Softing has applied over two decades of experience in OPC, combined with its universal device platform developed in-house on the basis of FPGA technology. This platform can be tailored to individual requirements simply by installing the right hardware and software on the FPGA.
Softing used the pilot facility to conduct an initial practice-oriented evaluation of real-world deviations from the specified cycle time. The results of this experiment showed that the use of time-sensitive networking can offer a significant improvement to deterministic time performance in the OPC UA publisher/subscriber communication model compared to standard OPC UA client/server communication. Increasing the network load does not create any communication problems. Other findings also showed that restricting messaging traffic did not result in a loss of bandwidth. This approach is an ideal solution to the special communication requirements for the IIoT applications discussed.
Dipl.-Inform. Georg Suess, Operational Marketing, Softing Industrial Automation.