paControls – библиотека, которая обеспечивает обработку сигналов датчиков и реализует управление технологическими процессами.
Для добавления библиотеки paControls в проект следует:
Перейти в меню Окна/Проекты. В появившемся окне отобразится текущий проект и добавленные библиотеки.
Добавление библиотеки paControls в проект Нажать кнопку Открыть и перейти в папку с файлами библиотеки, которую необходимо добавить. Затем в выпадающем списке выбрать тип файла Библиотека Полигон 2 (*.ll2).
Добавление библиотеки paControls в проект В окне появится файл библиотеки с расширением .ll2. Следует выбрать его и нажать Открыть.
paControls
Добавленная библиотека отобразится в окне Проекты.
Регуляторы
Выдача данных с задержкой (DelayV)
Блок DelayV находится в разделе библиотеки Регуляторы. DelayV повторяет на выходе out значение входа in через заданный интервал времени.
Данный блок можно разместить только в Таймере.
Назначение входов и выходов DelayV
Элемент | Описание |
---|---|
Входы | |
dsk | Значение дискретизации времени, должно быть кратно таймерному циклу |
dl | Время задержки в мс, должно быть кратно dsk |
mdl | Время запоминания входного значения в мс, должно быть больше, чем dl |
in | Входное значение |
Выходы | |
out | Выходное значение, инициализируется 0 |


Накапливающий сумматор со сбросом и инициализацией (fSum)
Блок fSum является накапливающим сумматором. Раздел библиотеки: Регуляторы.
Назначение входов и выходов fSum
Элемент | Описание |
---|---|
Входы | |
inp | Приращение выхода на текущем таймерном интервале |
upr | Текущая величина инициализации сумматора |
bal | Разрешение режима инициализации |
Выходы | |
out | Текущее значение сумматора, инициализируется upr |
Алгоритм:
bal = 0: out_i = out_(i-1) + inp_i;
bal = 1: out_i = upr

Интегратор (fIntT)
Блок fIntT является интегратором с постоянной времени Ti. Раздел библиотеки: Регуляторы.
Назначение входов и выходов fIntT
Элемент | Описание |
---|---|
Входы | |
inp | Вход интегратора |
Ti | Постоянная времени интегратора в секундах |
upr | Текущая величина инициализации интегратора |
bal | Разрешение режима инициализации |
Выходы | |
out | Текущее значение интегратора, инициализируется upr |
Алгоритм:
bal = 0: out_i = out_(i-1) + inp_i ∙ t⁄Ti;
bal = 1: out_i = upr
Передаточная функция inp → out:
G(s) = 1/(Ti ∙ s)

Апериодическое звено (fExpT)
Блок fExpT является апериодическим звеном первого порядка с постоянной времени Tf. Раздел библиотеки: Регуляторы.
Назначение входов и выходов fExpT
Элемент | Описание |
---|---|
Входы | |
inp | Вход апериодического звена |
Tf | Постоянная времени апериодического звена в секундах |
bal | Разрешение режима балансировки |
Выходы | |
out | Значение выхода апериодического звена, инициализируется inp |
dif | Значение дифференциальной составляющей, инициализируется 0 |
Алгоритм:
bal = 0: out_i = out_(i-1) + (inp_i - out_(i-1)) ∙ (1 - exp(-t⁄Tf)),
dif_i = inp_i - out_(i - 1);
bal = 1: out_i = inp_i;
dif_i = 0
Передаточные функции:
inp → out: G(s) = 1/(Tf ∙ s + 1);
inp → dif: G(s) = Tf ∙ s/(Tf ∙ s + 1)

Задатчик (SetPoint)
Блок SetPoint является задатчиком управляющего сигнала. Сигнал формируется с учетом ограничений на величину и скорость изменения. Раздел библиотеки: Регуляторы.
Назначение входов и выходов SetPoint
Элемент | Описание |
---|---|
Входы | |
inp | Текущее приращение задания |
inc | Команда на увеличение задания |
dec | Команда на уменьшение задания |
Tx | Время перекладки задания по командам inc и dec |
max | Верхнее ограничение задания |
min | Нижнее ограничение задания |
upr | Текущая величина балансировки задатчика |
bal | Разрешение балансировки |
res | Команда сброса задатчика |
Выходы | |
out | Текущее задание, инициализируется 0 |
uf | Признак достижения задатчиком верхнего ограничения, инициализируется 0 |
lf | Признак достижения задатчиком нижнего ограничения, инициализируется 0 |
Алгоритм:
res = 0:
bal = 0: если dec = 1 → out+ = (min - max) ∙ t0/Tx,
иначе если inc_i = 1 → out+ = (max - min) ∙ t0/Tx,
иначе out+ = inp_i,
если out > max → out = max, uf = 1,
если out < min → out = min, lf = 1;
bal = 1: out = upr,
uf = lf = 0;
res = 1: out = 0,
uf = lf = 0

Линейный регулятор (Lcontr)
Блок Lcontr является линейным регулятором. Раздел библиотеки: Регуляторы.
Назначение входов и выходов Lcontr
Элемент | Описание |
---|---|
Входы | |
U | Вход |
Us | Уставка |
eps | Гистерезис |
incr | Ручное увеличение |
decr | Ручное уменьшение |
man | Ручной режим |
Выходы | |
incr | Увеличить, инициализируется 0 |
decr | Уменьшить, инициализируется 0 |
В зависимости от состояния входа man блок может функционировать в одном из двух режимов.
Если man = 0, то блок работает в режиме автоматического регулирования. Регулируемый параметр U сравнивается с уставкой Us: если рассогласование превышает величину eps (гистерезис), то выдается единица на один из выходов decr или incr, в зависимости от знака величины рассогласования.
Если man = 1, то блок работает в режиме ручного регулирования. В этом режиме регулируемая величина и ее уставка игнорируются, а состояние выходов напрямую задается состоянием входов decr и incr.

