OpenSCADAWiki: Doc/ Web Vision ...

Home | Index | Changes | Comments | Users | Registration | Login  Password:  
 
This is an old revision of Doc/WebVision from 2009-08-03 12:55:30..

Модуль подсистемы “Пользовательские интерфейсы” <WebVision>

English (1 Kb) English Version
Ukrainian (1 Kb) Українська версія


Модуль:WebVision
Имя:Рабочий пользовательский интерфейс (WEB)
Тип:Пользовательские интерфейсы
Источник:ui_WebVision.so
Версия:0.6.10
Автор:Роман Савоченко
Разработчик:Роман Савоченко, Максим Лысенко, Ксения Яшина
Описание:Web визуальный рабочий пользовательский интерфейс для исполнения проектов среды визуализации и управления (СВУ).
Лицензия:GPL

Contents

Введение

Модуль WebVision предоставляет механизм конечной визуализации среды визуализации и управления (СВУ) в систему OpenSCADA. Модуль основан на WEB технологиях (XHTML, JavaScript, CSS, AJAX). В своей работе модуль использует данные движка СВУ (модуль VCAEngine ).


Среда визуализации и управления (СВУ) является неотъемлемой составляющей SCADA системы. Она применяется на клиентских станциях с целью доступного предоставления информации об объекте управления и выдачи управляющих воздействий на объект. В различных практических ситуациях и условиях могут применяться СВУ, построенные на различных принципах визуализации. Например, это могут быть библиотеки виджетов QT, GTK+, wxWidgets или гипертекстовые механизмы на основе технологий HTML, XHTML, XML, CSS и JavaScript или сторонние приложения визуализации, реализованные на различных языках программирования Java, Python и т.д. Любой из этих принципов имеет свои преимущества и недостатки, комбинация которых может стать непреодолимым препятствием в возможности использования СВУ в том или ином практическом случае. Например, технологии вроде библиотеки QT позволяют создавать высокореактивные СВУ, что несомненно важно для станций оператора управления технологическим процессом (ТП). Однако необходимость инсталляции данного клиентского ПО в отдельных ситуациях может сделать использование его невозможным. С другой стороны Web-технологии не требуют инсталляции на клиентские системы и являются предельно многоплатформенными (достаточно создать ссылку на Web-сервер в любом Web-браузере), что наиболее важно для различных инженерных и административных станций. С другой стороны реактивность и надёжность таких интерфейсов ниже, что практически исключает их использования на станциях оператора ТП.


Система OpenSCADA имеет гибкую архитектуру, которая позволяет создавать внешние интерфейсы, в том числе и пользовательские, на любой основе и на любой вкус. Например, среда конфигурации системы OpenSCADA доступна как на QT библиотеке, так и на Web-основе.


В такой ситуации независимое создание реализаций СВУ на различной основе может повлечь за собой невозможность использования данных конфигурации одной СВУ в другой. Что неудобно и ограничено с пользовательской стороны, а также накладно в плане реализации и последующей поддержки. С целью избежать этих проблем, а также создать в кратчайшие сроки полный спектр различных типов СВУ, основан проект создания концепции СВУ?. Результатом этого проекта и стал данный модуль непосредственной визуализации на основе WEB технологий, модуль непосредственной визуализации Vision и движок СВУ VCAEngine.

1. Назначение

Данный модуль непосредственной визуализации СВУ предназначен только для исполнения интерфейсов СВУ в среде WEB-технологий.


Интерфейс пользователя формируется в WEB-браузере путём обращения к WEB-серверу и получения от него XHTML-документа по протоколу HTTP. В данном случае в роли WEB-сервера выступает система OpenSCADA, которая поддерживает стандартные коммуникационные механизмы TCP-сетей (модуль Transport.Sockets), протокол передачи гипертекста (модуль Protocol.HTTP), а также шифрование трафика между браузером и сервером (Transport.SSL). Исходя из этого, для получения доступа к интерфейсу пользователя, предоставляемого этим модулем, необходимо в OpenSCADA настроить транспорт (Transport.Sockets или Transport.SSL) в связке с протоколом HTTP (Protocol.HTTP). В поставке с системой OpenSCADA идут конфигурационные файлы, содержащие настройки Transport.Sockets для портов 10002 и 10004. Следовательно, интерфейс модуля в конфигурации OpenSCADA по умолчанию будет доступен по URL: http://localhost:10002 или http://localhost:10004.


В финальной версии этого модуля СВУ, построенная на основе данного модуля, обеспечит:

2. Исполнение интерфейсов СВУ

