OpenSCADAWiki: Doc/VCA/part4/part14 ...

Home | Index | Changes | Comments | Users | Registration | Login  Password:  
 
This is an old revision of Doc/VCA/part4/part14 from 2015-08-03 17:47:12..

4.14 API пользовательского программирования и сервисные интерфейсы OpenSCADA

4.14.1 API пользовательского программирования

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

Список виджетов (WdgList)

Описание: Возвращает список виджетов в контейнере виджетов или список дочерних виджетов. Если установлено <pg> то возвращается список страниц для проектов и сеансов.
Параметры:

ID Имя Тип Режим По умолчанию
list Список Строка Возврат
addr Адрес Строка Вход
pg Страницы Bool Вход 0
Присутствие узла (NodePresent)

Описание: Проверка на присутствие узла, включая виджеты, атрибуты и другие.
Параметры:

ID Имя Тип Режим По умолчанию
rez Результат Bool Возврат
addr Адрес Строка Вход
Список атрибутов (AttrList)

Описание: Возвращает список атрибутов виджета. Если установлен <noUser> тогда возвращаются только не пользовательские атрибуты.
Параметры:

ID Имя Тип Режим По умолчанию
list Список Строка Возврат
addr Адрес Строка Вход
noUser Без пользовательских Bool Вход 1
Запрос атрибута (AttrGet)

Описание: Запрос значения атрибута виджета. Запрос может осуществляться как указанием полного адреса атрибута в <addr>, так и отдельно адреса виджета в <addr>, а идентификатора атрибута в <attr>.
Параметры:

ID Имя Тип Режим По умолчанию
val Значение Строка Возврат
addr Адрес Строка Вход
attr Атрибут Bool Вход
Установка атрибута (AttrSet)

Описание: Установка значения атрибута виджета. Установка может осуществляться как указанием полного адреса атрибута в <addr>, так и отдельно адреса виджета в <addr>, а идентификатора атрибута в <attr>.
Параметры:

ID Имя Тип Режим По умолчанию
addr Адрес Строка Вход
val Значение Строка Вход
attr Атрибут Bool Вход

4.14.2 Сервисные интерфейсы OpenSCADA

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

Доступ к значениям атрибутов элементов визуализации (виджеты)

С целью предоставления унифицированного, группового и сравнительно быстрого доступа к значениям атрибутов визуальных элементов предусмотрена сервисная функция визуального элемента "/serv/attr" и команды получения/установки значений атрибутов: <get path="/UI/VCAEngine/{wdg_addr}/%2fserv%2fattr"/> и <set path="/UI/VCAEngine/{wdg_addr}/%2fserv%2fattr"/>. Атрибуты данных команд, предусматривающие различные механизмы запроса, представим в таблице 4.14.2.a.


Таблица 4.14.2.a Атрибуты команд получения/установки атрибутов визуальных элементов

IdИмяЗначение
Команда запроса визуальных атрибутов виджета: <get path="/UI/VCAEngine/{wdg_addr}/%2fserv%2fattr"/>
tm Время/счётчик изменений Установка времени/счётчика изменений для запроса только изменившихся атрибутов.
<el id="{attr}" p="{a_id}">{val}</el> Формирование дочерних элементов с результатами атрибутов В дочернем элементе указываются: строковых идентификатор {attr} атрибута, индекс {a_id} атрибута и его значение {val}.
Команда установки визуальных атрибутов виджета: <set path="/UI/VCAEngine/{wdg_addr}/%2fserv%2fattr"/>
<el id="{attr}">{val}</el> Установка атрибутов В дочерних элементах указывается идентификатор атрибута {attr} и его значение {val}.
Групповой доступ к значениям атрибутов элементов визуализации (виджеты)

С целью оптимизации трафика сетевого взаимодействия путём исключения мелких запросов, а использования одного, но большого запроса создан групповой запрос значений атрибутов визуальных элементов. Группировка данного запроса подразумевает запрос атрибутов всей ветви виджета, включая и вложенные элементы. Для данного запроса предусмотрена сервисная команда "/serv/attrBr". Запрос данной сервисной команды эквивалентен сервисной команде "/serv/attr" и выглядит следующим образом:
<get path="/UI/VCAEngine/{wdg_addr}/%2fserv%2fattrBr"/>

tm -- Время/счётчик изменений. Установка времени/счётчика изменений для запроса только изменившихся атрибутов.