Программное изменение уставки с заданным темпом (SetValue)
Блок SetValue производит постепенное изменение выходного значения out от val до aim с заданным темпом temp, контролируя статическое mse и динамическое mde отклонение сигнала out от значения aim. Раздел библиотеки: Регуляторы.
Назначение входов и выходов SetValue
Элемент | Описание |
---|---|
Входы | |
val | Начальное значение |
temp | Приращение |
aim | Конечное значение |
mde | Максимальная динамическая ошибка |
mse | Максимальная статическая ошибка |
enbl | Разрешение на работу |
Выходы | |
out | Выход, инициализируется val |
err | Флаг наличия динамической ошибки, инициализируется 0 |
fin | Конец, инициализируется 0 |
Алгоритм:
enbl = 1:
если |out - aim| > mse → out = out + temp/(таймерный интервал), fin = 0,
если |out - aim| > mde → err = 1,
иначе out = aim, err = 0, fin = 1,
иначе out = val, err = 0, fin = 0

Упрощенный ПД-регулятор (ImpUst)
Блок ImpUst выдает управляющие сигналы открытия opn и закрытия cls на двигатель (задвижку) с текущим положением P так, чтобы значение на входе приблизилось к значению уставки. Раздел библиотеки: Регуляторы.
Назначение входов и выходов ImpUst
Элемент | Описание |
---|---|
Входы | |
in | Текущее значение регулируемого параметра |
ust | Значение уставки |
dTm | Время таймерного интервала |
T1 | Время дискретизации управления (с таким интервалом будет производится выдача нового управления на выходы) |
Kp | Коэффициент пропорциональности |
Ti | Коэффициент изменения |
Tv | Не используется |
P | Текущее значение положения задвижки |
dP | Гистерезис выставления положения |
Выходы | |
opn | Команда открыть, инициализируется 0 |
cls | Команда закрыть, инициализируется 0 |
Pust | Рассчитанная уставка положения, инициализируется 0 |
Алгоритм:
Q = (in - ust)/dTm,
dC = -(Kp ∙ Q + Ti ∙ (Q - Qпредыдущее)) ∙ 100,
Pust = P + dC
В зависимости от значений Pust, P и dP выдается управление на выходы аналогично блоку Линейный регулятор.

Управление задвижкой (ZD)
Блок ZD осуществляет импульсное управление задвижкой с помощью команд открыть o_o, закрыть o_c и стоп o_s. Длина выходного импульса для всех команд задается входом t_i в мс. Раздел библиотеки: Регуляторы.
Назначение входов и выходов ZD
Элемент | Описание |
---|---|
Входы | |
enbl | Разрешение на работу |
c_o | Команда открыть |
c_c | Команда закрыть |
c_s | Команда стоп |
a_o | Сигнал задвижка открыта |
a_c | Сигнал задвижка закрыта |
M | Местное управление |
D | Автоматическое управление |
alrm | Неисправность |
rdy | Готовность |
rst | Сброс |
t_o | Время перекладки |
t_i | Длина импульса, мс |
t_ch | Пауза открытия/закрытия |
typ | Не используется |
Выходы | |
o_o | Открыть |
o_c | Закрыть |
o_s | Стоп |
s_o | Задвижка открыта |
s_c | Задвижка закрыта |
s_p_o | Открывается |
s_p_c | Закрывается |
f_to | Таймаут |
f_fo | Самоход на открытие |
f_fc | Самоход на закрытие |
f_f | Авария |
f_DM | Ошибка местное-автоматическое управление |
f_ard | Ошибка авария-готовность |
f_ao | Ошибка концевых выключателей |
f_c | Ошибка команд |
Входные команды c_o, c_c, c_s передаются на выход, если задвижка готова к работе в автоматическом режиме: enbl = 1, D = 1, rdy = 1, alrm = 0, и отсутствуют (т.е. равны 0) ошибки f_DM, f_ard, f_ao, f_c.
Команда на открытие выдается при c_o = 1 и отсутствии концевого выключателя открытия a_o = 0. Затем при появлении концевого выключателя открытия a_o = 1, выдается команда стоп o_s. Аналогично обрабатывается команда закрытия.
Если во время открытия приходит команда на закрытие, то выдается команда стоп o_s и закрытие начинается через время t_ch в мс, и наоборот.
Если при открытии или закрытии соответствующий концевой выключатель не достигнут в течение времени t_o, то выдается ошибка таймаута f_to = 1 и команда стоп o_s.
Обработка ошибок:
f_DM = 1, если M = D;
f_ard = 1, если alrm = rdy;
f_ao = 1, если a_o = a_c = 1;
f_c = 1, если одновременно присутствуют две 1 на входах c_o, c_c, c_s.

Блок приоритетов управления (Prior)
Блок Prior принимает управляющие команды от нескольких задач и выдает на выход команды приоритетной из активных задач (задача 0 имеет самый высокий приоритет). Раздел библиотеки: Регуляторы.
Назначение входов и выходов Prior
Элемент | Описание |
---|---|
Входы | |
b_o | Блокировка открытия (циклический) |
b_c | Блокировка закрытия (циклический) |
act | Задача активна (циклический) |
c_o | Команда открыть (циклический) |
c_c | Команда закрыть (циклический) |
c_s | Команда стоп (циклический) |
Выходы | |
c_o | Команда открыть |
c_c | Команда закрыть |
c_s | Команда стоп |
b_o | Блокировка открытия (циклический) |
b_c | Блокировка закрытия (циклический) |
Задача i является активной, если вход acti = 1.
Команда открыть c_oi и команда закрыть c_ci передаются на выходы c_o и c_c, если отсутствуют (т. е. равны 0) соответствующие блокировки b_oi и b_ci, команда стоп c_si передается на выход c_s, где i – номер приоритетной активной задачи.
Значения блокировок всегда транслируются на выходы соответствующей задачи b_oi и b_ci без изменений.

