MetaKit Руководство по компонентам

PIDD — ПИД-регулирование командами «Больше» и «Меньше»

PIDD поддерживает заданную температуру или давление, понемногу открывая и закрывая клапан. Он подаёт короткие команды движения с паузами. Длительность команд меняется по результату регулирования.

PIDD определяет, в какую сторону и как долго двигать привод. Подключение привода, ручное управление и защиты выполняет Valve. Оба компонента уже собраны в готовом PiddValveUnit. Для аналогового задания используйте PID, для простого управления по порогам — ThreeStep.

Состав и связи

PIDD: Выходы регулятора подключаются к управлению приводом. В PiddValveUnit PIDD уже соединён с Valve.
В рамке — состав компонента, снаружи — подключения проекта. Нажмите на схему, чтобы открыть её крупнее.

Выходы регулятора подключаются к управлению приводом. В 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 нет.