Исполнение интерфейса СВУ заключается в запуске нового сеанса проекта или подключения к существующему на уровне движка СВУ (рис.2). Перед запросом на подключение к сеансу выполняется запрос на аутентификацию пользователя. Далее модуль непосредственной визуализации отражает и управляет данными сеанса. Главное окно режима исполнения данного модуля имеет вид, представленный на рис.3.


Интерфейс окна исполнения полностью строится динамически скриптом JavaScript, исходя из содержимого сеанса проекта путём прямых XML запросов к серверу.


Реализовано обновление содержимого открытых страниц интерфейса визуализации с периодичностью одна секунда. В процессе обновления выполняется:

– запрос списка открытых страниц, с признаком модификации страницы, у модели и проверка соответствия реально открытых страниц этому списку;
– запрос ветви данных модифицированных страниц;
– обновление содержимого модифицированных страниц и их виджетов в соответствии с полученными измененными данными.

Механизм запроса только изменённых данных основан на абсолютном счётчике исполнения сессии. При внесении реальных изменений в атрибуты виджетов выполняется запоминание значения этого счётчика, что и позволяет идентифицировать изменённые атрибуты. Такой подход позволяет повысить производительность и уменьшить нагрузку на трафик, в случае доступа к движку СВУ через сеть.


Иерархически модулем предусматривается возможность размещения страниц проекта как на главном окне исполнения WEB-браузера (рис.3), так и вкладывая внутрь виджетов контейнеров.


Страница аутентификации. (12 Kb)
Рис.1. Страница аутентификации.

Подключение или создание нового сеанса исполнения проекта СВУ. (24 Kb)
Рис.2. Подключение или создание нового сеанса исполнения проекта СВУ.

Главное окно режима исполнения. (113 Kb)
Рис.3. Главное окно режима исполнения.

3. Представление базовых элементов (примитивов)

В данной версии этого модуля реализованы не все образы примитивов заложенные этим проектом. В общем же проектом заложены примитивы:

IdНаименованиеФункция
ElFigureЭлементарные графические фигуры

Примитив является основой для отрисовки элементарных графических фигур со всевозможной комбинацией их в одном объекте. Предусматривается поддержка следующих элементарных фигур:

  • Линия.
  • Дуга.
  • Кривая безье.
  • Заливка замкнутого пространства.

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

FormElЭлементы формы.

Включает поддержку стандартных компонентов формы:

  • Редактирование строки.
  • Редактирование текста.
  • Флажок.
  • Кнопка.
  • Поле выбора из списка.
  • Список.
  • Слайдер.
  • Строка прокрутки.
TextТекстЭлемент текста(метки). Характеризуется типом шрифта, цветом, ориентацией и выравниванием.
MediaМедиаЭлемент отображения растровых и векторных изображений различных форматов, проигрывания анимированных изображений, проигрывание аудио фрагментов и просмотр видео-фрагментов. Возможно в него стоит включить поддержку OpenGL!
DiagramДиаграммаЭлемент диаграммы с поддержкой возможности отображения нескольких потоков трендов и различных режимов отображения, от минималистического до полноэкранного, двухмерного, трёхмерного, кругового и т.д.
ProtocolПротоколЭлемент протокола, визуализатора системных сообщений, с поддержкой различных режимов работы при различных размерах и установках.
DocumentДокументЭлемент формирования отчётов, журналов и другой документации на основе указанных данных.
FunctionФункция API объектной модели OpenSCADAНевизуальный, на стороне исполнения, виджет, позволяющий включать вычислительные функции объектной модели OpenSCADA в СВУ.
BoxКонтейнерСодержит механизм размещения других виджетов с целью формирования новых, более сложных виджетов и страниц конечной визуализации.

Более детально рассмотрим реализацию каждого примитива.

3.1. Примитив элементарная фигура (ElFigure)

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


На рис. 4 представлена часть экрана с кадром, содержащим вышеперечисленные элементарные фигуры.


Часть экрана с кадром, содержащим элементарные фигуры. (7 Kb)
Рис.4 Реализация элементарных фигур в WebVision.

3.2. Примитив текста (Text)

Реализована поддержка элемента текста со свойствами:


На рис. 5 представлена часть экрана с кадром, содержащим примеры текста с использованием различных параметров.


Часть экрана с кадром, содержащим примеры текста с использованием различных параметров. (10 Kb)
Рис.5. Реализация базового элемента текста в WebVision.

3.3. Примитив элементов формы (FormEl)

