| Назва | Версія | Ліцензія | Джерело | Мови | Автор | Опис |
|---|---|---|---|---|---|---|
| Бібліотека елементів регулювання | 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 |

