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 (включительно) также должна быть совместима с данной реализацией однако тестирование не проводилось.
- Подключите Jive к вашему локальному БД-Серверу TANGO (Edit -> Change Tango Host).
- Запутсите помощник регистрации сервера устройств (Tools -> Server Wizard).
Интерфейс помощник регистрации сервера устройства Jive
- Введите "Standa8smc4usb" в поле Server Name. В поле Instance name необходимо ввести любое удобное для вас
буквенно-цифровое имя, идентифицирующее конкретный экземпляр сервера устройств TANGO (например "TestDevice"). - Нажмите 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").
- Если у вас есть Standa 8SMC4-USB-Eth1 и вы собираетесь использовать его встроенную поддержку TANGO, то для её активации и настройки вам необхо использовать интерфейс администрирования.
- Переключитесь обратно на Jive, в котором по-прежнему должно быть открыто окно Start the server. Нажмите кнопку next.
- В открывшемся окне Class Selection выберите класс Standa8scm4usb и нажмите кнопку Declare device.
- В следующем окне в поле Device name введите соответсвующее спецификации TANGO имя конкретного устройства (например "a/b/c"), после чего нажмите next.
- Следующий шаг требует ввода серийного номера экспортируемого в TANGO контроллера в поле SerialNumber. Узнать серийный номер контроллера можно либо в разделе Common в интерфейсе администрирования если вы используете Ethernet-адаптеру Standa 8SMC4-USB-Eth1, или через программу XiLab (Settings -> About Device -> Serial number).
Примечание. XiLab также может быть использован для определения серийных номеров контроллеров, подключенных к Ethernet-адаптеру Standa 8SMC4-USB-Eth1, но для этого на адптере при помощи интерфейса администрирования должен быть включен сервис "LibXimc server". Более детально об этих функциях XiLab можно узнать из документации.
- Далее потребуется ввод двух параметров: CalibrationRatio и CalibrationUnits. Они служат для отображения шагов в пользовательские единицы, и должны трактоваться как "1 шаг = CalibrationRatio CalibrationUnits". Если вам не требуется пересчёт в какие-либо единицы, то задайте "1.0" и пустую строку для CalibrationRatio и CalibrationUnits соответственно.
- Непосредственно процедура регистрации устройства (т.е. предыдущие 3 шага) должна быть повторена для каждого из подключенных контроллеров, которые требуется использовать через интерфейс TANGO.
Пример содержимого стандартной ATK-панели для экспортированного в TANGO контроллера
После вышеописанных шагов любой из экспортированных контроллеров становится доступным для непосредственного управления и настройки при помощи TANGO, а значит готов к немедленной интеграции с вашей существующей инфраструктурой без каких-либо дополнительных трудозатрат! Для получения более подробной информации обратитесь к официальной документации TANGO.