OpenSCADA

Модулі/Логічний рівень

This page is a translated version of the page Modules/LogicLev and the translation is 100% complete.

English • ‎mRussian • ‎Українська
Модуль Ім'я Версія Ліцензія Джерело Мови Платформи Тип Автор Опис
LogicLev Логічний рівень 2.9 GPL2 daq_LogicLev.so en,uk,ru,de x86,x86_64,ARM DAQ Роман Савоченко Надає чистий логічний рівень параметрів сбору даних.

Модуль є чистою реалізацією механізму логічного рівня, заснованого на шаблонах параметрів підсистеми "Збір даних (DAQ)". Реалізація модуля заснована на проекті "Логічний рівень параметрів OpenSCADA". Практично, цей модуль є реалізацією підсистеми "Параметри" вказаного проекту, без шаблонів та винесений до модуля.

Модуль надає механізм формування параметрів підсистеми "DAQ" рівня користувача на основі інших джерел цієї підсистеми. Фактично, модулем використовуються шаблони підсистеми "DAQ" та специфічний формат опису посилань на атрибути параметрів підсистеми "DAQ".

Також, модулем реалізуються функції горизонтального резервування, а саме — спільної роботи з віддаленою станцією цього-ж рівня. Крім синхронізації значень та архівів атрибутів параметрів, модулем здійснюється синхронізація значень обчислювальних шаблонів з метою безударного підхоплення алгоритмів.

Contents

1 Об'єкт контролеру

Для додання джерела даних параметрів логічного рівня створюється та конфігурується об'єкт контролеру OpenSCADA. Приклад вкладки конфігурації об'єкту контролера даного типу зображено на рисунку 1.

Рис.1. Вкладка конфігурації об'єкту контролеру.

За допомогою цієї вкладки можна встановити:

2 Параметри

Модуль надає два типи параметру: "Логічний (Prm)" та "Віддзеркалення параметру (PrmRefl)". Додатковими конфігураційними полями параметрів цього модуля (рис.2) є:

Рис.2. Вкладка конфігурації параметру.

2.1 Логічний (Prm)

При формуванні шаблону логічного типу параметру цього модуля треба враховувати особливість формату посилання шаблону. Посилання має записуватися у вигляді: {Параметр}|{Ідентифікатор}, де:

Подібний запис дозволяє групувати декілька атрибутів одного вихідного параметру та призначати їх обранням тільки самого параметру. Тобто, у діалозі конфігурації шаблону (рис.3) буде вказуватися лише параметр. Це однак не виключає можливості призначати атрибути параметрів окремо кожний, крім того, якщо опустити у конфігурації шаблону опис посилання у вказаному форматі, то призначатися буде атрибут параметру (рис.4).

Модулем передбачено особливу обробку низки атрибутів шаблону:

Знак "(+)", у кінці адреси, сигналізує про вдале зв'язування та присутність цільового об'єкту. Для атрибутів об'єктного типу дозволений ієрархічний доступ до конкретної властивості об'єкта шляхом визначення його шляху через символ '#', наприклад: "LogicLev.experiment.Pi.var#pr1.pr2".

Рис.3. Вкладка конфігурації шаблону параметру.
Рис.4. Вкладка конфігурації шаблону параметру. Показувати тільки атрибути.

Відповідно до шаблону, що лежить у основі параметру, ми отримуємо набір атрибутів параметру рис.5.

Рис.5. Вкладка атрибутів параметру.

2.2 Віддзеркалення параметру (PrmRefl)

Всі атрибути вказаного до віддзеркалення параметру просто становляться доступними у даному параметрі, тим самим здійснюючи функцію проксування, наприклад, для зведення параметрів інших джерел у один — експортний об'єкт контролеру (для ПЛК).

3 API користувацького програмування

У зв'язку із підтримкою параметрів логічного типу, має сенс надання низки функцій користувацького API для їх виклику із шаблону логічного параметру.

Об'єкт "Параметр" [this]


4 Сервісні команди-функції Інтерфейсу Управління

Сервісні функції — це інтерфейс доступу до OpenSCADA із зовнішніх систем посередництвом Інтерфейсу Управління. Цей механізм покладено в основу усього обміну всередині OpenSCADA, реалізованого шляхом слабких зв'язків та власного протоколу обміну OpenSCADA.


Отримання значень ВВ шаблону параметру Логічного Рівня об'єкту контролеру
ЗАП: <get path="/DAQ/LogicLev/{CNTR}/prm_{PRM}[/prm_{PRM}]/%2fserv%2ftmplAttr" />

ВІДП: <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>

Встановлення значень ВВ шаблону параметру Логічного Рівня об'єкту контролеру
ЗАП[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/uk - GFDLDecember 2024OpenSCADA 1+r3000