ИНТЕЛЛЕКТУАЛЬНЫЙ WEB-СЕРВЕР УПРАВЛЕНИЯ ДИСТАНЦИОННЫМ ЭКСПЕРИМЕНТОМ
С.В. Андреев, В.П. Шкодырев
Санкт-Петербургский государственный технический университет
Abstract – Some aspects of remote control distance experimentation is present. The actual problem of modern measuring technics is developing of distributed informaition-measuring systems to provide the remote control distance experimentation.
Современные тенденции создания распределенных систем сбора и обработки данных, взаимодействующих с удаленными физическими объектами и источниками информации, делают актуальной проблему организации управляемого дистанционного эксперимента (УДЭ). Решение подобной задачи непосредственно связано с созданием специальной информационной среды, обеспечивающей эффективный
оперативный обмен информацией с объектами на основе удаленного доступа к ним. В то же время, традиционно существующие решения удаленного доступа к источникам информации и оперативного интерактивного взаимодействия с такими источниками не всегда удовлетворяет необходимым требованиям как по методике исполнения, так и по аппаратно-программным решениям. Перспективными направлениями в решении задачи являются интенсивно развиваемые технологии виртуального инструмента и виртуальных измерительных лабораторий, формирующих новую информационную среду.Виртуальный инструмент - набор аппаратных и программных средств, добавляемых к обычному компьютеру таким образом, что пользователь получает возможность взаимодействовать с ним как с обычным измерительным прибором. При этом роль органов управления выполняет специальный графический интерфейс пользователя - имитационная модель передней панели реального прибора, представленная в виде набора графических объектов на экране монитора, через который осуществляется интерактивное взаимодействие пользователя с инструментом. Дальнейшим развитием концепции стала технология распределенных виртуальных лабораторий - распределенной информационной среды, предоставляющей возможность удаленного доступа к источникам информации в виде распределенных промышленных установок, лабораторных комплексов или иных объектов. Особенностью подобных систем является не только получение первичной измерительной информации, но и правильная организация ее передачи между отдельными подсистемами и потребителями. Примером практического применения подобной технологии является УДЭ, ставящий целью организацию эффективных методов и алгоритмов управления распределенными источниками и потребителями измерительной информации.
Управляемый дистанционный эксперимент (УДЭ) можно рассматривать как
специальную информационную технологию, ориентированную на управление распределенными техническими объектами и системами с целью решения широкого комплекса задач сбора, обработки, передачи и представления информации (рис. 1). Управление распределенными элементами системы обычно осуществляется через среду вычислительных сетей Internet посредством управляющих серверов.Рис. 1. Структурная схема управляемого дистанционного эксперимента
Главный элемент в организации среды управляемого дистанционного эксперимента (УДЭ) - это специализированный сервер, осуществляющий помимо традиционных задач сетевых взаимодействий функции сбора, обработки и передачи измерительной информации. Концепция построения такого сервера непосредственно связана
с определением его как компоненты единой информационной среды. Важным здесь является определение модели эксперимента как сложного информационного процесса, представляющего иерархию взаимосвязанных процессов сбора, обработки, передачи и представления информации, разнесенных во времени и в пространстве (рис. 2).Рис. 2. Пример модели эксперимента
Каждый из таких процессов может быть представлен как отдельный узел (компонента) потоковой динамической архитектуры, реконфигурируемой в процессе выполнения задачи обработки данных. Это:
Это позволяет рассматривать УДЭ-сервер как систему управления иерархией информационных процессов, которая может иметь и более сложную структуру в зависимости от решаемой задачи.
Одной из наиболее важных и в то же время не до конца отработанной проблемой построения систем управляемого дистанционного эксперимента является задача взаимодействия между удаленной подсистемой сбора данных и конечным пользователем. Поскольку основным требованием УДЭ является возможность удаленного доступа многочисленных пользователей к объекту из любой точки как локальной сети, так и сети Internet, то в целях унификации интерфейса и снижения затрат на разработку и дальнейшей поддержки системы имеет смысл реализовывать пользовательский интерфейс в HTML-виде с просмотром через Web-броузер.
Для отображения динамически меняющихся данных на HTML-странице, появляющейся на экране пользовательского Web-броузера, в нее должен быть внедрен некоторый объект. При этом необходимо решить следующие задачи:
Большинство существующих решений этой задачи реализуется с помощью низкоуровневого программирования на основе протокола TCP/IP и создания собственных JAVA-апплетов. Несмотря на то, что объем загружаемого на машину кода JAVA-апплета очень невелик (около 10 Кбайт), такое программирование весьма трудоемко. Разработчику обязательно придется столкнуться с несколькими нетривиальными программными вопросами: задать номер порта TCP/IP в надежде, что он не используется другими приложениями; определить структуру передаваемых данных; создать и настроить программу-Сервер на прием с выбранного порта и создать соединение с программой-Клиентом, когда она выдаст запрос; преобразовать структурированные по логике эксперимента данные в двоичный вид для передачи по TCP/IP; проверить ошибки приема/передачи; создать и настроить программу-Клиент так, чтобы она приняла данные с выбранного порта, вернула их в исходный формат и отобразила на экране. Поскольку обмен информацией по сети реализуется в JAVA-апплетах в виде непосредственного общения с протоколом TCP/IP, следовательно, буферизацию, очереди сообщений придется реализовывать самостоятельно.
При использовании JAVA-апплетов скорость их выполнения на пользовательской машине за счет интерпретирующего подхода очень невысока. В настоящее время отсутствует широкое предложение библиотек индикаторов и органов управления для измерительных задач, что приведет разработчика системы УДЭ к необходимости их создания “с нуля”. Таким образом, использование JAVA-апплетов нам кажется неэффективным с точки зрения огромных затрат времени на создание полноценного графического интерфейса пользователя.
Очень удобны для отображения динамически меняющихся измерительных данных элементы ActiveX, которые являются откомпилированными программами и выполняются на компьютере пользователя раз в 10 быстрее, чем JAVA-апплеты. Эти элементы очень просто программируются в стандартных средствах разработки (Visual C++, Visual Basic). Имеются библиотеки измерительных компонентов (например, ComponentWorks производства National Instruments), содержащие удобные индикаторы (графики, числовые поля, панели датчиков, светодиоды и т.д.) и органы управления (ручки, кнопки, переключатели и т.д.). Кроме того, данная библиотека поддерживает мощный сетевой протокол DataSocket, разработанный специально для передачи измерительных данных и управляющей информации. Совместно с реализацией этого протокола на серверах сбора данных (работающих под управлением LabVIEW или LabWindows/CVI) получается канал, удачно подходящий для передачи измерительной и управляющей информации. Особенностью этого протокола является его широковещательность. На сервере сбора данных создается соединение (например, “dstp://server1/measure”). Через это соединение сервер сбора данных передает данные одновременно множеству клиентов. За буферизацию и доставку данных отвечает небольшая (и очень быстрая) специализированная программа DataSocket Server, выполняющаяся на сервере сбора данных. В случае передачи управляющей пользовательской информации с Web-броузера клиента, DataSocket Server автоматически выстраивает запросы пользователей в очередь и передает их по мере необходимости для выполнения сервером сбора данных. Таким образом, в отличие от JAVA-апплета, для выполнения любой задачи с помощью технологии DataSocket необходимо произвести всего две операции: открыть соединение с DataSocket Server, используя имя, выбранное для идентификации данных и при получении новых данных отправить их на DataSocket Server через открытое соединение.
Отметим некоторый недостаток использования компонентов ActiveX - значительный объем кода, передаваемого на машину клиента (сами элементы около 20 Кб, а вот вся библиотека ComponentWorks - около 500 Кбайт). Но тут следует уточнить, что эти элементы в отличие от JAVA-апплетов передаются на машину пользователя только один раз и могут быть даже просто инсталлированы на пользовательский ПК, например, с компакт-диска. Более того, имеет смысл разработать собственные элементы ActiveX для отображения измерительных данных. Возможности сред разработки (Visual C++, Visual Basic) огромны, а за счет оптимизации по нашим оценкам можно свести размер библиотеки компонентов до 50-100 Кбайт. Для реализации же системы УДЭ в рамках локальной сети предприятия размер библиотеки ComponentWorks не является существенным за счет высокой скорости обмена данными.
Практический пример, разработанный нами для иллюстрации выше изложенного материала, представляет собой сервер, являющийся простейшей программой, написанной в среде LabVIEW, которая подключается к серверу DataSocket и передает пользователям два массива измерительных данных: синусоиду и квадрат синуса. Пользователь получает информацию подключаясь к Web-серверу, встроенному в LabVIEW, с помощью стандартного Web-броузера Internet Explorer. Пример графического изображения экрана приведен на рис. 3:
Рис. 3. Виртуальный осциллограф
Пользователь может управлять коэффициентом усиления и частотой преобразования платы, установленной на сервере сбора данных.
В заключении следует отметить, что благодаря использованию современных сетевых технологий становится возможной реализация распределенных информационно-измерительных систем любой сложности: от наиболее простых (рис.3) до более сложных и разветвленных.
Site of Information
Technologies Designed by inftech@webservis.ru. |
|