OpenSCADAWiki: Home Page Uk/Doc/ Web Vision ...

Home | Index | Changes | Comments | Users | Registration | Login  Password:  
 
This is an old revision of HomePageUk/Doc/WebVision from 2016-12-30 17:03:44..
English (1 Kb) English
Russian (1 Kb) Русская
 (2 Kb) Переклад

Модуль "WebVision" підсистеми "Користувацькі інтерфейси"

Модуль: WebVision
Ім'я: Робочий користувацький інтерфейс (WEB)
Тип: Користувацькі інтерфейси
Джерело: ui_WebVision.so
Версія: 1.7.0
Автор: Роман Савоченко, Максим Лисенко (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), так і вкладаючи всередину віджетів контейнерів.


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

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

Головне вікно режиму виконання. (112 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)


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


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


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


Частина екрану з кадром, який містить елементи форми. (22 Kb)

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


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


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


Частина екрану з кадром, який містить приклади перегляду/програвання медіа-даних. (20 Kb)

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


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


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


Частини екрану з кадром, який містить приклади діаграм: "Графік", "Спектр" та "XY". (11 Kb)

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


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


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


Частина екрану з кадром, який містить приклад протоколу. (14 Kb)

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


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


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


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


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


Кадр, який містить приклад документу. (47 Kb)

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


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

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

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


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

Заключение

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

Ссылки

Referring pages: HomePageUk/Developers
HomePageUk/Doc
HomePageUk/Doc/HTTP
HomePageUk/Function
HomePageUk/Using/PLC/firmware
HomePageUk/Using/PLC/firmwareARM
HomePageUk/Using/SmartHouse


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