PIDD — ПИД-регулирование командами «Больше» и «Меньше»
PIDD поддерживает заданную температуру или давление, понемногу открывая и закрывая клапан. Он подаёт короткие команды движения с паузами. Длительность команд меняется по результату регулирования.
PIDD определяет, в какую сторону и как долго двигать привод. Подключение привода, ручное управление и защиты выполняет Valve. Оба компонента уже собраны в готовом PiddValveUnit. Для аналогового задания используйте PID, для простого управления по порогам — ThreeStep.
Состав и связи
Выходы регулятора подключаются к управлению приводом. В PiddValveUnit PIDD уже соединён с Valve.
Первое подключение
Заполняйте пример в таблице «Параметры» (Params) добавленного компонента. Как добавить компонент и где искать настройки.
Рассмотрим клапан подачи теплоносителя V101, открытие которого повышает температуру воды. Температуру измеряет Sensor с ID TT101, клапаном управляет Valve с ID V101.
1. Заполните основные параметры
| Параметр | Значение для примера |
|---|---|
PIDDId |
TIC101 |
PIDDComment |
Температура воды |
PIDDParent |
CabinetController_Inst |
PIDDSensId |
TT101 |
PIDDEnExtra |
bTemperatureControlEnable |
bTemperatureControlEnable включает регулирование температуры. Когда оно не нужно, выключите этот сигнал. По ID TT101 компонент сам получает показание датчика и его ошибку.
2. Задайте основные настройки
| Настройка | Значение для примера |
|---|---|
Conf.TIC101_PIDD_fSP |
60.0 °C |
Conf.TIC101_PIDD_fDB |
2.0 °C |
Conf.TIC101_PIDD_fSR |
3.0 с |
Conf.TIC101_PIDD_fKp |
1.0 |
Conf.TIC101_PIDD_fTi |
0.0 с |
Conf.TIC101_PIDD_fTd |
0.0 с |
В примере приведены начальные настройки. При наладке их подбирают по скорости нагрева воды и движения клапана. При положительном Kp низкая температура вызывает команду открыть клапан.
При fDB = 2 °C допускается отклонение меньше 1 °C в каждую сторону от уставки. Если температура попала в этот диапазон, после ближайшего расчёта регулятор перестанет выдавать импульсы.
3. Подключите команды к Valve
| Параметр Valve | Значение |
|---|---|
ValOpenCmd |
TIC101_PIDD_Inst.out_bUp |
ValCloseCmd |
TIC101_PIDD_Inst.out_bDown |
Расположите PIDD перед Valve в порядке выполнения программы: сначала рассчитывается команда, затем привод её выполняет. Концевые выключатели, время полного хода, пауза перед сменой направления и ручное управление настраиваются в Valve.
4. Как это будет работать
Когда температура ниже уставки, регулятор выдаёт импульсы открытия. При превышении уставки он выдаёт импульсы закрытия. Между импульсами обе команды сняты.
Например, при периоде 3 с и рассчитанном воздействии +25 % команда увеличения включается примерно на 0,75 с за период. При −25 % с той же длительностью включается команда уменьшения. При величине воздействия 100 % соответствующая команда выдаётся непрерывно.
Фактическое движение зависит также от Valve. При достижении концевого выключателя Valve снимает соответствующий выход, а при смене направления выдерживает настроенную паузу.
Как работает регулирование
Регулятор рассчитывает число от −100 до +100 %. Плюс означает движение на увеличение температуры или давления, минус — на уменьшение. Само число определяет, какую часть периода привод будет двигаться: при 25 % — четверть периода, при 50 % — половину.
fSR — время между расчётами и одновременно полный период импульса с паузой. Если его уменьшить, регулятор будет чаще пересчитывать команду. При той же доле включения каждый отдельный импульс станет короче.
| Рассчитанное воздействие | Выходы |
|---|---|
| Положительное | Импульсы out_bUp |
| Отрицательное | Импульсы out_bDown |
| Нулевое | Оба выхода сняты |
Компонент не выдаёт оба направления одновременно. При открытии, которое уменьшает регулируемую величину, поменяйте назначения команд в Valve либо настройте соответствующий знак Kp.
Отключение и сброс
При снятии PIDDEnExtra, ошибке выбранного Sensor или сбросе оба выхода снимаются. Сброс поступает от PIDDParent.out_bWorktimeReset.
После выключения PIDD команды движения прекращаются. Если при останове установки клапан должен полностью закрыться или открыться, эту команду нужно задать в управлении Valve. Сам PIDD при выключении ни в одно из крайних положений клапан не переводит.
При fSR ≤ 0 импульсы не выдаются. Отдельной аварии параметров у регулятора нет.
Параметры компонента — Params
| Параметр | По умолчанию | Назначение |
|---|---|---|
$PIDD |
Дискретный ПИД-регулятор |
Название группы параметров |
PIDDId |
_ID_ |
ID регулятора. Для TIC101 создаётся экземпляр TIC101_PIDD_Inst |
PIDDComment |
Комментарий |
Название регулируемого процесса |
PIDDParent |
CabinetController_Inst |
Родительский компонент; его out_bWorktimeReset сбрасывает расчёт и импульсы |
PIDDEnExtra |
true |
Дополнительное разрешение работы, логический сигнал или выражение |
PIDDConf |
Пусто | ID набора настроек. Если пусто, используется PIDDId |
PIDDConfComment |
Пусто | Название набора настроек. Если пусто, комментарий составляется из PIDDComment и $PIDD |
PIDDSensId |
_ID_ |
ID Sensor, предоставляющего сглаженное измерение и признак ошибки |
Родительский компонент используется для сброса. Условия разрешения регулирования задавайте через PIDDEnExtra.
Настройки во время работы — Conf
Полные имена приведены для PIDDId = TIC101 и пустого PIDDConf.
| Настройка | Тип | Начальное значение | Назначение |
|---|---|---|---|
Conf.TIC101_PIDD_fSP |
REAL |
0.0 |
Уставка в единицах измеряемой величины |
Conf.TIC101_PIDD_fDB |
REAL |
0.0 |
Полная ширина зоны нечувствительности в тех же единицах |
Conf.TIC101_PIDD_fSR |
REAL |
3.0 |
Период расчёта и импульсов, с; должен быть больше нуля |
Conf.TIC101_PIDD_fKp |
REAL |
1.0 |
Усиление реакции на отклонение; знак определяет направление |
Conf.TIC101_PIDD_fTi |
REAL |
0.0 |
Временной параметр дополнительного вклада текущего отклонения, с. При 0.0 этот вклад отключён |
Conf.TIC101_PIDD_fTd |
REAL |
0.0 |
Временной параметр реакции на изменение отклонения, с. При 0.0 этот вклад отключён |
При первой настройке оставьте Ti = 0 и Td = 0, затем подберите период и Kp. У этого регулятора увеличение Ti усиливает реакцию на текущую разницу между уставкой и измерением. Отдельного накопления ошибки этот параметр в PIDD не добавляет.
Для общих настроек нескольких регуляторов задайте одинаковый PIDDConf. Например, PIDDConf = WaterHeating создаёт уставку Conf.WaterHeating_PIDD_fSP; остальные настройки получают тот же префикс. Выходы и расчёт каждого регулятора остаются отдельными.
Выходы компонента
| Результат для примера | Тип | Назначение |
|---|---|---|
TIC101_PIDD_Inst.out_bUp |
BOOL |
Импульс увеличения воздействия |
TIC101_PIDD_Inst.out_bDown |
BOOL |
Импульс уменьшения воздействия |
Ручное открытие и закрытие выполняются через компонент управления приводом. Собственного ручного режима и ручного задания у PIDD нет.