Имя: | regEl |
Основан: | январь 2010г |
Версия: | 1.0.0 |
Статус: | Открытый (GPL) |
Автор: | Роман Савоченко |
Описание: | Библиотека функций регулирования. |
Адрес: | БД в файле: SQLite.LibDB.regEl (oscadalibs.db.gz) |
Библиотека создаётся для предоставления функций различных алгоритмов регулирования и может быть использована в программируемых логических контроллерах (ПЛК) на основе OpenSCADA для построения схем управления. Библиотека не является статической, а строится на основе модуля JavaLikeCalc, позволяющего создавать вычисления на Java-подобном языке.
Для адресации к функциям этой библиотеки можно использовать статический адрес вызова "DAQ.JavaLikeCalc.lib_regEl.{Func}()" или динамический "SYS.DAQ.JavaLikeCalc["lib_regEl"]["{Func}"].call()", "SYS.DAQ.JavaLikeCalc["lib_regEl"].{Func}()". Где {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 | 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 |
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 |
QO | Признак "Открытый" исполнительного механизма | Логич. | Вход | false | 0 |
QZ | Признак "Закрытый" исполнительного механизма | Логич. | Вход | false | 0 |
impAnOut | Реальное аналоговое положение импульсного регулятора, [0...100], -1 - выключить. | Веществ. | Вход | 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 |
Структура:
Описание: Специализированный импульсный ПИД регулятор реализованный по особому алгоритму с компенсацией двойного интегрирования.
Параметры:
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 |
Структура: