Настройка PID на практике
Практические методы настройки параметров Kp, Ti, Td PID-регулятора в ПЛК. Метод Циглера-Никольса, метод реакции на ступеньку, автонастройка (autotuning), ручная подстройка на объекте. Как избежать overshoot, колебаний и windup.
Настройка PID — ключевой этап пусконаладки автоматики. Теоретически рассчитать Kp, Ti, Td можно только для простых линейных моделей; в реальных инженерных системах настройка — комбинация расчёта, тестов на объекте и опыта.
Методы настройки
1. Автонастройка (Autotuning)
Современные ПЛК умеют подбирать параметры автоматически. Принцип: регулятор вносит пробное возмущение (например, step или relay feedback) и по реакции системы вычисляет коэффициенты.
- CODESYS — функциональный блок PID_SELF_TUNE
- Siemens TIA Portal — PID_Compact с кнопкой «Запустить настройку» в онлайн-режиме
- Rockwell PIDE — встроенный autotune
Плюсы: быстро, без математики, работает для 80% задач. Минусы: процесс должен позволять пробные возмущения; при сильных помехах результат неточен.
2. Метод Циглера-Никольса (Ziegler-Nichols)
Классика с 1942 года, два варианта:
Метод колебаний (closed loop):
- Отключить I и D (Ki=0, Kd=0)
- Увеличивать Kp пока система не войдёт в устойчивые колебания
- Записать критический Kcr и период колебаний Tcr
- Задать Kp = 0,6·Kcr, Ti = Tcr/2, Td = Tcr/8
Метод реакции на ступеньку (open loop):
- В ручном режиме дать ступеньку на выходе (например, 0 → 50%)
- Записать время запаздывания L и постоянную времени T
- По таблицам Циглера-Никольса вычислить Kp, Ti, Td
Плюсы: универсален. Минусы: даёт агрессивную настройку с overshoot ~25%, в чувствительных системах нужно смягчать.
3. Метод Чиен-Хронес-Ресвика (CHR)
Модификация Циглера-Никольса с меньшим overshoot. Два режима: «без перерегулирования» (0% overshoot) и «с 20%». Применяется для температуры и давления где overshoot нежелателен.
4. Ручная настройка
Проверенный путь:
- Начать с Kp = 1, Ti = 999 (I отключен), Td = 0
- Увеличивать Kp пока появятся колебания → откатить до 70% от значения
- Уменьшать Ti (включать I) пока регулятор не начнёт устранять статическую ошибку за разумное время
- Добавить Td если процесс медленный и нужно гасить переходы
Типичные стартовые значения
Для ориентира в автоматике инженерных систем:
| Процесс | Kp | Ti, с | Td, с | |---------|----|----|-----| | Температура ИТП (контур отопления) | 2–5 | 120–300 | 0 (PI) | | Температура приточного воздуха ПВУ | 5–10 | 60–120 | 10–30 | | Давление в насосной (ХВС/ГВС) | 1–3 | 10–30 | 0 (PI) | | Уровень в баке | 0,5–2 | 60–300 | 0 (PI) | | Температура котла пара | 2–5 | 30–90 | 5–15 |
Это стартовая точка — на объекте всё равно нужна подстройка.
Anti-windup
При длительном насыщении выхода (клапан 100% или 0%) интегральная составляющая накапливается и после выхода из насыщения даёт большой overshoot. Решения:
- Clamping — остановить накопление I при насыщении
- Back-calculation — вычитать избыток накопленной I пропорционально насыщению
В готовых блоках CODESYS, TIA Portal, Rockwell — anti-windup уже встроен.
Фильтрация D
D-составляющая усиливает шум датчика. Решение — low-pass фильтр первого порядка на производной с постоянной времени Tf = Td/N, где N = 5–20.
Полезный приём на пусконаладке
Записать график уставки, PV и управляющего сигнала за 30–60 минут работы при реальных возмущениях (пуск, скачок нагрузки, суточный цикл). По графику видно overshoot, колебания, запаздывание — и дальше корректировать Kp, Ti, Td.
Частые вопросы
Автонастройка PID даёт плохой результат — что делать?
Проверить: 1) процесс стабилен (не идёт переходный режим от предыдущего пуска); 2) амплитуда пробного возмущения достаточна (минимум 10% от диапазона PV, иначе шум забивает полезный сигнал); 3) отсутствуют внешние возмущения во время настройки (например, другие регуляторы не влияют на тот же процесс). Если автонастройка упорно даёт плохой результат — переходить на ручную. На практике на инженерных системах РУБИКОНа ручная настройка часто точнее автоматической, т.к. учитывает нюансы объекта.Регулятор колеблется — какой параметр крутить?
Сначала посмотрите период колебаний. 1) Если период быстрый (секунды) — слишком большой Kp или малый Td-фильтр. Уменьшите Kp на 30% или добавьте фильтр на производной. 2) Если период медленный (минуты) — слишком малый Ti (слишком агрессивная I). Увеличьте Ti в 2 раза. 3) Если колебания после каждого скачка уставки — overshoot от I-составляющей. Проверьте anti-windup, добавьте feedforward если возможно. Главное правило: меняйте один параметр за раз и записывайте график.
Источники
- Ziegler J.G., Nichols N.B. — Optimum Settings for Automatic Controllers (1942) — ASME
- Åström K.J., Hägglund T. — Advanced PID Control — ISA