Бібліотека/Елементи регулювання - OpenSCADAWiki

# Бібліотека/Елементи регулювання

This page is a translated version of the page Libs/Regulation elements and the translation is 100% complete.

English • ‎mRussian • ‎Українська

Назва | Версія | Ліцензія | Джерело | Мови | Автор | Опис
--- | --- | --- | --- | --- | --- | ---
Бібліотека елементів регулювання | 1.0 | GPLv2 | OscadaLibs.db (SQL, GZip) > DAQ.JavaLikeCalc.regEl | en, uk, ru | Роман Савоченко | Бібліотека елементів регулювання блокових схем модуля DAQ.BlockCalc. Засновано: Січень 2010 Спонсоровано: ТОВ "ДІЯ" Початково створено: у старій Wiki Використано: САУ кульових барабанних млинів, САУ Фосфатування, Амінування та Гідразину Завдання (To Do): - перевести у DAQ-шаблони після розширення їх концепції щодо внутрішніх посилань (+) та розширення DAQ.BlockCalc до використання DAQ-шаблонів.

Бібліотека створюється для надання функцій різних алгоритмів контролю та вона може бути використана у програмованих логічних контролерах (PLC) заснованих на OpenSCADA для побудови схем контролю у модулі DAQ.BlockCalc. Бібліотека не є статичною, а будується на основі модуля JavaLikeCalc, який дозволяє створювати обчислення на мові схожій на Java. Назви функцій та їх параметрів доступні на мовах: Англійська, Українська та mRussian.

Для адресації до функцій цієї бібліотеки можна використати статичну адресу виклику DAQ.JavaLikeCalc.lib_regEl.{Func}() або динамічну SYS.DAQ.JavaLikeCalc["lib_regEl"]["{Func}"].call(), SYS.DAQ.JavaLikeCalc["lib_regEl"].{Func}(). Де {Func} — ідентифікатор функції у бібліотеці.

Для підключення бібліотеки до проекту станції OpenSCADA Ви можете отримати файл БД як:

- такий що постачається з готовим та відповідним пакетом дистрибутиву Linux на кшталт "openscada-libdb-main", "openscada-LibDB.Main";
- найбільш актуальний та безпосередньо отриманий з репозиторію subversion, перетворений у файл БД SQLite шляхом:

    wget http://oscada.org/svn/trunk/OpenSCADA/data/LibsDB/OscadaLibs.sql
    sqlite3 -init OscadaLibs.sql OscadaLibs.db .exit

- завантаження прикріпленого тут.

Цей завантажений файл Ви надалі можете розмістити у теці проекту станції та створити об'єкт бази даних модуля БД "SQLite", зареєструвавши файл бази даних у конфігурації.

### 1 ПІД уніфікований (pidUnif) | 1.0 | GPLv2 | * | en, uk, ru | Роман Савоченко

Суміщений-уніфікований аналоговий та імпульсний ПІД-регулятор. У основі регулятора лежить ядро стандартного аналогового ПІД-регулятора з бібліотеки "FLibComplex1" та реалізація ШІМ для імпульсної частини.

Параметри

Ідентифікатор | Параметр | Тип | Режим | Прихований | По замовченню
--- | --- | --- | --- | --- | ---
var | Змінна | Реальний | Вхід | false | 0
sp | Завдання | Реальний | Вхід | false | 0
max | Шкала: максимум | Реальний | Вхід | false | 100
min | Шкала: мінімум | Реальний | Вхід | false | 0
manIn | Ручний ввід | Реальний | Вхід | false | 0
out | Вихід, % | Реальний | Повернення | false | 0
impQup | Імпульсний вихід у гору | Логічний | Вихід | false | 0
impQdwn | Імпульсний вихід до низу | Логічний | Вихід | false | 0
analog | Аналоговий | Логічний | Вхід | false | 1
auto | Автомат | Логічний | Вхід | false | 0
casc | Каскад | Логічний | Вхід | false | 0
Kp | Kп | Реальний | Вхід | false | 1
Ti | Tі, мілісекунд | Цілий | Вхід | false | 1000
Kd | Кп диференціалу | Реальний | Вхід | false | 1
Td | Tд, мілісекунд | Цілий | Вхід | false | 0
Tzd | T фільтру диференціалу, мілісекунд | Цілий | Вхід | false | 0
TImpPer | T період імпульсів, мілісекунд | Цілий | Вхід | false | 5000
TImpMin | Мінімальна довжина імпульсу, мілісекунд | Цілий | Вхід | false | 500
KImpRfact | Рейтинг фактор імпульсів | Реальний | Вхід | false | 1
Hup | Верхня границя виходу, % | Реальний | Вхід | false | 100
Hdwn | Нижня границя виходу, % | Реальний | Вхід | false | 0
Zi | Нечутливість, % | Реальний | Вхід | false | 0
followSp | Відслідковувати завданням за змінною у ручному | Логічний | Вхід | false | 1
K1 | Коефіцієнт входу 1 | Реальний | Вхід | false | 0
in1 | Вхід 1 | Реальний | Вхід | false | 0
K2 | Коефіцієнт входу 2 | Реальний | Вхід | false | 0
in2 | Вхід 2 | Реальний | Вхід | false | 0
K3 | Коефіцієнт входу 3 | Реальний | Вхід | false | 0
in3 | Вхід 3 | Реальний | Вхід | false | 0
K4 | Коефіцієнт входу 4 | Реальний | Вхід | false | 0
in4 | Вхід 4 | Реальний | Вхід | false | 0
impAnOut | Аналогове положення імпульсного регулятора | Реальний | Вхід | false | 0
impAnImit | Імітація аналогового положення | Логічний | Вхід | false | 0
impQupTm | Імп. вихід вгору утримано для GUI | Цілий | Вихід | false | 0
impQdwnTm | Імп. вихід додолу утримано для GUI | Цілий | Вихід | false | 0
f_frq | Частота обчислення, Гц | Цілий | Вхід | true | 1
f_start | Перший запуск | Логічний | Вхід | true | 0
f_stop | Останній запуск | Логічний | Вхід | true | 0
int | Накопичення інтегралу | Реальний | Вихід | true | 0
dif | Знач. диференціалу | Реальний | Вихід | true | 0
lag | Накопичення затримки | Реальний | Вихід | true | 0
impLag | Час утримання імпульсу | Реальний | Вихід | true | 0
perLag | Час генерації нового імпульсу | Реальний | Вихід | true | 0