Блок управления агрегатом (BUA)
Блок BUA объединяет обработку блокировок, ошибок и ответных сигналов при управлении агрегатом конвейера. Раздел библиотеки: Регуляторы.
Назначение входов и выходов BUA
Элемент | Описание |
---|---|
Входы | |
pusk | Пуск |
stop | Стоп |
blk | Блокировка |
rst | Сброс ошибок |
SA | Разрешение |
RD | Готовность |
K | Включен |
BD | Блокировка |
S | Авария ленты |
Tblk | Нижнее ограничение регулируемой величины |
TR | Таймаут включен |
TS | Таймаут ленты |
Mdl | Симуляция |
itr | Инициализация наработки |
rtr | Сброс наработки |
Выходы | |
Psk | Включить |
K | Включен |
Err | Ошибка |
Sts | Статус |
Blk | Блокировка |
ready | Готовность |
otr | Наработка |

Импульсный ПИД (ImpPid)
Блок ImpPid представляет собой ПИД-регулятор с коэффициентами Kp, Ki, Kd и постоянной времени интегрирования Ti. Раздел библиотеки: Регуляторы.
Назначение входов и выходов ImpPid
Элемент | Описание |
---|---|
Входы | |
in | Текущее значение |
ust | Уставка |
T1 | Время дискретизации |
Kp | Пропорциональная составляющая |
Ki | Интегральная составляющая |
Kd | Дифференциальная составляющая |
Ti | Время интегрирования |
P | Положение |
dP | Гистерезис положения |
en | Разрешение работы |
Выходы | |
opn | Открыть |
cls | Закрыть |
Pust | Уставка положения |
Регулятор стремится приблизить значение измеряемого параметра in к значению уставки ust за счет открытия opn и закрытия cls управляющего органа, текущее положение которого подается на вход P.
При разности в значениях in и ust менее 5 % от уставки на выход Pust подается значение гистерезиса положения. В противном случае к значению Pust добавляются рассчитанные пропорциональная, интегральная и дифференциальная составляющие.

Управление реле (SetSW)
Блок SetSW осуществляет потенциальное и импульсное управление реле с обратной связью. Раздел библиотеки: Регуляторы.
Назначение входов и выходов SetSW
Элемент | Описание |
---|---|
Входы | |
inp | Управление |
ret | Обратная связь |
cnt | Таймер ошибки |
enb | Разрешение |
Выходы | |
out | Потенциальное управление |
on | Включить (импульсное) |
off | Выключить (импульсное) |
err | Ошибка |
Выход потенциального управления out выставляется в 1, если управление inp и разрешение enb равны 1.
На выходах импульсного управления on и off выдаются импульсы длиной в один таймерный интервал (если блок находится в Таймере) соответственно при включении и выключении выхода out.
Ошибка err выдается, если обратный сигнал ret не появился в течение таймаута cnt (задается в миллисекундах). Для правильной работы таймера ошибки данный блок следует размещать в Таймере, а значения cnt задавать кратными времени таймерного цикла.

Многорежимный генератор импульсов (AdvPulse)
Блок AdvPulse представляет собой таймер с несколькими режимами работы. Раздел библиотеки: Регуляторы.
Назначение входов и выходов AdvPulse
Элемент | Описание |
---|---|
Входы | |
x | Входной сигнал |
T | Временная задержка в секундах |
mod | Номер режима работы |
Выходы | |
q | Выходной сигнал, инициализируется 0 |
Если Mod = 0, то по фронту x выставляется q = 1 на период T. По истечении T значение q сбрасывается на 0.
Если Mod = 1 (или любое другое значение кроме 0 и 2), то по фронту x выставляется q = 1 на период T. Спад x не влияет на состояние выхода. Повторное появление фронта x во время q = 1 не влияет на отсчет времени задержки.
Если Mod = 2, то по фронту x выставляется q = 1 на период T. Спад x не влияет на состояние выхода. Повторное появление фронта x во время q = 1 перезапускает отсчет времени задержки.

Интегрирующий задатчик (TrackSum)
Блок TrackSum представляет собой интегрирующий задатчик. Раздел библиотеки: Регуляторы.
Для адекватной работы данного блока следует размещать его только в Таймере.
Назначение входов и выходов TrackSum
Элемент | Описание |
---|---|
Входы | |
x | Заданное значение |
LU | Верхний предел интегрирования |
LL | Нижний предел интегрирования |
SV | Балансировочное значение выхода |
TU | Время интегрирования от LL до LU в секундах |
TD | Время интегрирования от LU до LL в секундах |
CU | Бит включения интегрирования «вверх» |
CD | Бит включения интегрирования «вниз» |
CF | Бит включения задатчика |
S | Бит включения балансировки |
Выходы | |
Y | Текущее значение на выходе задатчика, инициализируется 0 |
YA | Приращение Y за таймерный цикл, инициализируется 0 |
QE | Бит индикации достижения x, инициализируется 0 |
QU | Бит индикации достижения LU, инициализируется 0 |
QL | Бит индикации достижения LL, инициализируется 0 |
При установленном бите CF производится достижение заданного значения x путем интегрирования «вверх» или «вниз» с заданным темпом (параметры TU или TD), если текущее значение выхода Y соответственно меньше или больше x. Если CF = 0, можно производить интегрирование от LL до LU или от LU до LL с заданным темпом (TU или TD), устанавливая биты CU или CD. Установка бита S позволяет остановить интегратор и получить на выходе значение, равное входному SV.

