4.7.2. TANGO

4.7.2.1. Обзор

../../../_images/logo_tangocontrols.png

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

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

TANGO основывается на концепции устройств. Устройства реализуются объектно-ориентированными и ориентированными подходами к архитектуре программного обеспечения. Модель устройства в TANGO реализует команды/методы, атрибуты/поля данных и свойства для настройки устройств. В TANGO все объекты управления - это устройства и аппаратный доступ, управляемые в процессе, называемом Device Server.

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

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

../../../_images/TangoComplex.png

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

../../../_images/TangoSimple.png

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

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

Предупреждение

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

Для того, чтобы приступить к работе с новым TANGO-совместимым устройством, в первую очередь необходимо зарегистрировать его в БД-Сервере TANGO. Наиболее распространённый и простой способ - использовать для этого Jive:

  1. Подключите Jive к вашему локальному БД-Серверу TANGO (Edit -> Change Tango Host).

  2. Запутсите помощник регистрации сервера устройств (Tools -> Server Wizard).

    ../../../_images/jivewizard.png

    Интерфейс помощник регистрации сервера устройства Jive

  3. Введите «Standa8smc4usb» в поле Server Name. В поле Instance name необходимо ввести любое удобное для вас буквенно-цифровое имя, идентифицирующее конкретный экземпляр сервера устройств TANGO (например «TestDevice»).

  4. Нажмите next - это приведёт к открытию окна Start the server. На этом шаге необходимо запустить сам сервера устройств (Jive при этом закрывать не нужно).

    • Если у вас есть Standa 8SMC4-USB-Eth1, и вы собираетесь использовать его встроенную поддержку TANGO, то для её активации и настройки вам необходимо использовать интерфейс администрирования.

      ../../../_images/motion.png

      Страница управления сервисом 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» и пустую строку соответственно.

  10. Непосредственно процедура регистрации устройства (т.е. предыдущие 3 шага) должна быть повторена для каждого из подключенных контроллеров, которые требуется использовать через интерфейс TANGO.

../../../_images/ATKpanel.png

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

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