Результат:
<el id="{attr}" p="{a_id}">{val}</el> -- Элементы с результатами атрибутов. В элементе указываются: строковых идентификатор {attr} атрибута, индекс {a_id} атрибута и его значение {val}.
<w id="{wid}" lnkPath="{lnk_path}">{childs+attrs}</w> -- Элементы с дочерними виджетами и их атрибутами. В элементе указываются идентификатор дочернего виджета {wid} и путь виджета на который ссылается данный виджет если он является ссылкой {lnk_path}.

Доступ к страницам сеанса

С целью унификации и оптимизации доступа к страницам предусмотрена сервисная функция сеанса "/serv/pg" и команды запроса перечня открытых страниц (<openlist path="/UI/VCAEngine/ses_{Session}/%2fserv%2fpg"/>); открытия страницы (<open path="/UI/VCAEngine/ses_{Session}/%2fserv%2fpg"/>); и закрытия страницы <close path="/UI/VCAEngine/ses_{Session}/%2fserv%2fpg"/>).


Результатом запроса перечня открытых страниц являются дочерние элементы <el>{OpPage}</el> содержащие полный путь открытой страницы. Кроме перечня открытых страниц запрос возвращает значение текущего счётчика вычисления сеанса в атрибуте <tm>. Если данный атрибут устанавливается при запросе, то для каждой открытой страницы возвращается список изменённых, с момента указанного значения счётчика, виджетов открытой страницы.

Управление сигнализацией

Для предоставления механизма глобального контроля за сигнализацией сеанса предусмотрена сервисная функция сеанса "/serv/alarm" и команды запроса статуса сигналов (<get path="/UI/VCAEngine/ses_{Session}/%2fserv%2falarm"/>); и квитации сигналов (<quittance path="/UI/VCAEngine/ses_{Session}/%2fserv%2falarm"/>).


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


Запрос на квитацию выполняет квитацию указанного виджета, атрибут <wdg>, в соответствии с шаблоном, атрибут <tmpl>.

Манипуляция сеансами проектов

Для предоставления унифицированного механизма манипуляции сеансами, визуализаторам СВУ, в модуле движка СВУ (VCAEngin) предусмотрена сервисная функция "/serv/sess" и команды запроса перечня открытых сеансов, подключения/создания нового сеанса и отключения/удаления сеанса: <list path="/UI/VCAEngine/%2fserv%2fsess"/>, <connect path="/UI/VCAEngine/%2fserv%2fsess"/> и <disconnect path="/UI/VCAEngine/%2fserv%2fsess"/> соответственно. Атрибуты данных команд, предусматривающие различные механизмы запроса, представим в таблице 4.14.2.b.


Таблица 4.14.2.b. Атрибуты команд механизма манипуляции сеансами

IdИмяЗначение
Команда запроса перечня открытых сеансов для проекта: <list path="/UI/VCAEngine/%2fserv%2fsess"/>
prj Указание проекта Указывает проект для которого возвращать перечень открытых сеансов.
<el>{Session}</el> Контроль перечня сеансов В дочерних элементах указываются сеансы, открытые для запрошенного проекта.
Команда подключения/открытия сеанса: <connect path="/UI/VCAEngine/%2fserv%2fsess"/>
sess Установка и контроль имени сеанса Если атрибут определён, то производится подключение к существующему сеансу, иначе создание нового сеанса. В случае открытия нового сеанса в данный атрибут помещается его имя.
prj Установка имени проекта Используется для открытия нового сеанса для указанного проекта и если атрибут {sess} не указан.
Команда отключения/закрытия сеанса: <disconnect path="/UI/VCAEngine/%2fserv%2fsess"/>
sess Установка имени сеанса Указывает имя сеанса от которого выполняется отключение или закрытие. Сеансы, не являющиеся фоновыми и к которым ни один из визуализаторов не подключен автоматически закрываются.
Групповой запрос дерева библиотек виджетов

С целью оптимизации производительности локального и особенно сетевого взаимодействия предусмотрена сервисная функция "/serv/wlbBr" и команда запроса дерева библиотек виджетов: <get path="/UI/VCAEngine/%2fserv%2fwlbBr"/>. Результатом запроса является дерево с элементами библиотек виджетов, теги <wlb>. Внутри тегов библиотек виджетов содержаться тег иконки <ico> и теги виджетов библиотеки <w>. Теги виджетов, в свою очередь, содержат тег иконки и теги дочерних виджетов <cw>.


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