Идеальное/реальное дифференцирующее звено (Deriv_new)
Блок Deriv_new представляет собой идеальное или реальное дифференцирующее звено, в зависимости от величины Ta. Раздел библиотеки: Регуляторы.
Назначение входов и выходов Deriv_new
Элемент | Описание |
---|---|
Входы | |
x | Входная величина |
Kd | Коэффициент усиления |
Ta | Постоянная времени дифференцирования в секундах |
Выходы | |
D | Выходная величина, инициализируется 0 |
При Ta > 2,5 величины таймерного цикла блок работает как реальное дифференцирующее звено с передаточной функцией:
G(s) = Kd ∙ s/(Ta ∙ s + 1)
При Ta ≤ 2,5 величины таймерного цикла блок работает близко к идеальному дифференцирующему звену с передаточной функцией:
G(s) = Kd ∙ s

Ограничитель ресурсов управления сервоприводом (LimUpr)
Блок LimUpr является ограничителем ресурсов управления, вычисляющим допустимый диапазон приращений сигнала управления сервоприводом с учетом ограничений на положение и скорость перемещения последнего. Раздел библиотеки: Регуляторы.
Назначение входов и выходов LimUpr
Элемент | Описание |
---|---|
Входы | |
H | Верхнее ограничение положения сервопривода в относительных единицах |
Int | Текущее задание управления сервоприводом в относительных единицах |
L | Нижнее ограничение положения сервопривода в относительных единицах |
Srv | Текущее положение сервопривода в относительных единицах |
R | Допустимое рассогласование текущего задания и текущего положения сервопривода в относительных единицах |
Ts | Минимальное время перекладки сервопривода в секундах |
Выходы | |
O_r | Ресурс управления на открытие |
C_r | Ресурс управления на закрытие |
O_u | Признак выхода сервопривода на верхнее ограничение |
C_u | Признак выхода сервопривода на нижнее ограничение |
Расчет состоит из последовательности операций сравнения и присваивания (по результатам сравнения) и выполняется с учетом следующих приоритетов:
скорость изменения задание управления ограничивается Ts,
верхнее ограничение H имеет приоритет над нижним L,
допустимое рассогласование ограничивается R.

Выбор режима (Mode)
Блок Mode осуществляет переключение режимов. Раздел библиотеки: Регуляторы.
Назначение входов и выходов Mode
Элемент | Описание |
---|---|
Входы | |
EN | Разрешение на работу блока |
I | Управляющий бит (циклический) |
Выходы | |
QC | Сигнализация о смене режима |
Q | Выходной бит (циклический) |

Интегральный формирователь (IforP)
Блок IforP является нелинейным интегральным формирователем приращений, который отрабатывает допустимую величину приращения выходного сигнала. Раздел библиотеки: Регуляторы.
Назначение входов и выходов IforP
Элемент | Описание |
---|---|
Входы | |
inp | Вход формирователя |
Ti | Постоянная времени интегрирования в секундах |
min | Текущий ресурс на уменьшение |
max | Текущий ресурс на увеличение |
Выходы | |
I | Значение приращения выхода, инициализируется 0 |
min | Остаточный ресурс на уменьшение, инициализируется 0 |
max | Остаточный ресурс на увеличение, инициализируется 0 |
Алгоритм:
I_i = inp_i ∙ t_0/Ti;
если I_i > max → I_i = max,
если I_i < min → I_i = min,
min_i = min - I_i,
max_i = max - I_i
Передаточная функция inp→ I:
G(s) = 1/(Ti ∙ s)

ПД-формирователь (fPDT)
Блок fPDT является модификацией блока Апериодическое звено. Раздел библиотеки: Регуляторы.
Назначение входов и выходов fPDT
Элемент | Описание |
---|---|
Входы | |
inp | Вход формирователя |
Tf | Постоянная времени фильтра в секундах |
Tv | Постоянная времени дифференцирования в секундах |
bal | Разрешение режима балансировки |
Выходы | |
out | Значение пропорциональной составляющей, инициализируется inp |
dif | Значение дифференциальной составляющей, инициализируется 0 |
Алгоритм:
bal = 0: out_i = out_(i - 1) + (inp_i - out_(i - 1)) ∙ (1 - exp(-t⁄Tf)),
dif_i = (inp_i - out_(I - 1)) ∙ Tv⁄Tf;
bal = 1: out_i = inp_i;
dif_i = 0
Передаточные функции:
inp → out: G(s) = 1/(Tf ∙ s + 1);
inp → dif: G(s) = Tv ∙ s/(Tf ∙ s + 1)

