Модуль | Имя | Версия | Лицензия | Источник | Языки | Платформы | Тип | Автор | Описание |
---|---|---|---|---|---|---|---|---|---|
LogicLev | Логический уровень | 2.9 | GPL2 | daq_LogicLev.so | en,uk,ru,de | x86,x86_64,ARM | DAQ | Роман Савоченко | Предоставляет чистый логический уровень параметров сбора данных. |
Модуль является чистой реализацией механизма логического уровня, основанного на шаблонах параметров подсистемы "Сбор данных (DAQ)". Реализация модуля основана на проекте "Логический уровень параметров OpenSCADA". Практически, данный модуль является реализацией подсистемы "Параметры" указанного проекта, без шаблонов и вынесенная в модуль.
Модуль предоставляет механизм формирования параметров подсистемы "DAQ" уровня пользователя на основе других источников этой подсистемы. Фактически, модулем используются шаблоны подсистемы "DAQ" и специфический формат описания ссылок на атрибуты параметров подсистемы "DAQ".
Также, модулем реализуются функции горизонтального резервирования, а именно — совместной работы с удалённой станцией этого-же уровня. Кроме синхронизации значений и архивов атрибутов параметров, модулем осуществляется синхронизация значений вычислительных шаблонов с целью безударного подхвата алгоритмов.
Для добавления источника данных параметров логического уровня создаётся и конфигурируется объект контроллера OpenSCADA. Пример вкладки конфигурации объекта контроллера данного типа изображен на рисунке 1.
With this tab you can set:
The module provides two types of parameters: "Logical (Prm)" and "Reflection parameter (PrmRefl)". The additional configuration fields of the parameters of this module (Fig. 2) are:
При формировании шаблона логического типа параметра этого модуля нужно учитывать особенность формата ссылки шаблона. Ссылка должна записываться в виде: {Параметр}|{Идентификатор}, где:
Подобная запись позволяет группировать несколько атрибутов одного исходного параметра и назначать их выбором только самого параметра. Т.е., в диалоге конфигурации шаблона (рис.3) будет указываться только параметр. Это однако не исключает возможности назначать атрибуты параметров отдельно каждый, кроме того, если опустить в конфигурации шаблона описание ссылки в указанном формате, то назначаться будет атрибут параметра (рис.4).
Модулем предусмотрена особая обработка ряда атрибутов шаблона:
Знак "(+)", в конце адреса, сигнализирует об успешном связывании и присутствии целевого объекта. Для атрибутов объектного типа допустим иерархический доступ к конкретному свойству объекта путём указания его пути через символ '#', например: "LogicLev.experiment.Pi.var#pr1.pr2".
В соответствии с шаблоном, лежащим в основе параметра, мы получаем набор атрибутов параметра как на рисунке 5.
Все атрибуты указанного для отражения параметра просто становятся доступными у данного параметра, тем самым осуществляя функцию проксирования, например, для сведения параметров других источников в один — экспортный объект контроллера (для ПЛК).
В виду поддержки параметров логического типа, имеет смысл предоставление ряда функций пользовательского API для их вызова из шаблона логического параметра.
Объект "Параметр" [this]
Service functions are an interface for accessing OpenSCADA from external systems through the Control Interface. This mechanism is the basis of all exchange within OpenSCADA, implemented through weak links and OpenSCADA's own exchange protocol.
Getting for values of the template IO of the Logical Level parameter of the controller object
REQ: <get path="/DAQ/LogicLev/{CNTR}/prm_{PRM}[/prm_{PRM}]/%2fserv%2ftmplAttr" />
RESP: <get path="/DAQ/LogicLev/{CNTR}/prm_{PRM}[/prm_{PRM}]/%2fserv%2ftmplAttr" rez="0">{IOs}</get>
<get path="/DAQ/LogicLev/gen/prm_F3/%2fserv%2ftmplAttr" rez="0" user="roman">
<ta id="in">44.9998202036118</ta>
<ta id="inProc" />
<ta id="var">44.9999585116556</ta>
<ta id="ed">ton/h</ta>
<ta id="min">0</ta>
<ta id="max">100</ta>
<ta id="scSqr">0</ta>
</get>
Setting for values of the template IO of the Logical Level parameter of the controller object
REQ[root-DAQ]: <set path="/DAQ/LogicLev/{CNTR}/prm_{PRM}[/prm_{PRM}]/%2fserv%2ftmplAttr">{IOs}</set>
<set path="/DAQ/LogicLev/gen/prm_F3/%2fserv%2ftmplAttr">
<ta id="in">44.9998202036118</ta>
<ta id="var">44.9999585116556</ta>
</set>
Modules/LogicLev/ru - GFDL | March 2024 | OpenSCADA 0.9.7 |