OpenSCADAWiki: Doc/API/part18
 

18. Сервисные функции интерфейса управления OpenSCADA

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

18.1. Групповой доступ к значениям атрибутов параметров подсистемы "Сбор данных", а также к детальной информации

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

Таблица 23. Атрибуты команд запроса атрибутов параметров подсистемы "Сбор данных"
IdИмяЗначение
Команда запроса информации об атрибутах параметра: <list path="/sub_DAQ/mod_{SRC}/cntr_{CNTR}/prm_{PRM}/%2fserv%2fattr"/>
<el id="iatr"/> Информация атрибутов В отдельных тегах возвращается информация об атрибуте.
id
Идентификатор атрибута Символьный идентификатор отдельно взятого атрибута.
nm
Имя атрибута Имя отдельно взятого атрибута.
flg
Флаги атрибута Флаги отдельно взятого атрибута.
tp
Тип атрибута Тип отдельно взятого атрибута.
vals
Область значений атрибута. Область значений отдельно взятого атрибута.
names
Имена значений атрибута для выборочного типа. Имена значений отдельно взятого атрибута для выборочного типа.
Команда запроса значений всех атрибутов параметра: <get path="/sub_DAQ/mod_{SRC}/cntr_{CNTR}/prm_{PRM}/%2fserv%2fattr"/>
<el id="iatr">val</el> Значения атрибутов В отдельных тегах возвращается значение атрибутов.
Команда установки значений указанных атрибутов параметра: <set path="/sub_DAQ/mod_{SRC}/cntr_{CNTR}/prm_{PRM}/%2fserv%2fattr"/>
<el id="iatr">val</el> Указываются значения атрибутов В отдельных тегах указываются значение атрибутов.

18.2. Доступ к архивным данным архивов сообщений

Для запроса и установки данных архива в подсистеме архивирования объекта архива сообщений предусмотрена команда <info path="/sub_Archive/%2fserv%2fmess"/>, <get path="/sub_Archive/%2fserv%2fmess"/> и <set path="/sub_Archive/%2fserv%2fmess"/> для запроса информации об архиве, значений архива и установки значений в архив, соответственно. В объекте контроллера подсистемы "Сбор данных" предусмотрен похожий сервисный запрос сообщений генерированных источником данных <get path="/sub_DAQ/{DAQ_TP}/{DAQ_CNTR}/%2fserv%2fmess"/>. Детальное описание данных команд представлено в таблице 24.

Таблица 24. Атрибуты команд запроса информации об архиве значений и архивных данных
IdИмяЗначение
Команда запроса информации об архиве: <info path="/sub_Archive/%2fserv%2fmess"/>
arch Установка имени архиватора архива Архиватор архива, для которого определять параметры.
end Контроль вершины архива в данном архиваторе В результате запроса указывает на реальную вершину архива сообщений в данном архиваторе <arch>.
beg Контроль глубины архива в данном архиваторе В результате запроса указывает на реальную глубину архива сообщений в данном архиваторе <arch>.
Команда запроса архивных и/или текущих данных: <get path="/sub_Archive/%2fserv%2fmess"/>
tm Установка времени Время вершины блока архива сообщений.
tm_grnd Установка времени основания/начала архива Указывает основание/начало архива.
arch Установка архиватора архива Указывает, у какого архиватора запрашивать значения. Если архиватор не указан, то запрос будет производиться последовательно у всех архиваторов с исключением дубликатов.
cat Установка категории сообщений Указывает категорю/шаблоны запрашиваемых сообщений.
lev Установка уровня важности Указывает уровень важности сообщений, для которого и выше получать сообщения.
<el>{mess}</el> Сообщения В отдельных тегах возвращаются сообщения.
time, utime
Время сообщения (секунды, микросекунды) Время отдельно взятого сообщения.
cat
Категория сообщения Категория отдельно взятого сообщения.
lev
Уровень сообщения Уровень отдельно взятого сообщения.
Команда установки архивных данных: <set path="/sub_Archive/%2fserv%2fmess"/>
<el>{mess}</el> Сообщения В отдельных тегах указываются сообщения для установки.
time, utime
Время сообщения (секунды, микросекунды) Время отдельно взятого сообщения.
cat
Категория сообщения Категория отдельно взятого сообщения.
lev
Уровень сообщения Уровень отдельно взятого сообщения.
Команда запроса архивных и/или текущих данных источника данных: <get path="/sub_DAQ/{DAQ_TP}/{DAQ_CNTR}/%2fserv%2fmess"/>
tm Установка времени Время вершины блока архива сообщений. Если значение нулевое то запрос осуществляется от текущего времени и это время возвращается.
tm_grnd Установка времени основания/начала архива Указывает основание/начало архива.
lev Установка уровня важности Указывает уровень важности сообщений, для которого и выше получать сообщения.
<el>{mess}</el> Сообщения В отдельных тегах возвращаются сообщения.
time, utime
Время сообщения (секунды, микросекунды) Время отдельно взятого сообщения.
cat
Категория сообщения Категория отдельно взятого сообщения.
lev
Уровень сообщения Уровень отдельно взятого сообщения.

18.3. Доступ к архивным данным архивов значений

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

Таблица 25. Атрибуты команд запроса информации об архиве значений и архивных данных
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".
Команда запроса имени архивного параметра или самого архива: <name path="{a_p_addr}/%2fserv%2fval"/>