<< Click to Display Table of Contents >> Navigation: Приложения > Библиотека OSCAT > OSCAT.Функциональные блоки > OSCAT.ФБ.Модули регулирования > FT_PIDW (OSCAT) |
FT_PIDW – это пропорционально-интегрально-дифференциальный регулятор (ПИД-регулятор) с ограничением выхода.
Вид ФБ в редакторе программ языка FBD:
Входы и выходы ФБ:
Название |
Тип |
Описание |
Входы |
||
IN |
REAL |
Входной сигнал (девиация процесса). |
KP |
REAL |
Коэффициент пропорциональной составляющей. По умолчанию вход равен 1. |
TN |
REAL |
Этот параметр должен быть отличен от 0. Величина 1/TN передается в качестве коэффициента K в интегратор (в качестве интегратора используется ФБ INTEGRATE (OSCAT)). По умолчанию вход равен 1. Если TN меньше или равно 0, данные в интегратор не передаются, а интегратор продолжает работать с последними сохраненными в нем параметрами IN и 1/TN. В этом состоянии управление интегратором с помощью IEN и RST невозможно. |
TV |
REAL |
Коэффициент K используемого ФБ FT_DERIV (OSCAT). По умолчанию вход равен 1. |
LIM_L |
REAL |
Нижний предел Y. По умолчанию вход равен -1E38. |
LIM_H |
REAL |
Верхний предел Y. По умолчанию вход равен +1E38. |
RST |
BOOL |
Реинициализация интегратора (сброс значения интеграла). |
Выходы |
||
Y |
REAL |
Выходной сигнал. Значение выхода Y ограничивается значениями LIM_L и LIM_H: LIM_L<=Y<=LIM_H. |
LIM |
BOOL |
TRUE, если сумма значений пропорциональной и интегральной частей выходит за границы диапазона [LIM_L, LIM_H]. |
ФБ работает по следующей формуле (в качестве дифференциатора используется ФБ FT_DERIV (OSCAT), в качестве интегратора – ФБ INTEGRATE (OSCAT)):
Y:= KP*(IN + FT_DERIV(IN, TV) + INTEGRATE(IN, 1/TN, NOT LIM))
Т.е. коэффициент пропорциональной части равен KP, коэффициент при производной (KD) – KP*TV, коэффициент при интеграле (KI) – KP/TN.
Интегратор вычисляет определенный интеграл от входного сигнала IN(t) с момента старта или реинициализации интегратора. Если LIM=TRUE, интегрирование приостанавливается (выход интегратора сохраняет свое значение). Для сброса значения интеграла нужно выполнить команду RST:=TRUE или TN=0.
На вход IN ФБ FT_PIDW подается выходной сигнал функции CTRL_IN (OSCAT), вычисляющей девиацию процесса.