Импульсный регулятор (DCtrl)
Блок DCtrl реализует ПД-регулятор с импульсными выходными сигналами. Раздел библиотеки: Регуляторы.
Назначение входов и выходов DCtrl
Элемент | Описание |
---|---|
Входы | |
inp | Рассогласование на входе в регулятор |
dz | Мертвая зона обработки рассогласования |
Kp | Коэффициент усиления пропорциональной составляющей ПД-регулятора |
Kd | Коэффициент усиления дифференциальной составляющей ПД-регулятора |
Td | Постоянная времени регулятора (реального дифференциатора) |
H | Регулируемая величина на верхнем ограничении |
L | Регулируемая величина на нижнем ограничении |
Vlim | Регулируемая величина |
maxV | Верхнее ограничение регулируемой величины |
minV | Нижнее ограничение регулируемой величины |
Kv | Коэффициент усиления ограничительного регулятора |
dl | Гистерезис ограничения |
T | Время периода одного импульса |
tmin | Минимальное время выходного импульса |
Smax | Максимальная скважность выходного импульса |
Enbl | Разрешение работы блока |
her | Рассогласование, считающееся ошибкой после переходного процесса |
Ter | Постоянная времени апериодического процесса накопления ошибки |
Rer | Сброс ошибки |
Выходы | |
Up | Импульсы на увеличение регулируемой величины |
Dw | Импульсы на уменьшение регулируемой величины |
PrY | Пропорциональная составляющая выходного сигнала регулятора |
DfY | Дифференциальная составляющая выходного сигнала регулятора |
LmU | Регулируемая величина на верхнем ограничении |
LmD | Регулируемая величина на нижнем ограничении |
Err | Ошибка регулирования (неотработка) |
При наличии сигнала на входе Enbl вычисления внутри блока не производятся (за исключением вычисления суммарной накопленной ошибки Serr), а LmU, LmD = 0. Err выставляется, если накопленная ошибка Serr (внутренняя переменная) становится больше, чем her. Serr накапливается по апериодическому закону с постоянной времени Ter. Если регулируемая величина находится на верхнем или нижнем ограничении (LmU, LmD), то Serr не накапливается. Как только сигнал поступает, Rer, Err и Serr сбрасываются до 0.

ПИ-регулятор (PIC)
Блок PIC реализует ПИ-регулятор. Раздел библиотеки: Регуляторы.
Для адекватной работы блока необходимо размещать его только в Таймере.
Назначение входов и выходов PIC
Элемент | Описание |
---|---|
Входы | |
SP | Внешнее корректирующее значение в % |
ERR | Рассогласование регулируемой величины с заданием в % |
MAX | Максимальное значение на выходе Y в % |
MIN | Минимальное значение на выходе Y в % |
SV | Балансировочное значение выхода |
SET | Бит включения балансировки |
KP | Коэффициент пропорциональности ПИ-регулятора |
TI | Постоянная времени интегратора в секундах |
KSP | Коэффициент усиления в ветви SP |
HIN | Бит остановки интегратора |
Выходы | |
Y | Выходное значение регулятора, инициализируется 0 |
YI | Выходное значение с интегратора регулятора, инициализируется 0 |
QU | Бит индикации достижения MAX, инициализируется 0 |
QL | Бит индикации достижения MIN, инициализируется 0 |

ПИД-регулятор (PID)
Блок PID реализует ПИД-регулятор. Раздел библиотеки: Регуляторы.
Для адекватной работы блока необходимо размещать его только в Таймере.
Назначение входов и выходов PID
Элемент | Описание |
---|---|
Входы | |
E | Разрешение на работу блока (в выключенном состоянии на выход блока подается значение, заданное на входе Poff) |
Pv | Текущее значение регулируемой величины |
Sp | Заданное значение регулируемой величины |
Rr | Режим работы регулятора: 0 – нагреватель; 1 – холодильник |
Poff | Выходная мощность в выключенном состоянии: 0…100 %, по умолчанию 20 |
d | Дельта ошибки. Если |Sp - Pv| > d, то блок продолжает расчет коэффициентов, по умолчанию 0 |
hys | Гистерезис. Если |Sp - Pv| < hys, то блок передает на выход прошлую рассчитанную мощность, должен быть меньше или равен дельте ошибки d, по умолчанию 0 |
Kp | Пропорциональный коэффициент, с которым работает ПИД-регулятор, по умолчанию 2 |
Ki | Интегральный коэффициент, с которым работает ПИД-регулятор, по умолчанию 0,01 |
Kd | Дифференциальный коэффициент, с которым работает ПИД-регулятор, по умолчанию 0,01 |
Min | Минимальная мощность, нижнее ограничение выдаваемой мощности: 0…100 %, по умолчанию 20 |
Max | Максимальная мощность, верхнее ограничение выдаваемой мощности: 0…100 %, по умолчанию 80 |
Выходы | |
out | Выходная мощность, 0…100 %. При выключенном блоке (Е = 0) на выход подается значение Poff |
st | Статус ошибок: 0 – нормальная работа; 1 – выходная мощность в выключенном состоянии не в допуске; 2 – пропорциональный коэффициент не в допуске; 3 – значения Min и/или Max не в допуске и/или значение Min больше значения Max |
P | Пропорциональная составляющая |
I | Интегральная составляющая |
D | Дифференциальная составляющая |
Для настройки регулятора нужно варьировать коэффициенты:
при увеличении Kp увеличивается скорость выхода на установленное значение, увеличивается управляющий сигнал. Чисто математически система не может прийти ровно к заданному значению, так как при приближении к уставке Sp составляющая пропорционально уменьшается. При дальнейшем увеличении Kp реальная система теряет устойчивость и начинаются колебания;
при увеличении Ki растет скорость компенсации накопившейся ошибки, что позволяет вывести систему точно к заданному значению с течением времени. Если система медленная, а Ki слишком большой – интегральная сумма сильно вырастет и произойдет перерегулирование, которое может иметь характер незатухающих колебаний с большим периодом. Поэтому интегральную сумму в алгоритме регулятора часто ограничивают, чтобы она не могла увеличиваться и уменьшаться до бесконечности;
при увеличении Kd растет стабильность системы, она не дает системе меняться слишком быстро. В то же время Kd может стать причиной неадекватного поведения системы и постоянных скачков управляющего сигнала, если значение с датчика «шумит».

