Improving OPC UA Publish-Subscribe Mechanism over UDP with Synchronization Algorithm and Multithreading Broker Application
Abstract
:1. Introduction
- -
- To provide an analysis of the OPC UA interfacing using the Publish-Subscribe paradigm regarding real-time constraints and role distribution between entities, considering the current status of developments and some well-founded interfacing strategies from the automotive sector;
- -
- To conceive and implement a solution regarding OPC UA Publish-Subscribe over UDP mechanism focused on a synchronization algorithm and a multithreading broker application that achieves real-time reactions and higher efficiency in order to extend the QoS and the applicability of the interfacing. The solution foresees to reduce the magnitude of the loosely coupled subscriber and publisher, the difficulty of sending larger volumes of data for various subscribers at high speeds, and the charge on the network and services in terms of polling and filtering. Availability and safety have to guide the approach, in that the solution must handle faults occurrence, focusing on fault detection, tolerance, and recovery.
2. Materials and Methods
2.1. Publish-Subscribe Mechanism: Design and Architecture
2.2. Time Synchronization in the Context of OPC UA and TSN Technology
3. Case Study and Results
3.1. Architecture
3.2. Case Study
3.2.1. The OPC UA Publisher
3.2.2. The Broker Application
- -
- xCF for subscriber1, where 0xC is the desired data for subscriber1 and 0xF the ID, and,
- -
- xDA for subscriber2, where 0xD is the desired data for subscriber2 and 0xA the ID.
3.2.3. The OPC UA Subscribers
3.2.4. Synchronization Algorithm
- The Subscriber receives information that the OPC UA receive function classifies as invalid data (not having the form of a network message or the operation haven’t been executed properly from network specific reasons), meaning that there is no way of knowing when the message will arrive and the re-execution of this function will eventually provide the desired message.
- The Subscriber receives a network message but, has a different type than the one desired and defined by the OPC UA protocol, again meaning that there is no way of knowing when the message of the desired type will arrive and the re-execution of the receive function will eventually provide the desired message.
3.3. Results
- The Publisher is implemented in a more abstract way than in the usual case, transmitting information for 2 subscribers with different preferences and time expectation by only using a basic configuration through a single Published DataSet. This can be seen as an advantage for transmitting larger amounts of data with less effort.
- The broker application is using multithreading, so it is fast and the 2 components are working independent. Viable for operations with high complexity in cases of large scale applications.
- The broker application is storing amounts of data that are passing form one side to the other. Data Buffering can be of interest is many cases with the OPC UA protocol.
- The broker app can publish the information (last viable stored data) if needed, even in the case were the Publisher shuts down, serving as a backup server. In this way, some of the roles of the entities involved are taken over by other entities (in this case the publishing role), making the system more prepared in cases of failure. Also, safety measures can be implemented on the broker app to inform the data consumers about a malfunction with the source of data.
- The broker application is providing data at the desired time intervals and by using the encoding strategy and the synchronization algorithm, it makes sure that the data is provided by delivering it at a stable rate (not faster that it is needed) in an efficient way.
- The Subscribers are totally decoupled from the source of the information, without knowing any details from the main Publisher. This improves the concept of the Publisher-Subscriber mechanism as described in [12], “Publishers and Subscribers are loosely coupled. They often will not even know each other. Their primary relation is the shared understanding of specific types of data (DataSets), the publish characteristics of messages that include these data, and the message oriented middleware”.
- The synchronization algorithm allows for the Subscribers to avoid as much as it can be avoided the Polling state and the filtering operations of different types. This translates to increased efficiency and decreased computational effort and resource usage for the host devices for the Subscriber entities.
- The synchronization algorithm assures the Subscribers that the information will pe present at the right moment in time, in normal cases avoiding the polling state, providing also resync possibilities. This gives importance to the way of how the information is published (at a certain point in time), so by synchronizing the broker app and the Subscriber, real time requirements are achieved, and the solution can be targeted for controller-to-controller scenarios.
- The current implementation is different from the broker used for the AMQP and MQTT transport protocols described in [12], on the design with the broker APP all involved entities have a common understanding of the OPC UA data types, all links involved in the transmission chain being OPC UA applications.
4. Discussion and Conclusions
Author Contributions
Funding
Conflicts of Interest
References
- Minchala, L.I.; Peralta, J.; Mata-Quevedo, P.; Rojas, J. An Approach to Industrial Automation Based on Low-Cost Embedded Platforms and Open Software. Appl. Sci. 2020, 10, 4696. [Google Scholar] [CrossRef]
- Nicolae, A.; Korodi, A.; Silea, I. An Overview of Industry 4.0 Development Directions in the Industrial Internet of Things Context. Rom. J. Inf. Sci. Technol. 2019, 22, 183–201. [Google Scholar]
- Paszkiewicz, A.; Bolanowski, M.; Budzik, G.; Przeszłowski, Ł.; Oleksy, M. Process of Creating an Integrated Design and Manufacturing Environment as Part of the Structure of Industry 4.0. Processes 2020, 8, 1019. [Google Scholar] [CrossRef]
- Korodi, A.; Radu, M.A.; Crisan, R. Non-Invasive Control Solution inside Higher-Level OPC UA based Wrapper for Optimizing Groups of Wastewater Systems. In Proceedings of the IEEE 23rd International Conference on Emerging Technologies and Factory Automation (ETFA), Torino, Italy, 4–7 September 2018. [Google Scholar] [CrossRef]
- Nota, G.; Nota, F.D.; Peluso, D.; Toro Lazo, A. Energy Efficiency in Industry 4.0: The Case of Batch Production Processes. Sustainability 2020, 12, 6631. [Google Scholar] [CrossRef]
- Korodi, A.; Crisan, R.; Nicolae, A.; Silea, I. Industrial Internet of Things and Fog Computing to Reduce Energy Consumption in Drinking Water Facilities. Processes 2020, 8, 282. [Google Scholar] [CrossRef] [Green Version]
- González, I.; Calderón, A.J.; Figueiredo, J.; Sousa, J.M.C. A Literature Survey on Open Platform Communications (OPC) Applied to Advanced Industrial Environments. Electronics 2019, 8, 510. [Google Scholar] [CrossRef] [Green Version]
- Ye, X.; Hong, S.H. An AutomationML/OPC UA-based Industry 4.0 Solution for a Manufacturing System. In Proceedings of the 2018 IEEE 23rd International Conference on Emerging Technologies and Factory Automation (ETFA), Torino, Italy, 4–7 September 2018; pp. 543–550. [Google Scholar] [CrossRef]
- Gogolev, A.; Mendoza, F.; Braun, R. TSN-Enabled OPC UA in Field Devices. In Proceedings of the 2018 IEEE 23rd International Conference on Emerging Technologies and Factory Automation (ETFA), Torino, Italy, 4–7 September 2018; pp. 297–303. [Google Scholar]
- Gogolev, A.; Braun, R.; Bauer, P. TSN Traffic Shaping for OPC UA Field Devices. In Proceedings of the 2019 IEEE 17th International Conference on Industrial Informatics (INDIN), Helsinki, Finland, 23–25 July 2019; pp. 951–956. [Google Scholar] [CrossRef]
- Haskamp, H.; Orth, F.; Wermann, J.; Colombo, A.W. Implementing an OPC UA interface for legacy PLC-based automation systems using the Azure cloud: An ICPS-architecture with a retrofitted RFID system. In Proceedings of the 2018 IEEE Industrial Cyber-Physical Systems (ICPS), St. Petersburg, Russia, 15–18 May 2018; pp. 115–121. [Google Scholar] [CrossRef]
- OPC 10000-14: OPC Unified Architecture Part 14: PubSub. Available online: https://reference.opcfoundation.org/v104/Core/docs/Part14/ (accessed on 2 September 2020).
- Eckhardt, A.; Müller, S.; Leurs, L. An evaluation of the applicability of OPC UA Publish Subscribe on factory automation use cases. In Proceedings of the IEEE 23rd International Conference on Emerging Technologies and Factory Automation (ETFA), Torino, Italy, 4–7 September 2018; pp. 1071–1074. [Google Scholar]
- Pfrommer, J.; Ebner, A.; Ravikumar, S.; Karunakaran, B. Open Source OPC UA PubSub Over TSN for Realtime Industrial Communication. In Proceedings of the IEEE 23rd International Conference on Emerging Technologies and Factory Automation (ETFA), Torino, Italy, 4–7 September 2018; pp. 1087–1090. [Google Scholar] [CrossRef]
- open62541. Available online: https://github.com/open62541/open62541 (accessed on 17 August 2020).
- Peniak, P.; Bubenikova, E.; Spalek, J. Model of Integration Gateway for Communication of OPC/MQTT Devices. In Proceedings of the 2020 Cybernetics & Informatics (K&I), Velke Karlovice, Czech Republic, 29 January–1 February 2020; pp. 1–5. [Google Scholar] [CrossRef]
- MQTT Sparkplug/Tahu. Available online: https://www.cirrus-link.com/mqtt-sparkplug-tahu (accessed on 2 September 2020).
- SOME/IP Protocol Specification. Available online: https://www.autosar.org/fileadmin/user_upload/standards/foundation/1-0/AUTOSAR_PRS_SOMEIPProtocol.pdf (accessed on 17 August 2020).
- Vidal, I.; Bellavista, P.; Sanchez-Aguero, V.; Garcia-Reinoso, J.; Valera, F.; Nogales, B.; Azcorra, A. Enabling Multi-Mission Interoperable UAS Using Data-Centric Communications. Sensors 2018, 18, 3421. [Google Scholar] [CrossRef] [PubMed] [Green Version]
- Youssef, T.A.; Esfahani, M.M.; Mohammed, O. Data-Centric Communication Framework for Multicast IEC 61850 Routable GOOSE Messages over the WAN in Modern Power Systems. Appl. Sci. 2020, 10, 848. [Google Scholar] [CrossRef] [Green Version]
- Tarkoma, S. Publish/Subscribe Systems: Design and Principles, 1st ed.; Wiley: Hoboken, NJ, USA, 2012. [Google Scholar]
- Newman, W.S. A Systematic Approach to Learning Robot Programming with ROS, 1st ed.; Chapman and Hall/CRC: Boca Raton, FL, USA, 2017. [Google Scholar]
- Requirements on Time Synchronization. Available online: https://www.autosar.org/fileadmin/user_upload/standards/foundation/19-11/AUTOSAR_RS_TimeSync.pdf (accessed on 17 August 2020).
- Ioana, A.; Korodi, A. OPC UA Publish-Subscribe and VSOME/IP Notify-Subscribe Based Gateway Application in the Context of Car to Infrastructure Communication. Sensors 2020, 20, 4624. [Google Scholar] [CrossRef] [PubMed]
- OPC UA For Universal Robots. Available online: https://rocketfarm.no/software-products/opc-ua/ (accessed on 2 September 2020).
- Korodi, A.; Anitei, D.; Boitor, A.; Silea, I. Image-Processing-Based Low-Cost Fault Detection Solution for End-of-Line ECUs in Automotive Manufacturing. Sensors 2020, 20, 3520. [Google Scholar] [CrossRef] [PubMed]
Entity | Advantages | Disadvantages | Achievements |
---|---|---|---|
OPC UA Publishers |
|
| |
Broker App |
|
|
|
OPC UA Subscribers |
|
|
|
© 2020 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).
Share and Cite
Ioana, A.; Korodi, A. Improving OPC UA Publish-Subscribe Mechanism over UDP with Synchronization Algorithm and Multithreading Broker Application. Sensors 2020, 20, 5591. https://doi.org/10.3390/s20195591
Ioana A, Korodi A. Improving OPC UA Publish-Subscribe Mechanism over UDP with Synchronization Algorithm and Multithreading Broker Application. Sensors. 2020; 20(19):5591. https://doi.org/10.3390/s20195591
Chicago/Turabian StyleIoana, Alexandru, and Adrian Korodi. 2020. "Improving OPC UA Publish-Subscribe Mechanism over UDP with Synchronization Algorithm and Multithreading Broker Application" Sensors 20, no. 19: 5591. https://doi.org/10.3390/s20195591
APA StyleIoana, A., & Korodi, A. (2020). Improving OPC UA Publish-Subscribe Mechanism over UDP with Synchronization Algorithm and Multithreading Broker Application. Sensors, 20(19), 5591. https://doi.org/10.3390/s20195591