Учебная система дистанционного управления
аппаратурой КАМАК

Структура аппаратного и программного обеспечения

Следующие рисунки иллюстрируют структуру аппаратного (рис. 4) и программного (рис. 5) обеспечения системы дистанционного управления аппаратурой КАМАК.

Рис. 4. Структура аппаратного обеспечения системы дистанционного управления аппаратурой КАМАК

Рис.
4. Структура аппаратного обеспечения системы дистанционного управления аппаратурой КАМАК

Программное обеспечение системы (рис. 5) реализовано средствами технологии Java. Такой выбор инструмента разработки программ обусловлен следующими достоинствами технологии Java:

  1. Наличие средств обеспечения информационной безопасности при работе в компьютерной сети.
  2. Переносимость программ Java на уровне исполняемого кода на различные аппаратно-программные платформы (Windows, Unix, Macintosh OS).
  3. Поддержка мультипоточности и наличие средств разделения доступа к общим ресурсам.
  4. Поддержка внешних методов через Java Native Interface (Java-программа может вызывать методы, написанные на других языках, например, Си).

Рис. 5. Структура программного обеспечения системы дистанционного управления аппаратурой КАМАК

Рис.
5. Структура программного обеспечения системы дистанционного управления аппаратурой КАМАК

Связь клиентской и серверной программ осуществляется через сокеты TCP, что гарантирует доставку данных и их целостность.

Доступ пользователей к системе возможен, во-первых, напрямую через клиентскую программу, реализованную в виде автономного приложения Java. Также возможен доступ через Web-браузер. В этом случае используется клиентская программа, реализованная в виде апплета Java. Это иллюстрируется соответственно правой и левой частями схемы (см. рис. 5).

КАМАК-сервер является мультипоточной программой, т.е. он может одновременно обслуживать несколько клиентов (пользователей), работающих с различными аппаратными модулями (например, с АЦП, ЦАПом, счетчиком импульсов с ФЭУ, таймером и т.д.). Перед началом работы клиент резервирует необходимые ему ресурсы аппаратуры так, что они становятся недоступны другим пользователям. Затем клиент может посылать серверу команды управления аппаратурой КАМАК. Серверная программа Java обращается к аппаратуре через внешний метод, написанный на Си. Выполнив команду, сервер возвращает результат клиенту. По окончании сеанса работы или при разрыве связи с определенным пользователем КАМАК-сервер освобождает все занятые данным пользователем ресурсы.