TANGO
TANGO (от англ. TAco Next Generation Objects) — свободная объектно-ориентированная система, предназначенная для управления ускорителями, экспериментальными установками, а также различным оборудованием и программным обеспечением. Система TANGO активно разрабатывается сообществом (в основном) операторов синхротронов
TANGO | |
---|---|
Тип | свободное и открытое программное обеспечение |
Разработчик | TANGO Consortium |
Операционная система | кроссплатформенность |
Первый выпуск | 19 апреля 2001 |
Последняя версия |
|
Лицензия | 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