TANGO

TANGO (от англ. TAco Next Generation Objects) — свободная объектно-ориентированная система, предназначенная для управления ускорителями, экспериментальными установками, а также различным оборудованием и программным обеспечением. Система TANGO активно разрабатывается сообществом (в основном) операторов синхротронов

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. В настоящее время консорциум состоит из следующих институтов:

  1. ESRF — Европейский центр синхротронного излучения, Гренобль, Франция
  2. SOLEIL — Синхротрон Soleil, Париж, Франция
  3. ELETTRA — Синхротрон Elettra, Триест, Италия
  4. ALBA — Синхротрон Alba, Барселона, Испания
  5. DESY — Синхротрон Petra III, Гамбург, Германия
  6. MAX IV — Синхротрон MAX-IV, Лунд, Швеция
  7. Solaris — Синхротрон Solaris, Краков, Польша
  8. INAF — Итальянское национальное астрономическое общество
  9. SKAO — Square Kilometer Array Organization, головная структура строительства радиотелескопа SKA в ЮАР

Цель консорциума — гарантировать развитие TANGO.

Использование в России править

Система TANGO используется[2]:

См. также править

  • EPICS — Experimental Physics and Industrial Control System

Ссылки править

  1. https://www.tango-controls.org/community/news/2020/10/26/tango-source-distribution-934/
  2. Р. А. Сенин и др.//Кристаллография, 2013, том 58, № 3, с. 520—525