Speaker
Description
It is common to find multiple PLCs controlling and protecting large scientific facilities. Through PLCs, process variables from a wide range of equipment flow across the infrastructure into the control system. Efficiently managing this data becomes increasingly challenging as system complexity grows.
At ALBA, the Modbus protocol has been used to communicate with PLC devices since the beginning. Although the protocol, designed in the 1970s, is fast and reliable, keeping data constantly updated within Tango device servers becomes challenging in large-scale systems. In addition, maintaining an external mapping between Modbus register addresses and Tango attributes requires strict accuracy, becoming a significant source of failures.
In the context of ALBA II, a survey of state-of-the-art PLC communication protocols was initiated with the aim of modernizing the infrastructure and providing a reliable communication layer for PLC systems. Within this context, OPC UA emerged as a strong candidate due to its powerful features. Its object-oriented information model, semantic node discovery, and subscription-based communication simplify integration and help ensure long-term maintainability.
To leverage these capabilities and integrate them into our control system, we adopted the modern Python library asyncua. Built on top of Python’s asyncio framework, this library enables asynchronous communication with OPC UA servers, introducing a modern concurrency model into our control system software stack. The transition from thread-based communication to an asynchronous architecture provides a scalable and maintainable foundation for future PLC integrations at ALBA II.
This presentation describes how the adoption of OPC UA as a new communication protocol has been achieved by using Tango Green Modes to integrate the asyncio concurrency model into ALBA II.
| Tags | device server, green modes, asyncio, opc ua |
|---|