Project

General

Profile

4.7.2. TANGO

Обзор


Наши контроллеры поддерживают TANGO!

TANGO - свободная объектно-ориентированная система, предназначенная для управления ускорителями, экспериментальными установками а также различным промышленным и научным оборудованием и программным обеспечением. Система TANGO активно разрабатывается сообществом энтузиастов и профессиональных инженеров.

TANGO в первую очередь используется, чтобы предоставить доступ к оборудованию по локальной сети. При этом диапазон оборудования может меняться от простейших регистров ввода вывода, пересылающих отдельные байты, до сложнейших детекторных систем, или даже целых систем управления заводом. Доступ к оборудованию программируется в процессах, называемых cервер устройства. Сервер устройства реализует классы, обеспечивающие доступ к оборудованию. В процессе работы сервер устройства создает экземпляры устройств, отображающие логические сущности компонент оборудования. Клиент взаимодействует с устройствами, используя протоколы CORBA и zeromq.

Контроллер Standa 8SMC4-USB поддерживает работу с TANGO 8.1 при помощи специально разработанного сервера устройств. Предполагается два основных сценария:


Использование интерфейса TANGO через сервер устройств, запущенный напрямую на вашем ПК


Использование интерфейса TANGO через адаптер Standa 8SMC4-USB-Eth1

Конфигурация и запуск сервера устройства, объявление устройства

Предупреждение. Сервер устройств для Standa 8SMC4-USB разрабатывался на основе библиотек TANGO версии 8.1. Любая версия инфраструктуры TANGO старше 7 (включительно) также должна быть совместима с данной реализацией однако тестирование не проводилось.

Для того, чтобы приступить к работе с новым TANGO-совместимым устройством, в первую очередь необходимо зарегистрировать его в БД-Сервере TANGO. Наиболее распространённый и простой способ - использовать для этого Jive:
  1. Подключите Jive к вашему локальному БД-Серверу TANGO (Edit -> Change Tango Host).
  2. Запутсите помощник регистрации сервера устройств (Tools -> Server Wizard).
     

    Интерфейс помощник регистрации сервера устройства Jive
     
  3. Введите "Standa8smc4usb" в поле Server Name. В поле Instance name необходимо ввести любое удобное для вас
    буквенно-цифровое имя, идентифицирующее конкретный экземпляр сервера устройств TANGO (например "TestDevice").
  4. Нажмите next - это приведёт к открытию окна Start the server. На этом шаге необходимо запустить сам сервера устройств (Jive при этом закрывать не нужно):
    • Если у вас есть Standa 8SMC4-USB-Eth1 и вы собираетесь использовать его встроенную поддержку TANGO, то для её активации и настройки вам необхо использовать интерфейс администрирования.
       

      Страница управления сервисом TANGO в интерфейсе администрирования
       
    • Если же вы собираетесь использовать сервер устройств TANGO напрямую со своего компьютера, то вам необходимо самостоятельно скомпилировать его под вашу платформу из исходных кодов. В результате вы получите исполняемый файл Standa8smc4usb, которому при запуске необходимо передать в качестве аргумента ранее указанное в Jive имя экземпляра (например "TestDevice"). Если сервер был успешно запущен, то в стандартном потоке вывода вы увидете надпись Ready to accept requests.

      Примечание. Имя экземпляра сервера устройств, которое вы указали в Jive, должно совпадать с тем, что вы указываете при запуске самого экземпляра сервера устройств (как в случае использования исполняемого файла, так и при запуске через интерфейс администрирования).

      Примечание. Перед запуском сервера устройств "Standa8smc4usb" убедитесь в том, что переменаая среды "TANGO_HOST" содержит в себе адрес и порт вашего локального БД-Сервера Tango (например "192.168.0.172:11000").

  5. Переключитесь обратно на Jive, в котором по-прежнему должно быть открыто окно Start the server. Нажмите кнопку next.
  6. В открывшемся окне Class Selection выберите класс Standa8scm4usb и нажмите кнопку Declare device.
  7. В следующем окне в поле Device name введите соответсвующее спецификации TANGO имя конкретного устройства (например "a/b/c"), после чего нажмите next.
  8. Следующий шаг требует ввода серийного номера экспортируемого в TANGO контроллера в поле SerialNumber. Узнать серийный номер контроллера можно либо в разделе Common в интерфейсе администрирования если вы используете Ethernet-адаптеру Standa 8SMC4-USB-Eth1, или через программу XiLab (Settings -> About Device -> Serial number).

    Примечание. XiLab также может быть использован для определения серийных номеров контроллеров, подключенных к Ethernet-адаптеру Standa 8SMC4-USB-Eth1, но для этого на адптере при помощи интерфейса администрирования должен быть включен сервис "LibXimc server". Более детально об этих функциях XiLab можно узнать из документации.

  9. Далее потребуется ввод двух параметров: CalibrationRatio и CalibrationUnits. Они служат для отображения шагов в пользовательские единицы, и должны трактоваться как "1 шаг = CalibrationRatio CalibrationUnits". Если вам не требуется пересчёт в какие-либо единицы, то задайте "1.0" и пустую строку для CalibrationRatio и CalibrationUnits соответственно.
  10. Непосредственно процедура регистрации устройства (т.е. предыдущие 3 шага) должна быть повторена для каждого из подключенных контроллеров, которые требуется использовать через интерфейс TANGO.


Пример содержимого стандартной ATK-панели для экспортированного в TANGO контроллера

После вышеописанных шагов любой из экспортированных контроллеров становится доступным для непосредственного управления и настройки при помощи TANGO, а значит готов к немедленной интеграции с вашей существующей инфраструктурой без каких-либо дополнительных трудозатрат! Для получения более подробной информации обратитесь к официальной документации TANGO.