TANGO

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
TANGO
Логотип программы TANGO
Тип свободное и открытое программное обеспечение
Разработчик TANGO Consortium
Операционная система кроссплатформенность
Первый выпуск 19 апреля 2001
Последняя версия
Репозиторий gitlab.com/tango-control…
Лицензия GNU LGPL и GNU GPL
Сайт tango-controls.org

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

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