Бібліотека створюється для надання функцій різних алгоритмів регулювання та може бути використана у програмованих логічних контролерах (ПЛК) на основі OpenSCADA для побудови схем керування. Бібліотека не є статичною, та будується на основі модуля JavaLikeCalc, який дозволяє створювати обчислення на мові подібній до Java.
Для адресації до цієї бібліотеки можна використати статичну адресу виклику "DAQ.JavaLikeCalc.lib_regEl.{Func}()" або динамічну "SYS.DAQ.JavaLikeCalc["lib_regEl"]["{Func}"].call()", "SYS.DAQ.JavaLikeCalc["lib_regEl"].{Func}()". Де {Func} — ідентифікатор функції у бібліотеці.
Підключити бібліотеку до проекту станції OpenSCADA можна шляхом завантаження вкладеного файлу БД, розташування його у директорії БД проекту станції та створення об'єкту БД для модуля БД "SQLite", вказавши файл БД у конфігурації.
1 Склад бібліотеки
У своєму складі бібліотека містить декілька функцій часто потрібних при створені схем регулювання. Назви функцій та їх параметрів доступні на трьох мов: Англійська, Російська та Українська.
ПІД (уніфікований) (pidUnif)
Опис: Суміщений-уніфікований аналоговий та імпульсний ПІД-регулятор. У основі регулятора лежить мова стандартного аналогового ПІД-регулятора з бібліотеки "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
Структура:
PID динамічний (pidUnifD)
Опис: Повністю ідентичний уніфікованому ПІД регулятор, реалізований динамічно на 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
Мінімальна довжина імпульсу (мс)
Цілий
Вхід
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
Структура:
ПІД імпульсний (pidImp)
Опис: Спеціалізований імпульсний ПІД регулятор реалізований за особливим алгоритмом з компенсацією подвійного інтегрування. Параметри:
ID
Параметр
Тип
Режим
Прихований
По замовченню
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
analog
Аналоговий
Логічний
Вхід
false
1
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
Аналогове положення імпульсного регулятора або швидкість ходу крана (%/с) під час імітації.