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

Кошкин Александр Владимирович
Петрозаводский государственный университет

Научный руководитель: Курсков Сергей Юрьевич, кандидат физ.-мат. наук

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

Целью данной работы является создание системы дистанционного обучения, предназначенной для ознакомления с основами управления аппаратурой КАМАК, т.е. создание необходимого программного и информационного обеспечения.

Аппаратура КАМАК представляет собой программно-управляемую систему модульной электроники, предназначенную для связи измерительных устройств с цифровой аппаратурой обработки данных.

При разработке системы дистанционного обучения важная часть работы была связана с созданием программного обеспечения для удаленной работы с физической аппаратурой. Так как данная система ориентированна на работу в Интернет, а также в локальных сетях, то в качестве инструмента разработки программного обеспечения был выбран язык сетевого программирования Java. Этот выбор обусловлен следующими достоинствами технологии Java:

  1. наличие встроенных средств безопасности для работы в сети;
  2. переносимость программ Java на уровне исполняемого кода;
  3. поддержка мультипоточности и наличие средств разделения доступа к общим ресурсам;
  4. поддержка внешних методов через Java Native Interface (Java-программа может вызывать методы, написанные на других языках, например, Си).

В состав системы дистанционного обучения входят:

  1. КАМАК-сервер - автономное приложение Java;
  2. КАМАК-клиент - автономное приложение Java (или Java-апплет);
  3. электронный учебник-справочник в формате HTML;
  4. Web-сервер для обеспечения удаленного доступа к учебнику-справочнику и к клиентской программе (Java-апплету).

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

Запрос клиента и ответ сервера имеют фиксированную длину, равную 6 байтам. Первый содержит номер крейта, номер станции, субадрес, номер функции и данные; второй включает содержимое регистра управления и состояния контроллера крейта, код ошибки и возвращаемые данные.

Для передачи данных между клиентской и серверной программами используются, так называемые, потоковые сокеты, работающие через протокол TCP. При этом гарантируется доставка пакетов данных, причем в правильной последовательности.

По окончании разработки системы в учебно-справочном пособии будет содержаться информация о стандарте КАМАК, программировании аппаратуры КАМАК и ее характеристики, а также руководство по работе с клиентской программой и рекомендуемые для выполнения упражнения.

Перечислю теперь основные достоинства рассматриваемой системы дистанционного обучения:

  1. поддержка многопользовательской работы;
  2. автоматическое восстановление связи между КАМАК-клиентом и сервером в случае разрыва соединения;
  3. использование стандартного браузера Интернет для просмотра электронного учебника-справочника и работы с клиентской программой (Java-апплетом);
  4. возможность работы программ (клиентских) без перекомпиляции в различных операционных средах (например, в Windows 9x, Windows NT, Linux и т.п.).

В заключение отмечу, что на базе системы дистанционного обучения "Управление аппаратурой КАМАК" в дальнейшем возможно создание физической Интернет-лаборатории для дистанционного обучения и проведения экспериментов различной сложности.

(c) АСФ России, 2001