Импульсный ПИ-регулятор (IPIC)
Блок IPIC реализует импульсный ПИ-регулятор. Применяется с интегрирующими исполнительными механизмами и служит для управления техническими процессами с помощью двоичных управляющих сигналов «больше-меньше». Раздел библиотеки: Регуляторы.
Для адекватной работы блока необходимо размещать его только в Таймере.
Назначение входов и выходов IPIC
Элемент | Описание |
---|---|
Входы | |
Enbl | Бит разрешения работы блока |
COM_RST | Бит сброса и перезагрузки регулятора |
H | Сигнал верхнего ограничения управляемого исполнительного элемента |
L | Сигнал нижнего ограничения управляемого исполнительного элемента |
LMNRS_ON | Разрешение имитации датчика положения управляемого исполнительного элемента |
LMNRSVAL | Начальное значение имитируемого положения в % |
LMNS_ON | Разрешение действия внешних команд «больше-меньше» |
LMNUP | Внешний сигнал управления «больше» |
LMNDN | Внешний сигнал управления «меньше» |
inp | Рассогласование регулируемой величины в % от базового значения |
Dband | Ширина зоны нечувствительности в % от базового значения |
KP | Коэффициент пропорциональной составляющей |
TI | Постоянная времени интегральной составляющей в секундах |
PULSE_TM | Минимальная длительность импульса управления в секундах |
BREAK_TM | Минимальная длительность паузы в секундах |
MTR_TM | Время полного хода привода между крайними положениями в секундах |
DISV | Вход дополнительного внешнего возмущающего воздействия: -100,0...100,0 % |
SV_YI | Значение балансировки интегральной составляющей в % |
SET | Команда балансировки интегральной составляющей |
Выходы | |
UP | Импульсы на открытие управляемого элемента, инициализируется 0 |
DN | Импульсы на закрытие управляемого элемента, инициализируется 0 |
PrY | Значение пропорциональной составляющей выходного сигнала регулятора в %, инициализируется 0 |
YI | Значение интегральной составляющей выходного сигнала регулятора в %, инициализируется 0 |
OPEN | Бит индикации достижения открытого положения управляемого элемента, инициализируется 0 |
CLOSE | Бит индикации достижения закрытого положения управляемого элемента, инициализируется 0 |
Err_V | Значение ошибки регулирования с учетом зоны нечувствительности в %, инициализируется 0 |
LMNR_SIM | Имитированное значение обратной связи по положению арматуры в % |
Q_dInteg | Приращение интегратора за цикл в % |
Q_TI | Фактическое значение постоянной интегрирования в секундах |
Q_dThrStIn | Значение на входе трех-порогового элемента в % |
Q_sThrOn | Порог включения в % |
Q_rThrOff | Порог отключения в % |
Q_stImpDauer | Обратный отсчет минимальной длительности импульса в секундах |
Q_stPausDauer | Обратный отсчет минимальной длительности паузы в секундах |

Импульсный ПД-регулятор с балансировкой (IPDC)
Блок IPDC реализует ПД-регулятор с импульсными выходными сигналами, формируемыми генератором ШИМ. Раздел библиотеки: Регуляторы.
Для адекватной работы блока необходимо размещать его только в Таймере.
Назначение входов и выходов IPDC
Элемент | Описание |
---|---|
Входы | |
inp | Рассогласование на входе в регулятор в % от базовой величины |
dz | Мертвая зона обработки рассогласования в % от базовой величины |
Kp | Коэффициент усиления пропорциональной составляющей ПД-регулятора |
Kd | Коэффициент усиления дифференциальной составляющей ПД-регулятора |
Ta | Постоянная времени апериодического звена реального дифференциатора в секундах |
H | Регулируемая величина на верхнем ограничении |
L | Регулируемая величина на нижнем ограничении |
Vlim | Регулируемая величина |
maxV | Верхнее ограничение регулируемой величины |
minV | Нижнее ограничение регулируемой величины |
Kv | Коэффициент усиления ограничительного П-регулятора |
dl | Гистерезис ограничения |
T | Время периода одного импульса ШИМ в секундах |
tmin | Минимальное время выходного импульса в секундах |
Smax | Максимальная скважность выходного импульса от tmin/T до 1 |
Enbl | Разрешение работы блока |
her | Рассогласование, считающееся ошибкой после переходного процесса |
Ter | Постоянная времени апериодического процесса накопления ошибки |
Rer | Сброс накопления ошибки |
SV | Значение балансировки апериодического звена реального дифференциатора |
SET | Команда балансировки |
Выходы | |
Up | Импульсы на увеличение регулируемой величины |
Dw | Импульсы на уменьшение регулируемой величины |
PrY | Пропорциональная составляющая выходного сигнала регулятора |
DfY | Дифференциальная составляющая выходного сигнала регулятора |
AperY | Выходной сигнал апериодического звена реального дифференциатора |
LmH | Регулируемая величина на верхнем ограничении |
LmL | Регулируемая величина на нижнем ограничении |
LmU | Сработал ограничительный регулятор на повышение |
LmD | Сработал ограничительный регулятор на понижение |
Err | Наличие ошибки регулирования (неотработки) |
При наличии на входе регулятора значения рассогласования вне заданной мертвой зоны производится расчет выходного сигнала регулятора в виде суммы пропорциональной и дифференциальной составляющих. Далее выходной сигнал регулятора подается на вход ШИМ-генератора, который преобразует данный сигнал в сигналы управления «больше-меньше» с длительностью в пределах заданного периода ШИМ.
При наличии сигнала на входе Enbl вычисления внутри блока не производятся (за исключением вычисления суммарной накопленной ошибки Serr), а LmU и LmD = 0. Err выставляется, если накопленная ошибка Serr (внутренняя переменная) становится больше, чем her. Serr накапливается по апериодическому закону с постоянной времени Ter. Если регулируемая величина находится на верхнем или нижнем ограничении (LmU, LmD), то Serr не накапливается. При поступлении сигнала Rer, Err и Serr сбрасываются в 0.

