TANGO (от англ. TAco Next Generation Objects) — свободная объектно-ориентированная система, предназначенная для управления ускорителями, экспериментальными установками, а также различным оборудованием и программным обеспечением. Система TANGO активно разрабатывается сообществом (в основном) операторов синхротронов
TANGO | |
---|---|
Тип | свободное и открытое программное обеспечение |
Разработчик | TANGO Consortium |
Операционная система | кроссплатформенность |
Первый выпуск | 19 апреля 2001 |
Последняя версия |
|
Репозиторий | gitlab.com/tango-control… |
Лицензия | GNU LGPL и GNU GPL |
Сайт | tango-controls.org |
TANGO — распределённая система управления. Она может работать как на одной, так и на сотнях машин. TANGO использует omniorb реализацию CORBA в качестве сетевого протокола. Основной моделью взаимодействия является модель клиент-сервер. Взаимодействие между клиентами и серверами может быть синхронным, асинхронным, либо событийно-ориентированным.
TANGO основана на принципах объектной и сервисной ориентированности. Объектная модель TANGO поддерживает методы, атрибуты и свойства. В TANGO все объекты являются представлениями устройств.
В состав TANGO входит база данных, в которой хранятся все зарегистрированные в системе устройства, среда быстрой разработки приложений, а также большое число вспомогательных инструментов.
Основные компоненты TANGO
правитьЯдро TANGO
правитьСредства разработки и развёртывания приложений
правитьJIVE
правитьJIVE — независимое Java-приложение, созданное для просмотра и редактирования базы данных TANGO. JIVE написан на Swing и для его запуска требуется виртуальная машина Java версии выше 1.8.0.
POGO
правитьPOGO — генератор кода для серверов устройств TANGO.
Средства запуска и управления системой TANGO
правитьAstor/Starter
правитьAstor — программный менеджер для системы TANGO. Astor может:
- Управлять хостами;
- Запускать/останавливать сервера устройств;
- Посылать простые команды серверу устройства.
Архивирование
правитьСистема TANGO также содержит встроенную систему архивирования, использующую либо MySQL либо Oracle. Система архивирования позволяет сохранять необходимые вам данные, поступающие от устройств.
Сервера устройств
правитьTANGO в первую очередь используется, чтобы предоставить доступ к оборудованию по локальной сети. При этом диапазон оборудования может меняться от простейших регистров ввода-вывода, пересылающих отдельные байты, до сложнейших детекторных систем или даже целых систем управления заводом. Доступ к оборудованию программируется в процессах, называемых Сервер устройства (англ. Device Server). Сервер устройства реализует классы, обеспечивающие доступ к оборудованию. В процессе работы сервер устройства создаёт экземпляры устройств, отображающие логические сущности компонент оборудования. Клиент взаимодействует с устройствами, используя TANGO протокол.
Поддерживаемые языки программирования
правитьЛицензия
правитьTANGO распространяется в основном под двумя лицензиями. Библиотеки лицензируются в соответствии с GNU Lesser General Public License (LGPL). Средства разработки и сервера устройств лицензируются (если не указано иное) под GNU General Public License (GPL). Также часть библиотек/компонент распространяются под MIT или Apache 2.0 лицензиями.
Консорциум
правитьКонсорциум — группа институтов, активно разрабатывающих TANGO. Чтобы присоединиться к консорциуму институт должен подписать Меморандум и активно принимать участие в разработке TANGO. В настоящее время консорциум состоит из следующих институтов:
- ESRF — Европейский центр синхротронного излучения, Гренобль, Франция
- SOLEIL — Синхротрон Soleil, Париж, Франция
- ELETTRA — Синхротрон Elettra, Триест, Италия
- ALBA — Синхротрон Alba, Барселона, Испания
- DESY — Синхротрон Petra III, Гамбург, Германия
- MAX IV — Синхротрон MAX-IV, Лунд, Швеция
- Solaris — Синхротрон Solaris, Краков, Польша
- INAF — Итальянское национальное астрономическое общество
- SKAO — Square Kilometer Array Organization, головная структура строительства радиотелескопа SKA в ЮАР
Цель консорциума — гарантировать развитие TANGO.
Использование в России
правитьСистема TANGO используется[2]:
- на станциях Курчатовского источника синхротронного излучения,
- для управления ускорительным комплексом ионного коллайдера NICA, ОИЯИ, Дубна,
- в ускорителе ЛИУ-20 ИЯФ СО РАН, Новосибирск.
См. также
править- EPICS — Experimental Physics and Industrial Control System
Ссылки
править- ↑ https://www.tango-controls.org/community/news/2020/10/26/tango-source-distribution-934/
- ↑ Р. А. Сенин и др.//Кристаллография, 2013, том 58, № 3, с. 520—525