OpenSCADAWiki: Doc/VCA/part4/part13 ...

Home | Index | Changes | Comments | Users | Registration | Login  Password:  
 
This is an old revision of Doc/VCA/part4/part13 from 2008-10-07 10:21:23..

Сервисные интерфейсы OpenSCADA, реализуемые в рамках данного проекта, для доступа к элементам СВУ

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

Архивные данные

Для доступа к архивным данным системы OpenSCADA из элементов СВУ, например из визуализаторов для построения трендов и других диаграм, необходим гибкий и оптимизированный интерфейс, в виду большого объёма и широты возможных режимов работы подсистемы архивирования значений. В основе интерфейса управления OpenSCADA лежит язык XML, на котором передаются команды и получаются ответы. Локально, работа с XML сводится к работе с деревом объектов (тегов) XML, исключая стадию преобразования в символьный поток и парсинг.


Для запроса данных архива, в подсистеме архивирования, объекта архива значения, и объекте атрибута параметра, подсистемы сбора данных, предусмотрим команды <info path="{a_p_addr}/%2fserv%2fval"/> и <get path="{a_p_addr}/%2fserv%2fval"/> для запроса информации об архиве и значений архива, соответственно. Атрибуты данных команд, предусматривающие различные механизмы запроса, представим в таблице 12.


Таблица 12. Атрибуты команд запроса информации об архиве и архивных данных

IdИмяЗначение
Команда запроса информации об архиве: <info path="{a_p_addr}/%2fserv%2fval"/>
arch Установка имени архиватора архива Архиватор архива для которого определять параметры.
end Контроль вершины архива в данном архиваторе В результате запроса указывает на реальную вершину архива значений в данном архиваторе <arch>. В случае отсутствия архива атрибут устанавливается в "0".
beg Контроль глубины архива в данном архиваторе В результате запроса указывает на реальную глубину архива значений в данном архиваторе <arch>. В случае отсутствия архива атрибут устанавливается в "0".
per Контроль периодичности архива в данном архиваторе В результате запроса указывает на реальную периодичность значений в данном архиваторе <arch>. В случае отсутствия архива атрибут устанавливается в "0".
vtp Контроль типа значений архива/параметра Возвращает код типа значений архивных данных: 0 - Boolean, 1 - Integer, 4 - Real, 5 - String. Только данное свойство доступно в случае запроса у параметра без архива!
Команда запроса архивных и/или текущих данных: <get path="{a_p_addr}/%2fserv%2fval"/>
tm Установка и контроль времени Время запрашиваемого значения или вершины блока архива значений. Если атрибут не указан или равен "0", то возвращается последнее значение. Значение данного атрибута устанавливается в значение времени полученного значения или вершины блока архивных данных.
tm_grnd Установка и контроль времени основания/начала архива Указывает основание/начало архива. Если атрибут не указан или равен "0", то производится запрос одного значения. Значение данного атрибута устанавливается в значение времени основания блока архивных данных.
per Установка и контроль периодичности получаемых значений Периодичность запрашиваемых значений. Если атрибут не указан, равен "0" или меньше чем реальная периодичность архива, то значения будут возвращаться с реальной периодичностью архива и значение данного атрибута установится в значение реальной периодичности. Если значение атрибута больше реальной периодичности, то значения архива будут усредняться к указанной периодичности.
arch Установка и контроль архиватора архива Указывает у какого архиватора запрашивать значения. Если архиватор не указан, то запрос будет производиться последовательно, с приоритетностью от лучшего к худшему. Имя архиватора, у которого получены значения будет указанно в данном атрибуте при возврате результата. Если архиватор для данного параметра не установлен или такого архиватора нет, то значений данного атрибута будет обнулено. В случае выполнение запроса пересекающего несколько архиваторов выполняется обработка только первого архиватора с указанием его имени и размерности в соответствующих атрибутах. Для запроса данных последующих архиваторов запрос повторяется отталкиваясь от размерности предыдущего запроса.
mode Установка и контроль режима передачи данных архива

Указывается форма в которой желательно получать данные архива. Предусматриваются следующие режимы/формы передачи данных архивов:

0 -- Простая запись: одно значение - одна строка, без упаковки смежных значений. В случае архива строк, значения кодируются на предмет исключения символов перевода строки. Пример формы записи:
34.5678
23.6543
65.8754
34.6523

1 -- Упакованная запись по принципу сворачивания смежных значений: одно значение - одна запись. Перед каждым значением указывается его позиционный номер, отделённый пробелом:

0 34.5678
1 23.6543
4 65.8754
6 34.6523

2 -- Массив бинарных, не упакованных значений, кодированный Mime Base64. Не может быть использован для строковых архивов.
real_prec Установка точности вещественных чисел Указывает с какой точностью передавать данные значений вещественного типа, в режиме "0" и "1". По умолчанию эта точность составляет 6 значащих цифр.
round_perc Установка процента округления Указывает процент округления смежных числовых значений, для режима "1".

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

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


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

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

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

С целью унификации и оптимизации доступа к страницам предусмотрена сервисная функция сеанса "/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>. Если данный атрибут устанавливается при запросе, то для каждой открытой страницы возвращается список изменённых, с момента указанного значения счётчика, виджетов открытой страницы.

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

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


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

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 Установка имени сеанса Указывает имя сеанса от которого выполняется отключение или закрытие. Сеансы, не являющиеся фоновыми и к которым ни один из визуализаторов не подключен автоматически закрываются.

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