Интегрирующий задатчик (TrackRamp)
Блок TrackRamp представляет собой интегрирующий задатчик. Раздел библиотеки: Регуляторы.
Для адекватной работы данного блока необходимо размещать его только в Таймере.
Назначение входов и выходов TrackRamp
Элемент | Описание |
---|---|
Входы | |
x | Заданное значение |
LU | Верхний предел интегрирования |
LL | Нижний предел интегрирования |
SV | Балансировочное значение выхода |
RU | Темп интегрирования от LL до LU, параметр/секунда |
RD | Темп интегрирования от LU до LL, параметр/секунда |
CU | Бит включения интегрирования «вверх» |
CD | Бит включения интегрирования «вниз» |
CF | Бит включения задатчика |
S | Бит включения балансировки |
Выходы | |
Y | Текущее значение на выходе задатчика, инициализируется 0 |
YA | Приращение Y за таймерный цикл, инициализируется 0 |
QE | Бит индикации достижения x, инициализируется 0 |
QU | Бит индикации достижения LU, инициализируется 0 |
QL | Бит индикации достижения LL, инициализируется 0 |
При установленном бите CF производится достижение заданного значения x путем интегрирования «вверх» или «вниз» с заданным темпом (параметры RU или RD), если текущее значение выхода Y соответственно меньше или больше x. Если CF = 0, можно производить интегрирование от LL до LU или от LU до LL с заданным темпом (RU или RD), устанавливая биты CU или CD. Установка бита S позволяет остановить интегратор и получить на выходе значение, равное входному SV.

Идеальное/реальное дифференцирующее звено с балансировкой (rDIF)
Блок rDIF представляет собой реальное или идеальное дифференцирующее звено, в зависимости от величины Ta. Раздел библиотеки: Регуляторы.
Для адекватной работы блока необходимо размещать его только в Таймере.
Назначение входов и выходов rDIF
Элемент | Описание |
---|---|
Входы | |
x | Входная величина |
Kd | Коэффициент усиления по производной |
Ta | Постоянная времени апериодического звена в секундах |
Bal | Бит балансировки апериодического звена |
Выходы | |
Y_diff | Выходной сигнал производной в X/сек |
Y_aper | Выходной сигнал апериодического звена |
При Ta > 2,5 величины таймерного цикла блок работает как реальное дифференцирующее звено с передаточными функциями:
x → Y_diff: Kd ∙ s/(Ta ∙ s + 1),
x → Y_aper: 1/(Ta ∙ s + 1)
При Ta ≤ 2,5 величины таймерного цикла блок работает близко к идеальному дифференцирующему звену с передаточной функцией:
G(s) = Kd ∙ s
При подаче активного логического сигнала на вход Bal выход апериодического звена Y_aper балансируется значением входного сигнала X.

Многорежимный генератор импульсов с балансировкой (AdvPulseB)
Блок AdvPulseB представляет собой таймер с несколькими режимами работы. Раздел библиотеки: Регуляторы.
Для адекватной работы блока необходимо размещать его только в Таймере.
Назначение входов и выходов AdvPulseB
Элемент | Описание |
---|---|
Входы | |
x | Входной сигнал |
T | Временная задержка в секундах (должно быть кратным таймерному циклу) |
mod | Номер режима работы |
S_RT | Значение балансировки оставшейся длительности импульса в секундах |
bal | Бит балансировки |
Выходы | |
q | Выходной сигнал, инициализируется 0 |
Rem_T | Оставшееся значение длительности импульса в секундах (счетчик обратного отсчета) |
Если Mod = 0, то по фронту x выставляется q = 1 на период T. По истечении T выход сбрасывается в 0.
Если Mod = 1 (или любое другое значение кроме 0 и 2), то по фронту x выставляется q = 1 на период T. Спад x не влияет на состояние выхода. Повторное появление фронта x не влияет на отсчет времени задержки, пока q = 1.
Если Mod = 2, по фронту x выставляется q = 1 на период T. Спад x не влияет на состояние выхода. Повторное появление фронта x при q = 1 перезапускает отсчет времени задержки.
При подаче на вход bal активного логического сигнала выход q балансируется значением на входного сигнала x, а значение счетчика обратного отсчета длительности импульса балансируется значением на входе S_RT.

Обработка сигналов
Фильтр Баттерворта 3-го порядка (fBatt)
Блок fBatt является колебательным звеном третьего порядка c постоянной времени Ti. Раздел библиотеки: Обработка сигналов.
Для адекватной работы фильтра необходимо размещать данный блок в Таймере.
Назначение входов и выходов fBatt
Элемент | Описание |
---|---|
Входы | |
inp | Вход фильтра |
Ti | Постоянная времени фильтра в секундах |
bal | Разрешение режима балансировки |
Выходы | |
o3 | Значение выхода фильтра Баттерворта 3-го порядка, инициализируется inp |
out | Значение выхода апериодического звена первого порядка, инициализируется inp |
Алгоритм:
bal = 0: out_i = out_(i-1) + (inp_i – out_(i-1)) ∙ (1 – exp(-t⁄Ti));
bal = 1: out_i = out3_i = inp_i
Передаточная функция inp → out:
G(s) = 1/(Tf ∙ s + 1)
Передаточная функция inp → o3:
G(s) = (Tf ∙ s + 1)/(Tf^2 ∙ s^2 + sqrt(2) ∙ Tf ∙ s + 1)

