Прикладной протокол распределенной системы базируется на стеке протоколов TCP/IP, что обеспечивает доступ к ее ресурсам в сетях Интранет/Интернет. Прикладной протокол регламентирует порядок обмена информацией между клиентом и сервером, форматы кадров запроса и ответа, определяет коды команд системы и коды ошибок, которые могут возникнуть в ходе сеанса связи.
Микроконтроллеры подключаются к ПК через последовательные порты COM1-COM4 по стандарту RS-232.
Сервер микроконтроллеров представляет собой программу на языке Java, которая создает до 4-х отдельно работающих потоков, каждый из которых управляет своим микроконтроллером, подключенным к соответствующему COM-порту. В его задачу входит определение допустимости запрошенной функции и указанного адреса, передача запроса микроконтроллеру, а также пересылка клиенту ответа или номера ошибки при возникновении исключительной ситуации. В задачу сервера не входит обеспечение защиты ресурсов микроконтроллеров от разных клиентов распределенной информационно-измерительной системы. Эта функция возложена на коммуникационный сервер системы, поскольку только через него клиенты получают доступ к серверу микроконтроллеров. Коммуникационный сервер системы различает микроконтроллеры по адресу COM-порта, который включается в поле адреса ресурса кадра запроса.
В состав сервера входят следующие классы:
- MCS_Server - основной класс сервера - реализует "прослушивание сети", подключение коммуникационного сервера, реализует алгоритм обслуживания клиента, в частности, обеспечивает проверку корректности параметров запроса клиента и выполнение команды управления микроконтроллером;
- CserverProtocol - в данном интерфейсе определены коды операций, ошибок и другие константы коммуникационных протоколов (общий для системы);
- QueryToEServer - в данном классе определен объект "кадр запроса" к серверу и методы для работы с этим объектом (общий для системы);
- ReplyFromEServer - в классе определен объект "кадр ответа" и методы для работы с этим объектом (общий для системы);
- MCS96Lib - данный класс содержит библиотеку методов для работы с микроконтроллерами, а также ряд дополнительных методов выполняющих вспомогательные функции. Основные методы класса: Reset - сброс микроконтроллера в исходное состояние, Init - инициализация микроконтроллера, Load_Hex - загрузка откомпилированной программы пользователя в микроконтроллер, TestLine - проверка связи с микроконтроллером и его инициализация, Run - выполнение загруженной программы пользователя, ReceiveData - прием данных от микроконтроллера и их последующая обработка. Также в этом классе объявлены три внешних метода, реализованных на языке Си: InitCom - установка параметров COM-порта, InCom - чтение байта из порта ввода/вывода, OutCom - запись байта в порт ввода/вывода.
В случае изменения алгоритма получения данных с устройства, подключенного к определенному микроконтроллеру, необходимо изменить программу в ПЗУ микроконтроллера. Это делается программой-клиентом, управляющей данным микроконтроллером. Программа, написанная на языке Assembler-96 с учетом изменений в эксперименте, компилируется, и полученный HEX-файл прошивки пересылается программой-клиентом на сервер. Если данный микроконтроллер не занят, то сервер загружает прошивку в память микроконтроллера.
При создании сервера микроконтроллера использовался пакет разработчика Java - J2SE Development Kit v.5.0. Применение технологии Java обеспечивает возможность использования разработанного сервера на любых программно-аппаратных платформах, для которых реализована виртуальная Java-машина.
Работа выполнена при поддержке Американского фонда гражданских исследований и развития (CRDF) (проект PZ-013-02) и Министерства образования РФ.
СПИСОК ЛИТЕРАТУРЫ
- Гаврилов С.Е., Жиганов Е.Д., Кипрушкин С.А., Курсков С.Ю. Распределенная информационно-измерительная система для удаленного управления экспериментом в области оптической спектроскопии //Научный сервис в сети Интернет: Тр. Всерос. науч. конф. М.: Изд-во Моск. ун-та, 2002. С. 157-159.
- Gavrilov S.E., Kiprushkin S.A., Kurskov S.Yu., Khakhaev A.D. Distributed information system with remote access to physical equipment //Proceedings of the International Conference on Computer, Communication and Control Technologies: CCCT ´03 and The 9th International Conference on Information Systems Analysis and Synthesis: ISAS ´03 (July 31, August 1-2, 2003, Orlando, Florida, USA). Orlando, 2003.
- Kiprushkin S.A., Korolev N.A., Kurskov S.Yu., Khakhaev A.D. Data security in the distributed information measurement system //Proceedings of the 8th World Multi-Conference on Systemics, Cybernetics and Informatics (SCI 2004) (July 18 - 21, 2004, Orlando, Florida, USA). Orlando, 2004. V. 1. P. 13-16.