4.7.2. TANGO¶
4.7.2.1. Обзор¶
TANGO - свободная объектно-ориентированная система, предназначенная для управления ускорителями, экспериментальными установками а также различным промышленным и научным оборудованием и программным обеспечением. Система TANGO активно разрабатывается сообществом энтузиастов и профессиональных инженеров.
TANGO основывается на концепции устройств. Устройства реализуются объектно-ориентированными и ориентированными подходами к архитектуре программного обеспечения. Модель устройства в TANGO реализует команды/методы, атрибуты/поля данных и свойства для настройки устройств. В TANGO все объекты управления - это устройства и аппаратный доступ, управляемые в процессе, называемом Device Server.
Сервер устройства реализует классы, обеспечивающие доступ к оборудованию. В процессе работы сервер устройства создает экземпляры устройств, отображающие логические сущности компонент оборудования. Клиент взаимодействует с устройствами, используя протоколы CORBA и zeromq.
Контроллер Standa 8SMC4-USB поддерживает работу с TANGO 8.1 при помощи специально разработанного сервера устройств. Предполагается два основных сценария:
4.7.2.2. Конфигурация и запуск сервера устройства, объявление устройства¶
Предупреждение
Сервер устройств для Standa 8SMC4-USB разрабатывался на основе библиотек TANGO версии 8.1. Любая версия инфраструктуры TANGO старше 7 (включительно) также должна быть совместима с данной реализацией, однако тестирование не проводилось.
Для того, чтобы приступить к работе с новым TANGO-совместимым устройством, в первую очередь необходимо зарегистрировать его в БД-Сервере TANGO. Наиболее распространённый и простой способ - использовать для этого Jive:
Подключите Jive к вашему локальному БД-Серверу TANGO (Edit -> Change Tango Host).
Запутсите помощник регистрации сервера устройств (Tools -> Server Wizard).
Введите «Standa8smc4usb» в поле Server Name. В поле Instance name необходимо ввести любое удобное для вас буквенно-цифровое имя, идентифицирующее конкретный экземпляр сервера устройств TANGO (например «TestDevice»).
Нажмите next - это приведёт к открытию окна Start the server. На этом шаге необходимо запустить сам сервера устройств (Jive при этом закрывать не нужно).
Если у вас есть Standa 8SMC4-USB-Eth1, и вы собираетесь использовать его встроенную поддержку TANGO, то для её активации и настройки вам необходимо использовать интерфейс администрирования.
Если же вы собираетесь использовать сервер устройств TANGO напрямую со своего компьютера, то вам необходимо самостоятельно скомпилировать его под вашу платформу из исходных кодов. В результате вы получите исполняемый файл Standa8smc4usb, которому при запуске необходимо передать в качестве аргумента ранее указанное в «Jive» имя экземпляра (например, «TestDevice»). Если сервер был успешно запущен, то в стандартном потоке вывода вы увидете надпись Ready to accept requests.
Примечание
Имя экземпляра сервера устройств, которое вы указали в Jive, должно совпадать с тем, что вы указываете при запуске самого экземпляра сервера устройств (как в случае использования исполняемого файла, так и при запуске через интерфейс администрирования).
Примечание
Перед запуском сервера устройств «Standa8smc4usb» убедитесь в том, что переменная среды «TANGO_HOST» содержит в себе адрес и порт вашего локального БД-Сервера Tango (например, «192.168.0.172:11000»).
Перключитесь обратно на 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» и пустую строку соответственно.
Непосредственно процедура регистрации устройства (т.е. предыдущие 3 шага) должна быть повторена для каждого из подключенных контроллеров, которые требуется использовать через интерфейс TANGO.
После вышеописанных шагов любой из экспортированных контроллеров становится доступным для непосредственного управления и настройки при помощи TANGO, а значит готов к немедленной интеграции с вашей существующей инфраструктурой без каких-либо дополнительных трудозатрат! Для получения более подробной информации обратитесь к официальной документации TANGO.