Модуль: | LogicLev |
Имя: | Логический уровень |
Тип: | DAQ |
Источник: | daq_LogicLev.so |
Версия: | 1.5.0 |
Автор: | Роман Савоченко |
Описание: | Предоставляет логический уровень параметров. |
Лицензия: | GPL |
Модуль является чистой реализацией механизма логического уровня, основанного на шаблонах параметров подсистемы "Сбор данных — DAQ". Реализация модуля основана на проекте "Логический уровень параметров системы OpenSCADA?". Практически, данный модуль является реализацией подсистемы "Параметры" указанного проекта без шаблонов и вынесенная в модуль.
Модуль предоставляет механизм формирования параметров подсистемы "DAQ" на основе других источников этой подсистемы на уровне пользователя. Фактически, модулем используются шаблоны подсистемы "DAQ" и специфический формат описания ссылок на атрибуты параметров подсистемы "DAQ".
Также модулем реализуются функции горизонтального резервирования, а именно совместной работы с удалённой станцией этого-же уровня. Кроме синхронизации значений и архивов атрибутов параметров модулем осуществляется синхронизация значений вычислительных шаблонов, с целью безударного подхвата алгоритмов.
Для добавления источника данных параметров логического уровня создаётся и конфигурируется контроллер в системе OpenSCADA. Пример вкладки конфигурации контроллера данного типа изображен на рис.1.
С помощью этой вкладки можно установить:
Модуль LogicLev предоставляет два типа параметра: "Логический"(std) и "Отражение параметра"(pRefl). Дополнительными конфигурационными полями параметров данного модуля (рис.2) являются:
При формировании шаблона, для логического типа параметра данного контроллера, нужно учитывать особенность формата ссылки шаблона. Ссылка должна записываться в виде: <Параметр>|<Идентификатор>, где:
Подобная запись позволяет группировать несколько атрибутов одного исходного параметра и назначать их выбором только параметра. Т.е. в диалоге конфигурации шаблона (рис.3) будет указываться только параметр. Это не исключает возможности назначать атрибуты параметров отдельно каждый, кроме того, если опустить в конфигурации шаблона описание ссылки в указанном формате, то назначаться будет атрибут параметра (рис.4).
Модулем предусмотрена особая обработка ряда атрибутов шаблона:
Знак "(+)", в конце адреса, сигнализирует об успешной линковке и присутствии целевого объекта. Для атрибутов объектного типа допустим иерархический доступ к конкретному свойству объекта путём указания его пути через символ '#', например: "LogicLev.experiment.Pi.var#pr1.pr2".
В соответствии с шаблоном, лежащим в основе параметра, мы получаем набор атрибутов параметра рис.5.
Все атрибуты указанного для отражения параметра просто становятся доступными у данного параметра тем самым осуществляя функцию проксирования, например, для сведения параметров других источников в один, экспортный, объект контроллера (для ПЛК).
В виду поддержки модулем параметров логического типа имеет смысл предоставление ряда функций пользовательского API для вызова из шаблона логического параметра.
Объект "Параметр" [this]