Web-доступ к серверу OPUS через XML

Для пакета Phocus 4 для ОС QNX разработан серверный модуль OpusXML, который предназначен для простой и удобной связи SCADA системы с большим количеством клиентских устройств, поддерживающих работу с Java-браузером.

Ниже представлено описание модуля OpusXML и элементы его архитектуры.
Модуль OpusXML - это совокупность программных компонент, взаимодействующих между собой на основе XML формата, предназначенных для связи с сервером SCADA системы Phocus/Opus, разработанном в компании Науцилус, и передачи данных этой SCADA системы в удаленные клиентские системы с использованием открытого стандарта XML. Следует уточнить, что с целью увеличения производительности собственно опрос точек выполняется не по XML, а с использванием более быстрого внутреннего протокола. Формат XML позволяет прочитать структуру базы данных, мнемосхем, трендов, и т.д.

Разработка OpusXML включает в себя:

  • Серверную компоненту OpusXMLServer;
  • Стандартное клиентское Java приложение OpusXMLClient;
  • Документ, описывающий используемый XML формат.

OpusXMLServer

OpusXMLServer - это приложение реального времени, реализующее XML интерфейс для связи сторонних клиентских приложений с сервером Opus. Оно должно быть запущено на той же машине, где и сервер Opus. В последующих версиях возможна реализация сетевого расширения, позволяющего серверу OpusXMLServer запускаться где-либо в сети и обслуживать запросы сразу к нескольким Opus серверам.

Составные элементы приложения OpusXMLServer

Socket
Реализует физическую связь с клиентом по протоколу TCP/IP, с использованием примитивов сокетов. Соединение устанавливается один раз, перед началом работы, и может быть использовано клиентом для последующих запросов, до явного закрытия.

XML
Осуществляет синтаксический разбор и семантическую обработку XML запросов, получаемых из блока Socket. Передаёт запрос блоку Opus, если запрос корректен, либо передаёт блоку Socket ответ содержащий описание ошибки.

Opus
Получает запрос от блока XML, и передаёт его серверу Opus, в понятном для него виде. Ожидает ответа или таймаута, и передаёт соответствующий ответ блоку XML, отправки ответа клиенту.

OpusXMLClient

OpusXMLClient - это Java апплет, позволяющий оператору Opus получить доступ через любой интернет-браузер, к таким утилитам SCADA системы, как:

  • Таблицы текущих данных (DataTables)
  • Просмотр данных предыстории (HistoryViewer)

В дальнейшем предполагается также осуществить реализацию доступа к мнемосхемам (MimicViewer), а также просмотр трендов (TrendViewer).

Демонстрация доступа к OPUS через XML

Для того, чтобы получить доступ к демонстрационному приложению Phocus 4 через XML достаточно использовать любой web-браузер с активизированной виртуальной Java-машиной. Необходимо установить Java Runtime версии 1.4 или полее поздней (можно бесплатно загрузить с сайта http://www.sun.com).

Онлайн-демонстрация

Данные демонстрационного приложения Phocus/OPUS можно получить через Internet, набрав в окне браузера адрес страницы, содержащей XML запрос к OPUS’у:
http://194.67.176.121/OpusXMLClient.htm

Демонстрационная система

Запрос адресуется системе, работающей под управлением ОС QNX4.25, в которой установлена демонстрационная SCADA система Phocus/Opus, web-сервер Apache для QNX, а также собственно модуль OpusXML. Следует отметить, что для демонстрации компактности и производительности Phocus/Opus эта система работает на ПК со следующими характеристиками:

  • CPU: Pentium 200 MHz
  • RAM Memory: 32 MBytes
  • Hard Drive: 128 MB Flash IDE (PQI Disk-on-Module)
  • Net: 10 Mbit Ethernet

Таким образом, полнофункциональная SCADA система успешно функционирует на недорогой и доступной аппаратной платформе, отличающейся пассивным охлаждением и чрезвычайной устойчивостью к вибрациям и ударам, что позволяет использовать ее в качестве встраиваемой и/или бортовой системы.
Причем для накапливаемых данных предыстории при запуске имеется около 30 Мб свободного пространства на Flash-диске!

Итак, в окне авторизации доступа на стороне клиента предлагается выбор класса пользователя (superuser, operator и т.п.). Для демо-приложения класс пользователя на тип доступа не влияет и пароль не требуется.

В случае удачной загрузки Java аплета PhocusWindow в окне браузера отобразится таблица текущих данных приложения Phocus:

Просмотр данных через таблицы допускает фильтрацию типов выводимых данных:

  • по функциональным группам (данные приложения, системные данные);
  • по типам (аналоговые, дискретные, логические).

Так, если выбрать ГРУППЫ ПЕРЕМЕННЫХ: _SYSTEM_DATA на экран будет выведена таблица системных данных Phocus’а:

Чтобы посмотреть данные Предыстории, необходимо предварительно выйти из просмотра текущих данных, нажав на кнопку ‘Закрыть’ в правом верхнем углу таблицы, а затем через подменю Инструменты выбрать ‘Данные предыстории’.