Программный комплекс для распределённой системы управления TANGO
Authors: Бондяков А.С. , Кондратьев А.О. 
Published: December 2024

В настоящее время, научные исследования в области физики высоких энергий предполагают использование ускорительных комплексов различного уровня сложности, экспериментальных установок, а также значительных вычислительных ресурсов. Для эффективного управления этими комплексами используются специализированные системы, представляющие собой объектно-ориентированные распределенные системы управления аппаратным оборудованием. В данной статье представлен разработанный программный комплекс для распределенной системы управления Tango Controls, позволяющий получать, обрабатывать данные, полученные с сервера устройств Tango Controls, а также отображать полученные данные с помощью веб-интерфейса в виде графиков и данных телеметрии. Безусловным достоинством Tango Controls являются его кроссплатформенность, открытый исходный код, а также универсальный инструментарий, что позволяет использовать Tango Controls в широком диапазоне аппаратных решений. Распределенная система Tango Controls используется для создания систем управления аппаратными ресурсами. Доступ к аппаратным ресурсам осуществляется посредством распределенного объекта Tango Controls. Распределенный объект в Tango Controls называется устройством и создаётся как объект в процессе-контейнере, называемом сервером устройств. Сервер устройств реализует сетевое взаимодействие и связывается с базой данных конфигурации и клиентами. В процессе работы сервер устройств создаёт экземпляры устройств, отображающие логические сущности компонентов оборудования. Для взаимодействия клиентов с серверами устройств используется Tango протокол. Серверы и клиенты устройств Tango могут быть написаны на Python, C++ или Java. Tango поставляется с полным набором инструментов для разработки, контроля, мониторинга и т.д. Разработанный программный комплекс является масштабируемым, и протестирован на отказоустойчивость и безопасность.

Today, any research in the field of high energy physics involves the use of the most complex accelerator complexes, experimental facilities, as well as huge computing resources. Therefore, to control these complexes, specialized systems are used, such as Tango Controls and WinCC OA, which are object-oriented distributed control systems for hardware equipment. To solve the problem, the Tango Controls system was chosen. It has a hardware-independent toolkit that allows you to integrate Tango Controls into any hardware. Also, the system has a lot of both desktop and Web applications, which greatly simplifies development. Tango Controls is an open source distributed system that can run on one or hundreds of machines at the same time. It uses a client-server interaction model, as well as an omniorb implementation of CORBA as a network protocol. CORBA technology is a software mechanism that integrates isolated systems and allows programs written in different programming languages and running in different network nodes to interact with each other. The distributed Tango Controls system is used primarily to provide access to hardware resources. Access is programmed in processes called Device Servers, which implement the classes that provide access to the resource. During operation, the server creates device instances that represent the logical entities of the hardware components. Tango protocol is used for interaction between clients and device servers. This article presents the developed software complex for the distributed control system Tango Controls, which allows us to read, process data received from the Server of the Tango Controls device, and also display the received data on the Web interface in the form of graphs and telemetry data. The developed software complex is scalable, fault-tolerant and tested for performance.