Назва | Версія | Ліцензія | Джерело | Мови | Автор | Опис |
---|---|---|---|---|---|---|
Бібліотека елементів регулювання | 1.0 | GPLv2 | OscadaLibs.db (SQL, GZip) > DAQ.JavaLikeCalc.regEl | en, uk, ru | Роман Савоченко | Бібліотека елементів регулювання блокових схем модуля DAQ.BlockCalc.
|
Бібліотека створюється для надання функцій різних алгоритмів контролю та вона може бути використана у програмованих логічних контролерах (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 |