Ім'я: | regEl |
Засновано: | січень 2010г |
Версия: | 0.5.0 |
Статус: | Відкритий (GPL) |
Автор: | Роман Савоченко |
Опис: | Бібліотека функцій регулювання. |
Адреса: | БД у файлі: SQLite.LibDB.regEl (oscadalibs.db.gz) |
Бібліотека створюється для надання функцій різних алгоритмів регулювання та може бути використана у програмованих логічних контролерах (ПЛК) на основі OpenSCADA для побудови схем керування. Бібліотека не є статичною, та будується на основі модуля JavaLikeCalc, який дозволяє створювати обчислення на мові подібній до Java.
Для адресації до цієї бібліотеки можна використати статичну адресу виклику "DAQ.JavaLikeCalc.lib_regEl.{Func}" або динамічну "SYS.DAQ.JavaLikeCalc["lib_regEl"]["{Func}"].call()". Де {Func} — ідентифікатор функції у бібліотеці.
Підключити бібліотеку до проекту станції OpenSCADA можна шляхом завантаження вкладеного файлу БД, розташування його у директорії БД проекту станції та створення об'єкту БД для модуля БД "SQLite", вказавши файл БД у конфігурації.
У своєму складі бібліотека містить декілька функцій часто потрібних при створені схем регулювання. Назви функцій та їх параметрів доступні на трьох мов: Англійська, Російська та Українська.
Опис: Суміщений-уніфікований аналоговий та імпульсний ПІД-регулятор. У основі регулятора лежить мова стандартного аналогового ПІД-регулятора з бібліотеки "FLibComplex1" та реалізація ШІМ для імпульсної частини.
Параметри:
ID | Параметр | Тип | Режим | Прихований | По замовченню |
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 |
Структура:
Опис: Полностью идентичный унифицированному ПИД регулятор, реализованный динамически на JavaLikeCalc. Динамическая реализация позволяет легко адаптировать регулятор под нужные требования, просто отредактировав его.
Параметри:
ID | Параметр | Тип | Режим | Прихований | По замовченню |
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 | T минимальная длина импульса (мс) | Целый | Вход | 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 |
Структура:
file:pid_unif.png
Опис: Специализированный импульсный ПИД регулятор реализованный по особому алгоритму с компенсацией двойного интегрирования.
Параметри:
ID | Параметр | Тип | Режим | Прихований | По замовченню |
var | Переменная | Веществ. | Вход | false | 0 |
sp | Задание | Веществ. | Вход | false | 0 |
max | Максимум шкалы | Веществ. | Вход | false | 100 |
min | Минимум шкалы | Веществ. | Вход | false | 0 |
manIn | Ручной ввод | Веществ. | Вход | false | 0 |
out | Выход (%) | Веществ. | Возврат | false | 0 |
outPID | Выход PID | Веществ. | Выход | 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 | T минимальная длина импульса (мс) | Целый | Вход | 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 |
Структура:
file:pid_imp.png