Структура

### 2 ПІД динамічний (pidUnifD) | 1.0 | GPLv2 | * | en, uk, ru | Роман Савоченко

Цілковито ідентичний уніфікованому ПІД-регулятору, але реалізований динамічно на JavaLikeCalc. Динамічна реалізація дозволяє легко адаптувати регулятор під потрібні вимоги, просто відредагувавши його.

Параметри

Ідентифікатор | Параметр | Тип | Режим | Прихований | По замовченню
--- | --- | --- | --- | --- | ---
var | Змінна | Реальний | Вхід | false | 0
sp | Завдання | Реальний | Вхід | false | 0
max | Шкала: максимум | Реальний | Вхід | false | 100
min | Шкала: мінімум | Реальний | Вхід | false | 0
manIn | Ручний ввід | Реальний | Вхід false 0
out | Вихід, % | Реальний | Повернення | false | 0
impQup | Імпульсний вихід у гору | Логічний | Вихід | false | 0
impQdwn | Імпульсний вихід до низу | Логічний | Вихід | false | 0
analog | Аналоговий | Логічний | Вхід | false | 1
auto | Автомат | Логічний | Вхід | false | 0
casc | Каскад | Логічний | Вхід | false | 0
Kp | Kп | Реальний | Вхід | false | 1
Ti | Tі, мілісекунд | Цілий | Вхід | false | 1000
Kd | Кп диференціалу | Реальний | Вхід | false | 1
Td | Tд, мілісекунд | Цілий | Вхід | false | 0
Tzd | T фільтру диференціалу, мілісекунд | Цілий | Вхід | false | 0
TImpPer | T період імпульсів, мілісекунд | Цілий | Вхід | false | 5000
TImpMin | Мінімальна довжина імпульсу, мілісекунд | Цілий | Вхід | false | 500
KImpRfact | Рейтинг фактор імпульсів | Реальний | Вхід | false | 1
Hup | Верхня границя виходу, % | Реальний | Вхід | false | 100
Hdwn | Нижня границя виходу, % | Реальний | Вхід | false | 0
Zi | Нечутливість, % | Реальний | Вхід | false | 0
followSp | Відслідковувати завданням за змінною у ручному | Логічний | Вхід | false | 1
K1 | Коефіцієнт входу 1 | Реальний | Вхід | false | 0
in1 | Вхід 1 | Реальний | Вхід | false | 0
K2 | Коефіцієнт входу 2 | Реальний | Вхід | false | 0
in2 | Вхід 2 | Реальний | Вхід | false | 0
K3 | Коефіцієнт входу 3 | Реальний | Вхід | false | 0
in3 | Вхід 3 | Реальний | Вхід | false | 0
K4 | Коефіцієнт входу 4 | Реальний | Вхід | false | 0
in4 | Вхід 4 | Реальний | Вхід | false | 0
QO | Відкритий стан виконавчого механізму | Логічний | Вхід | false | 0
QZ | Закритий стан виконавчого механізму | Логічний | Вхід | false | 0
impAnOut | Аналогове положення імпульсного регулятора | Реальний | Вхід | false | -1
impAnImit | Імітація аналогового положення | Реальний | Вхід | false | -1
impQupTm | Імп. вихід вгору утримано для GUI | Логічний | Вихід | false | 0
impQdwnTm | Імп. вихід додолу утримано для GUI | Логічний | Вихід | false | 0
f_frq | Частота обчислення, Гц | Реальний | Вхід | true | 1
f_start | Перший запуск | Логічний | Вхід | true | 0
f_stop | Останній запуск | Логічний | Вхід | true | 0
impLag | Час утримання імпульсу | Реальний | Вихід | true | 0
perLag | Час генерації нового імпульсу | Реальний | Вихід | true | 0
integ | Накопичення інтегралу | Реальний | Вихід | true | 0
difer | Накопичення диференціалу | Реальний | Вихід | true | 0
dlag | Фільтр диференціалу | Реальний | Вихід | true | 0

