| Название | Версия | Лицензия | Источник | Языки | Автор | Описание |
|---|---|---|---|---|---|---|
| Библиотека элементов регулирования | 1.0 | GPLv2 | OscadaLibs.db (SQL, GZip) > DAQ.JavaLikeCalc.regEl | en, uk, ru | Роман Савоченко | Библиотека элементов регулирования блочных схем модуля DAQ.BlockCalc.
|
Библиотека создаётся для предоставления функций различных алгоритмов контроля и она может быть использована в программированных логических контроллерах (PLC) основанных на OpenSCADA для построения схем контроля в модуле DAQ.BlockCalc. Библиотека не является статической, а строится на основе модуля JavaLikeCalc, позволяющего создавать вычисления на Java-подобном языке. Названия функций и их параметров доступны на языках: Английский, Украинский и Российский.
Для адресации к функции этой библиотеки можно использовать статический адрес вызова DAQ.JavaLikeCalc.lib_regEl.{Func}() или динамический SYS.DAQ.JavaLikeCalc["lib_regEl"]["{Func}"].call(), SYS.DAQ.JavaLikeCalc["lib_regEl"].{Func}(). Где {Func} — идентификатор функции в библиотеке.
Для подключения библиотеки к проекту станции OpenSCADA Вы можете получить файл БД как:
$ 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 | 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 |
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 | 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 | Аналоговое положение импульсного регулятора | Веществ. | Вход | 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 | 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 |
| Libs/Regulation_elements/ru - GFDL | February 2022 | OpenSCADA 1+r2802 |