Реализована поддержка элементов формы на кадрах СВУ. Реализованы заложенные свойства, включая следующие элементы формы:

Редактор строки -- Представлено следующими видами: "Текст", "Combo", "Целое", "Вещественное", "Время", "Дата", "Время и Дата".
Редактор текста -- Представляет редактор плоского текста с подтверждением или отказом от ввода.
Поле флажка -- Предоставляет поле бинарного флажка.
Кнопка -- Предоставляет кнопку с поддержкой: цвета кнопки, изображения в кнопке и режима фиксации.
Выбор из списка -- Предоставляет поле выбора элемента, со списка указанных элементов.
Список -- Предоставляет поле списка с контролем за текущим элементом.
Слайдер -- Элемент слайдера (не реализован).
Прогрес-бар -- Полоска прогресс-бара (не реализован).

Реализованы режимы: «Включен» и «Активен», а также передача изменений и событий в модель данных СВУ (движок). Для всех реализованных представлений поддерживается активный режим, т.е. элементы могут быть использованы для создания форм пользовательского ввода.


На рис. 6 представлена часть экрана с кадром, содержащим вышеперечисленные элементы формы.


Часть экрана с кадром, содержащим элементы формы. (21 Kb)
Рис.6. Реализация элементов формы в WebVision.

3.4. Примитив отображения медиа-материалов (Media)

Реализована поддержка элемента отображения медиа-материалов со свойствами:


На рис. 7 представлена часть экрана с кадром, содержащим примеры просмотра/проигрывания медиа-данных.


Часть экрана с кадром, содержащим примеры просмотра/проигрывания медиа-данных. (20 Kb)
Рис.7. Реализация базового элемента отображения медиа-материалов в WebVision.

3.5. Примитив построения диаграмм/графиков (Diagram)

Реализована поддержка элемента построения диаграмм/трендов со свойствами:


На рис. 8 представлена часть экрана с кадром, содержащим примеры диаграммы-тренда.


Реализация базового элемента отображения диаграммы в WebVision. (11 Kb)
Рис.8. Реализация базового элемента отображения диаграммы-тренда в WebVision.

3.6. Примитив формирования протокола (Protocol)

Реализована поддержка элемента формирования протокола со свойствами:


На рис. 9 представлена часть экрана с кадром, содержащим пример протокола.


Часть экрана с кадром, содержащим пример протокола. (14 Kb)
Рис.9 Реализация базового элемента отображения протоколов в WebVision.

3.7. Примитив формирования отчётной документации (Document)

Реализована поддержка элемента формирования отчётной документации со свойствами:


В основе любого документа лежит XHTML-шаблон. XHTML-шаблон это тег 'body', WEB-страницы, содержащий статику документа в стандарте XHTML 1.0 и элементы исполняемых инструкций на одном из языков пользовательского программирования OpenSCADA в виде <?dp <procedure> ?>. Результирующий документ формируется путём исполнения процедур и вставки их результата в документ.


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


На рис. 10 представлен кадр, содержащий пример документа.


Кадр, содержащий пример документа. (48 Kb)
Рис.10 Реализация базового элемента отображения отчётной документации в WebVision.

3.8. Примитив контейнера (Box)

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

Контейнер -- Позволяет формировать нужные объекты путём группировки базовых в рамках данного примитива.
Страница -- Элементы построенные на данном примитиве могут выполнять роль страницы пользовательского интерфейса.
Контейнер страниц -- Свойство замещения собственного содержимого другой страницей, в процессе исполнения. Используется для формирования фреймов на страницах пользовательского интерфейса. Например, главная страница традиционной SCADA системы с объектами сигнализации строится именно таким образом.
Фон -- Поддерживает возможность указания фона в виде цвета или изображения.
Бордюр -- Поддерживает возможность изображения бордюра с указанным цветом, толщиной и стилем.

4. Общая конфигурация модуля

Для настройки собственного поведения, в не очевидных ситуациях, модулем предоставляется возможность настройки отдельных параметров посредством интерфейса управления OpenSCADA (рис. 11). Таковыми параметрами являются:


Страница конфигурации модуля. (87 Kb)
Рис.11. Страница конфигурации модуля.

Заключение

На данном этапе модуль уже может быть использован для построения реальных интерфейсов пользователя с поддержкой основных функций. Однако отдельные проблемы могут возникать как по причине недоработанности, так и различия браузеров. Сейчас достаточно качественно обеспечена работоспособность на браузерах: FireFox, Konqueror и Opera.


 
There are no files on this page.[Display files/form]
There is no comment on this page. [Display comments/form]