OpenSCADAWiki: Doc/ Web Vision
 
English (1 Kb) English
Ukrainian (1 Kb) Українська

 (2 Kb) Страница заморожена, актуальная тут.

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

Модуль: WebVision
Имя: Рабочий пользовательский интерфейс (WEB)
Тип: Пользовательские интерфейсы
Источник: ui_WebVision.so
Версия: 2.2
Автор: Роман Савоченко, Максим Лысенко (2007-2012), Ксения Яшина (2007-2008)
Описание: 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), так и вкладывая внутрь виджетов контейнеров.

Модулем поддерживается многоязычность, которая включается динамическим переводом сообщений OpenSCADA. Полученный язык передаётся модулем Protocol.HTTP и определяется путём и в последовательности:

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


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


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

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

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

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

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


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

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

Часть экрана с кадром, содержащим элементарные фигуры. (7 Kb)


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


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

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

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


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


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

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

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

Часть экрана с кадром, содержащим элементы формы. (21 Kb)


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


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

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

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


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


Реализована поддержка элемента построения диаграмм для типов "График", "Спектр" и "XY" со свойствами:

На рисунке представлена часть экрана с кадром, содержащим примеры диаграмм: "График", "Спектр" и "XY".

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


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


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

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

Часть экрана с кадром, содержащим пример протокола. (14 Kb)


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


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

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

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

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

Кадр, содержащий пример документа. (48 Kb)


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


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

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

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

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

Заключение

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

Ссылки

Referring pages: Developers
Doc
Doc/HTTP
Doc/QuickStart
Doc/VCA
Doc/VCAEngine
Doc/Vision
Function
Using/PLC/firmware
Using/PLC/firmwareARM
Using/SmartHouse