Преобразование int-аналоговый вход во float с масштабированием (Sensor)
Блок Sensor осуществляет масштабирование входного сигнала I из интервала [minx...maxx] в интервал [miny…maxy] и фильтрацию сигнала с помощью Фильтра Баттерворта 3-го порядка с постоянной времени Т. Раздел библиотеки: Обработка сигналов.
Назначение входов и выходов Sensor
Элемент | Описание |
---|---|
Входы | |
I | Сигнал от датчика |
err | Не используется |
Terr | Не используется |
minx | Минимум входа |
maxx | Максимум входа |
miny | Минимум |
maxy | Максимум |
minr | Минимальный достоверный |
maxr | Максимальный достоверный |
T | Постоянная времени |
bal | Балансировка |
simv | Значение симуляции |
simi | Симуляция |
Выходы | |
val | Текущее значение сумматора, инициализируется upr |
err | Не используется |
uf | Сигнал – значение больше maxr |
if | Сигнал – значение меньше minr |
simo | Режим симуляции |
vals | Текущее значение после масштабирования |
В блоке предусмотрен режим симуляции (включен при simi = 1), при котором значение simv передается на выход val без обработки.
Значение val, полученное после обработки и симуляции, проверяется на соответствие интервалу достоверности [minr…maxr]. Если val < minr, lf = 1. Если val > maxr, uf = 1.

Преобразование 4…20 мА в реальные единицы измерения (asensor)
Блок asensor используется для обработки сигнала 4…20 мА. Блок масштабирует входной ток в реальные единицы измерения, формирует предупредительные и аварийные сигналы при выходе масштабированного сигнала за диапазон. Раздел библиотеки: Обработка сигналов.
Назначение входов и выходов asensor
Элемент | Описание |
---|---|
Входы | |
val | Входное значение в мА |
Tf | Постоянная времени фильтра в секундах |
max | Калибровка при 20 мА (значение out при val = 20 мА) |
min | Калибровка при 4 мА (значение out при val = 4 мА) |
hist | Гистерезис для формирования уставок hi, lo и т. д. |
hi | Уставка высокого уровня срабатывания |
hihi | Уставка аварийно-высокого уровня срабатывания |
lo | Уставка низкого уровня срабатывания |
lolo | Уставка аварийно-низкого уровня срабатывания |
dtAI | Время срабатывания hi, lo, err, мс |
dtTr | Время срабатывания hihi, lolo, err, мс |
err | Ошибка измерения |
link | Не используется |
init | Инициализация |
Выходы | |
I | Трансляция входа val |
ouF | Откалиброванное значение по min…max |
eri | Трансляция входа err |
Thi | Сигнал достижения уставки hi после задержки dtAI |
Tahi | Сигнал достижения уставки hihi после задержки dtTr |
Tlo | Сигнал достижения уставки lo после задержки dtAI |
Talo | Сигнал достижения уставки lolo после задержки dtTr |

Апериодический фильтр 2-го порядка (fFlt2T)
Блок fFlt2T является апериодическим звеном второго порядка c постоянной времени Ti. Раздел библиотеки: Обработка сигналов.
Для адекватной работы фильтра необходимо размещать данный блок в Таймере.
Назначение входов и выходов fFlt2T
Элемент | Описание |
---|---|
Входы | |
inp | Вход апериодического звена |
Tf | Постоянная времени апериодического звена в секундах |
bal | Разрешение режима балансировки |
Выходы | |
o2 | Значение выхода апериодического звена второго порядка, инициализируется inp |
out | Значение выхода апериодического звена, инициализируется inp |
Алгоритм:
bal = 0: out_i = out_(i-1) + (inp_i - out_(i-1)) ∙ (1 - exp(-t⁄Tf)),
o2_i = o2_(i-1) + (out_i – o2_(i-1)) ∙ (1 - exp(-t⁄Tf)),
bal = 1: out_i = o2_i = inp_i
Передаточные функции:
inp → out: G(s) = 1/(Tf ∙ s + 1);
inp → o2: G(s) = 1/(Tf^2 ∙ s^2 + Tf ∙ s + 1)

Блок компенсации запаздывания сигнала (LEADLAG)
Блок LEADLAG представляет собой параллельное соединение реального дифференцирующего звена и апериодического звена первого порядка. Раздел библиотеки: Обработка сигналов.
Для адекватной работы фильтра необходимо размещать данный блок в Таймере.
Назначение входов и выходов LEADLAG
Элемент | Описание |
---|---|
Входы | |
x | Входная величина |
Kd | Коэффициент усиления по производной |
Ta | Постоянная времени апериодического звена в секундах |
Bal | Бит балансировки апериодического звена |
Выходы | |
Y | Выходной сигнал |
Y_diff | Выходной сигнал производной, x/с |
Y_aper | Выходной сигнал апериодического звена |
Апериодическое звено реального дифференциатора и параллельное апериодическое звено имеют одинаковые постоянные времени Та.
Входная величина x подается на вход идеального дифференциатора с динамической задержкой, равной постоянной времени сглаживания Tа (выход Y_diff), а также на вход апериодического звена с постоянной времени сглаживания Tа (выход Y_aper).
Выходная величина Y_diff идеального дифференциатора пропорциональна скорости изменения производной Y_aper, помноженной на коэффициент воздействия по производной Kd. Выходной сигнал блока Y образуется сложением значений Y_aper и Y_diff.
При Та > 2,5 величины таймерного цикла блок работает с передаточными функциями:
x → Y_diff: G(s) = Kd ∙ (S)/(Ta ∙ s + 1);
x → Y_aper: G(s) = 1/(1 + Ta ∙ s);
x → Y: G(s) = Y_aper + Y_diff = [Kd ∙ (S)/(Ta ∙ s + 1)] +
+ [1/(1 + Ta ∙ s)] = (1 + Kd ∙ s)/(1 + Ta ∙ s)
Блок компенсирует запаздывание изменения входного сигнала (например, с датчика) относительно его реальной величины.
При Та ≤ 2,5 величины таймерного цикла блок работает близко к ПД-регулятору с коэффициентом пропорциональности kp = 1 и передаточной функцией:
G(s) = (1 + Kd ∙ s)
