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