РАСПРЕДЕЛЕННАЯ ИНФОРМАЦИОННО-ИЗМЕРИТЕЛЬНАЯ СИСТЕМА ДЛЯ УДАЛЕННОГО УПРАВЛЕНИЯ ЭКСПЕРИМЕНТОМ В ОБЛАСТИ ОПТИЧЕСКОЙ

advertisement
РАСПРЕДЕЛЕННАЯ ИНФОРМАЦИОННО-ИЗМЕРИТЕЛЬНАЯ СИСТЕМА ДЛЯ
УДАЛЕННОГО УПРАВЛЕНИЯ ЭКСПЕРИМЕНТОМ В ОБЛАСТИ ОПТИЧЕСКОЙ
СПЕКТРОСКОПИИ
С.Е. Гаврилов, Е.Д. Жиганов, С.А. Кипрушкин, С.Ю. Курсков
Петрозаводский государственный университет, г.Петрозаводск
В докладе рассматривается разработанная авторами распределенная информационно-измерительная
система для поддержки научно-образовательного процесса, которая предоставляет пользователю доступ к
физическому оборудованию автоматизированного экспериментального комплекса и обеспечивает удаленное
управление физическим экспериментом.
Распределенная
информационно-измерительная
система
состоит
из
следующих
модулей:
коммуникационного сервера (К-сервера), серверов оборудования (КАМАК-сервера, КОП-сервера и других),
программ-клиентов К-сервера, управляющих работой подсистем экспериментального комплекса, а также протокола
обмена информацией между данными модулями.
Сервер оборудования представляет собой сервер последовательной обработки запросов. В его задачу
входит определение допустимости для данного оборудования запрошенной функции и указанного адреса, передача
запроса оборудованию, а также пересылка клиенту ответа или номера ошибки при возникновении исключительной
ситуации. Таким путем достигается универсальность К-сервера, который работает с серверами оборудования по
стандартному протоколу. В кадр запроса входят следующие поля: адрес ресурса – 8 байт, функция – 4 байта, тип
данных – 1 байт, ключ – 4 байта, данные – 4 байта (8 байт). Если значение поля "тип данных" равно нулю, то в поле
"данные" находятся сами данные. Если "тип данных" равен 1, то поле "данные" содержит длину передаваемых
данных в байтах (данные идут после основного кадра непрерывным потоком). Поле "ключ" зарезервировано для
дальнейшего использования при шифровании кадров. Ответ сервера оборудования содержит в себе номер ошибки –
2 байта, тип данных – 1 байт, данные – 4 байта (8 байт), информацию о состоянии системы – 4 байта. Поле
"информация о состоянии системы" используется сервером оборудования для передачи содержимого регистров
состояния приборного интерфейса пользователю.
К-сервер реализован на языке программирования Java с использованием сокетов TCP. В функции Ксервера входит обеспечение многопользовательского режима и распределение ресурсов, обеспечение безопасного
доступа к аппаратуре экспериментального комплекса (создание условий работы, при которых пользователи не
могут изменить данные других пользователей), мониторинг системы, обеспечение безопасности. Создание
многопользовательского режима достигается путем использования параллельных процессов с синхронизацией
некоторых функций. Мониторинг системы означает хранение и предоставление по запросу администратора
информации о пользователях, работающих в данный момент с аппаратурой. Информация включает в себя IP-адрес
клиента и занимаемые им ресурсы (псевдоним сервера оборудования и адрес ресурса). Безопасность системы
может быть достигнута путем шифрования данных, которыми обмениваются К-сервер и сервер оборудования.
3
Работа системы организована следующим образом. После запуска К-сервер считывает информацию (IPадрес, номер порта, псевдоним) о доступных серверах оборудования из конфигурационного файла. Далее
последовательно устанавливаются постоянные соединения с серверами оборудования. Сервер, с которым
соединение не было установлено, помечается как недоступный в данный момент. Попытка установления связи с
ним будет повторена при обращении к нему любого клиента. После инициализации серверов оборудования Ксервер переходит в режим ожидания связи с клиентами. При установлении связи сервер генерирует параллельный
процесс обслуживания клиента и присваивает этому процессу уникальный номер CID – Client ID (не равный нулю).
Обмен информацией с клиентом происходит в режиме запрос-ответ по расширенному протоколу. Кадры (как
запрос, так и ответ) представляют собой кадры сервера оборудования плюс псевдоним сервера оборудования (4
байта). В данный момент доступны следующие функции: KS_GETRESOURCE – выделение (захват) ресурса,
KS_RELEASERESOURCE – освобождение ресурса, KS_QUIT – завершение работы. Для работы с оборудованием
клиент должен зарезервировать ресурс командой KS_GETRESOURCE, указав адрес ресурса и псевдоним сервера
оборудования. По запросу клиента К-сервер формирует запрос к серверу оборудования с функцией
KS_CHECKRESOURCE для проверки корректности адреса ресурса. Если ответ не содержит ошибок, К-сервер
выделяет ресурс клиенту. В системе доступа к оборудованию используется иерархическая система адресов (для
аппаратуры КАМАК: номер крейта, адрес станции, субадрес); полный адрес ресурса составляет 8 байт. Клиент
упаковывает адреса в эти 8 байт, а сервер оборудования выполняет обратную операцию. После того, как ресурс
будет выделен, клиент может начать работу. Завершение сеанса связи происходит по команде KS_QUIT. Все
функции, использующиеся в системе (служебные функции), имеют номера с FFFFFFFFh и ниже. Для работы с
оборудованием используются функции начиная с нуля и заканчивая FFFFFFFFh – 4. Если во время работы связь с
каким-либо из серверов оборудования будет разорвана, то при следующем обращении какого-либо клиента к этому
серверу К-сервер попытается восстановить связь.
В системе также предусмотрен режим суперпользователя (администратора). Последний подключается к
Рис. 1. Кадр протокола обмена данными между К-сервером и серверами оборудования (а) и кадр
протокола обмена данными между К-сервером и клиентами (б)
серверу как обычный клиент, но с паролем в поле "данные" и "ключ". После проверки пароля данному клиенту
присваивается CID равный нулю, по которому разрешается выполнение дополнительных функций, таких как
просмотр информации о клиентах и используемых ресурсах, регистрация клиента в системе и его удаление, а также
освобождение ресурса.
Созданная система позволяет эффективно управлять аппаратурой экспериментального комплекса,
реализующего методы оптической спектроскопии применительно к задачам физики плазмы и физики атомных
столкновений. В образовательной области эта система позволит решать задачи подготовки и переподготовки
специалистов в указанных областях знаний. Возможность удаленного доступа к оборудованию системы позволит
использовать ее ресурсы для подготовки кадров не только в самом вузе, но и в его филиалах.
4
Работа выполнена при поддержке Российского фонда фундаментальных исследований.
5
Download