OpenSCADAWiki: Home Page En/Using/API Function Libs/ Lib Reg El ...

Home | Index | Changes | Comments | Users | Registration | Login  Password:  
 
This is an old revision of HomePageEn/Using/APIFunctionLibs/LibRegEl from 2011-08-07 20:01:20..

Regulation elements library

Name: regEl
Founded: January 2010
Version: 0.5.0
State: Free (GPL)
Author: Roman Savochenko
Description: Regulation elements library.
Address: DB in file: SQLite.LibDB.regEl (oscadalibs.db.gz)


Contents

About the library

Library is created to provide the functions of different control algorithms and can be used in programmable logic controllers (PLCs) based on OpenSCADA for construction control schemes. The library is not static, but based on the module JavaLikeCalc, allowing to create calculations on the Java-like language.


To address the functions of the library you can use static call address "DAQ.JavaLikeCalc.lib_regEl.{Func}" or dynamic "SYS.DAQ.JavaLikeCalc["lib_regEl"]["{Func}"].call()". Where {Func} — function identifier in the library.


To connect the library to the project of the OpenSCADA station it is possible by downloading the attached file of the database, placing it in in the database directory of the station's project and creating the database object for the DB module "SQLite", indicating the database file in the configuration.

1 The library structure

In his part the library contains several functions often demanded by creating regulatory schemes. The functions' names and its parameters are available in three languages: English, Russian and Ukrainian.

PID (unified) (pidUnif)

Description: Composite-unified analog and pulse PID. At the heart of the regulator is core a standard analog PID controller from the library "FLibComplex1" and the implementation of the PWM for the pulse part.
Parameters:

ID Parameter Type Mode Hide Default
var Variable Real Input false 0
sp Setpoint Real Input false 0
max Scale: maximum Real Input false 100
min Scale: minimum Real Input false 0
manIn Manual input Real Input false 0
out Output (%) Real Return false 0
impQup Impulse output up Boolean Output false 0
impQdwn Impulse output down Boolean Output false 0
analog Analog Boolean Input false 1
auto Automate Boolean Input false 0
casc Cascade Boolean Input false 0
Kp Gain Real Input false 1
Ti Ti (ms) Integer Input false 1000
Kd Gain differential Real Input false 1
Td Td (ms) Integer Input false 0
Tzd T differential lag (ms) Integer Input false 0
TImpPer T impulses period (ms) Integer Input false 5000
TImpMin T minimal impulse (ms) Integer Input false 500
KImpRfact Impulse rate factor Real Input false 1
Hup Upper output border (%) Real Input false 100
Hdwn Neither output border (%) Real Input false 0
Zi Insensitivity (%) Real Input false 0
followSp Follow to variable by setpoint into manual Boolean Input false 1
K1 Coefficient of input 1 Real Input false 0
in1 Input 1 Real Input false 0
K2 Coefficient of input 2 Real Input false 0
in2 Input 2 Real Input false 0
K3 Coefficient of input 3 Real Input false 0
in3 Input 3 Real Input false 0
K4 Coefficient of input 4 Real Input false 0
in4 Input 4 Real Input false 0
impAnOut Analog position of impulse regulator Real Input false 0
impAnImit Analog position imitation Boolean Input false 0
impQupTm Imp. output up lag for GUI Integer Output false 0
impQdwnTm Imp. output down lag for GUI Integer Output false 0
f_frq Calc frequency (Hz) Integer Input true 1
f_start First start Boolean Input true 0
f_stop Last start Boolean Input true 0
int Integral accumulation Real Output true 0
dif Differential accumulation Real Output true 0
lag Lag accumulation Real Output true 0
impLag Impulse lag time Real Output true 0
perLag New impulse generation time Real Output true 0

Structure:

PID dynamic (pidUnifD)

Description: Completely identical to unified PID regulator is implemented dynamically on JavaLikeCalc. The dynamic implementation allows you to easily adapt the regulator to the desired requirements, simply by editing it.
Parameters:

ID Parameter Type Mode Hide Default
var Variable Real Input false 0
sp Setpoint Real Input false 0
max Scale: maximum Real Input false 100
min Scale: minimum Real Input false 0
manIn Manual input Real Input false 0
out Output (%) Real Return false 0
impQup Impulse output up Boolean Output false 0
impQdwn Impulse output down Boolean Output false 0
analog Analog Boolean Input false 1
auto Automate Boolean Input false 0
casc Cascade Boolean Input false 0
Kp Gain Real Input false 1
Ti Ti (ms) Integer Input false 1000
Kd Gain differential Real Input false 1
Td Td (ms) Integer Input false 0
Tzd T differential lag (ms) Integer Input false 0
TImpPer T impulses period (ms) Integer Input false 5000
TImpMin T minimal impulse (ms) Integer Input false 500
KImpRfact Impulse rate factor Real Input false 1
Hup Upper output border (%) Real Input false 100
Hdwn Neither output border (%) Real Input false 0
Zi Insensitivity (%) Real Input false 0
followSp Follow to variable by setpoint into manual Boolean Input false 1
K1 Coefficient of input 1 Real Input false 0
in1 Input 1 Real Input false 0
K2 Coefficient of input 2 Real Input false 0
in2 Input 2 Real Input false 0
K3 Coefficient of input 3 Real Input false 0
in3 Input 3 Real Input false 0
K4 Coefficient of input 4 Real Input false 0
in4 Input 4 Real Input false 0
impAnOut Analog position of impulse regulator Real Input false 0
impAnImit Analog position imitation Boolean Input false 0
impQupTm Imp. output up lag for GUI Integer Output false 0
impQdwnTm Imp. output down lag for GUI Integer Output false 0
f_frq Calc frequency (Hz) Integer Input true 1
f_start First start Boolean Input true 0
f_stop Last start Boolean Input true 0
impLag Impulse lag time Real Output true 0
perLag New impulse generation time Real Output true 0
integ Integral accumulation Real Output true 0
difer Differential accumulation Real Output true 0
dlag Differential lag accumulation Real Output true 0

Structure:

PID импульсный (pidImp)

Description: Специализированный импульсный ПИД регулятор реализованный по особому алгоритму с компенсацией двойного интегрирования.
Parameters:

ID Parameter Type Mode Hide Default
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

Structure:
file:pid_imp.png


 
There are no files on this page.[Display files/form]
There is no comment on this page. [Display comments/form]