Структура

### 3 ПІД імпульсний (pidImp) | 1.0 | GPLv2 | * | en, uk, ru | Роман Савоченко

Спеціалізований імпульсний ПІД-регулятор реалізований за особливим алгоритмом із компенсацією подвійного інтегрування.

Параметри

Ідентифікатор | Параметр | Тип | Режим | Прихований | По замовченню
--- | --- | --- | --- | --- | ---
var | Змінна | Реальний | Вхід | false | 0
sp | Завдання | Реальний | Вхід | false | 0
max | Шкала: максимум | Реальний | Вхід | false | 100
min | Шкала: мінімум | Реальний | Вхід | false | 0
manIn | Ручний ввід | Реальний | Вхід | false | 0
out | Вихід, % | Реальний | Повернення | false | 0
outPID | Вихід ПІД | Реальний | Вихід | false | 0
impQup | Імпульсний вихід у гору | Логічний | Вихід | false | 0
impQdwn | Імпульсний вихід до низу | Логічний | Вихід | false | 0
auto | Автомат | Логічний | Вхід | false | 0
casc | Каскад | Логічний | Вхід | false | 0
Kp | Kп | Реальний | Вхід | false | 1
Ki | Кп інтегралу | Реальний | Вхід | false | 1
Ti | Tі, мілісекунд | Цілий | Вхід | false | 1000
Kd | Кп диференціалу | Реальний | Вхід | false | 1
Td | Tд, мілісекунд | Цілий | Вхід | false | 0
Tzd | T фільтру диференціалу, мілісекунд | Цілий | Вхід | false | 0
TImpPer | T період імпульсів, мілісекунд | Цілий | Вхід | false | 5000
TImpMin | Мінімальна довжина імпульсу, мілісекунд | Цілий | Вхід | false | 500
KImpRfact | Рейтинг фактор імпульсів | Реальний | Вхід | false | 1
Hup | Верхня границя виходу, % | Реальний | Вхід | false | 100
Hdwn | Нижня границя виходу, % | Реальний | Вхід | false | 0
Zi | Нечутливість, % | Реальний | Вхід | false | 0
followSp | Відслідковувати завданням за змінною у ручному | Логічний | Вхід | false | 1
K1 | Коефіцієнт входу 1 | Реальний | Вхід | false | 0
in1 | Вхід 1 | Реальний | Вхід | false | 0
K2 | Коефіцієнт входу 2 | Реальний | Вхід | false | 0
in2 | Вхід 2 | Реальний | Вхід | false | 0
K3 | Коефіцієнт входу 3 | Реальний | Вхід | false | 0
in3 | Вхід 3 | Реальний | Вхід | false | 0
K4 | Коефіцієнт входу 4 | Реальний | Вхід | false | 0
in4 | Вхід 4 | Реальний | Вхід | false | 0
impAnOut | Аналогове положення імпульсного регулятора | Реальний | Вхід | false | 0
impAnImit | Імітація аналогового положення | Логічний | Вхід | false | 0
impQupTm | Імп. вихід вгору утримано для GUI | Цілий | Вихід | false | 0
impQdwnTm | Імп. вихід додолу утримано для GUI | Цілий | Вихід | false | 0
f_frq | Частота обчислення, Гц | Реальний | Вхід | true | 1
f_start | Перший запуск | Логічний | Вхід | true | 0
f_stop | Останній запуск | Логічний | Вхід | true | 0
impLag | Час утримання імпульсу | Реальний | Вихід | true | 0
perLag | Час генерації нового імпульсу | Реальний | Вихід | true | 0
integ | Накопичення інтегралу | Реальний | Вихід | true | 0
difer | Накопичення диференціалу | Реальний | Вихід | true | 0
dlag | Фільтр диференціалу | Реальний | Вихід | true | 0
err1 | Помилка крок назад | Реальний | Вихід | true | 0
err2 | Помилка два кроки назад | Реальний | Вихід | true | 0

Структура

Libs/Regulation_elements/uk - GFDL | July 2026 | OpenSCADA 1+r3070