ПИД-регулятор (PID controller)

Работа ПИД-регулятора в общих чертах

Пропорционально-интегрально-дифференциальный регулятор или ПИД-регулятор — это математический алгоритм (программный код), позволяющий в автоматическом режиме поддерживать заданный технологический параметр [технологическая переменная] (process variable — PV) в требуемом диапазоне — как можно ближе к уставке (setpoint — SP), за счет регулировки другого параметра [манипулируемая переменная] (manipulated variable — MV). Последовательность работы ПИД-регулятора упрощенно представлена на рис. 1.

Рис. 1. Блок-схема замкнутого цикла (closed loop) ПИД-регулятора.

Допустим, технологический процесс (т.е. работа технологического оборудования) описывается каким-то параметром PV. Датчик этого оборудования считывает аналоговый сигнал, пропорциональный фактическому PV. Далее модуль ввода преобразует это аналоговое значение в цифровое PV и передает его контроллеру. Программа каждый вычислительный цикл контроллера сравнивает измеренное PV с уставкой SP (задание, введенное оператором), а именно из второго отнимает первое. Эта разница называется ошибкой [error — e(t)] (1).

e(t)=SPPV(1)\begin{equation} e(t) = SP — PV \tag{1} \end{equation}

Анализируя амплитуду ошибки и ее колебания во времени, математический алгоритм ПИД-регулятора рассчитывает требуемое изменение манипулируемой переменной и передает соответствующее задание манипулируемому оборудованию через периферийные устройства. Этот цикл повторяется с достаточно высокой частотой (обычно от сотен миллисекунд до нескольких секунд). Т.о. ПИД-регулятор стабильно (при правильных настройках, нормальной работе весоизмерительного оборудования и КИПиА) ведет технологический процесс в автомате.

Алгоритмы ПИД-регулятора

Без знания базовой математики и алгоритма работы программного кода ПИД-регулятора, во-первых, крайне сложно правильно настроить уже существующие ПИД-ы в системе (которые создали до вас), во-вторых, с большой долей вероятности, не будет понимания где да и, вообще, зачем применять этот инструмент (а он крайне полезен для технолога).

Итак, из расшифровки аббревиатуры ПИД следует, что в алгоритме присутствуют три составляющие: пропорциональная — П (P), интегральная — И (I) и дифференциальная — Д (D) — грубо говоря, три формулы / блока для каждой составляющей, и в каждой из этих формул “обрабатывается” ошибка e(t).

В современной промышленности в основном используют два типа ПИД-алгоритмов: идеальный (рис. 2) и параллельный1 (рис. 3). Они отличаются последовательностью действий П- И- Д- составляющих регулятора.

Рис. 2. Идеальный ПИД-алгоритм (2) (ideal / ISA).
Рис. 3. Параллельный ПИД-алгоритм (3) (parallel / non-interacting).
MV=Kp(e(t)+1Ti0te(t)dt+Tdde(t)dt)(2)\begin{equation} MV = K_p \left( e(t) + \frac{1}{T_i} \int_{0}^{t} e(t)\,dt + T_d \frac{de(t)}{dt} \right) \tag{2} \end{equation}
MV=Kpe(t)+1Ti0te(t)dt+Tdde(t)dt(3)\begin{equation} MV = K_p e(t) + \frac{1}{T_i} \int_{0}^{t} e(t)\,dt + T_d \frac{de(t)}{dt} \tag{3} \end{equation}

Обозначения:

  • e(t) — ошибка;
  • SP — уставка;
  • PV — технологическая переменная;
  • MV — выходной сигнал ПИД-регулятора / манипулируемая переменная;
  • Kp = GAIN — коэффициент пропорциональности;
  • Ti = TI — коэффициент интегральной составляющей;
  • t — текущее время работы ПИД-регулятора;
  • Td = TD — коэффициент дифференциальной составляющей.

По сути, формулы (2) и (3) — это основа ПИД-регулятора (идеального и параллельного, соответственно) — именно по ним он вычисляет манипулируемую переменную MV и передает необходимую команду манипулируемому оборудованию. В них мы видим три настроечных коэффициента (Kp, Ti, Td), ошибку e(t) и текущее время работы ПИД-регулятора t. Настроечные коэффициенты — единственный инструмент в руках технолога при работе с ПИД-регулятором (он должен их вводить самостоятельно либо методом подбора, либо следуя какой-нибудь методике настройки). Ошибка, как мы знаем, это разница уставки (или, простым языком, задания) и фактического показания технологической переменной, т.е. то, что рассчитывает программа каждый вычислительный цикл контроллера. А t — это время с момента включения ПИД-регулятора (нажатия на соответствующую кнопку в программе), т.е. текущее время его работы.

Теперь разберемся с работой алгоритма. Для простоты рассмотрим параллельный, где каждая составляющая является независимым слагаемым, его при желании можно исключить из расчета (это происходит очень часто).

Пропорциональная составляющая Kpe(t) — это всего лишь ошибка e(t), умноженная на безразмерный настроечный коэффициент Kp []. Если отключить интегральную и дифференциальную составляющие, то MV=Kpe(t). Т.к. длительность цикла ПИД-регулятора обычно очень мала (от сотен миллисекунд до нескольких секунд), то MV при работе только П-составляющей будет изменяться достаточно резко.

Интегральная составляющая

1Ti0te(t)dt\tfrac{1}{T_i}\int_{0}^{t} e(t)\,dt

состоит из настроечной части 1/Ti и накопительного интеграла от ошибки по времени. С первым множителем 1/Ti все ясно — это единица, деленная на вводимый технологом настроечный коэффициент Ti [с]. Что же касается интеграла, то программа вычисляет его по формуле (4): каждый новый вычислительный цикл ПИД-регулятора (допустим, каждые 100 мс) измеренная ошибка e(t) умножается на длительность вычислительного цикла ПИД-регулятора ∆t (естественно, это константа), и это произведение прибавляется к сумме предыдущих расчетов (рис. 5).

Рис. 5. Интегральная и дифференциальная составляющие ПИД-алгоритма2.

Расчет же начинается с момента включения ПИД-регулятора. Если ошибка имеет отрицательный знак, то произведение вычитается из суммы. Т.о. интегральная составляющая — это сумма произведений ошибки и длительности t; сумма, которая с каждым новым вычислительным циклом изменяется, как бы самовыравнивается. Поэтому И-составляющая отвечает за учет всех прошлых ошибок и стабилизацию функции PV(t). По опыту автора, это важнейшая часть уравнения ПИД-алгоритма.

Дифференциальная составляющая

Tdde(t)dtT_d \frac{de(t)}{dt}

, как и остальные, имеет свой настроечный коэффициент Td [с] и производную от ошибки de(t)/dt. Второй множитель можно представить в виде более понятной формулы (6), ведь производная — это угол наклона касательной к кривой функции (рис. 5), т.е. отношение изменения PV за последний вычислительный цикл ПИД-регулятора к длительности этого цикла.

0te(τ)dτ=k=0nekΔt(4)\begin{equation} \int_{0}^{t} e(\tau)\, d\tau = \sum_{k=0}^{n} e_k \,\Delta t \tag{4} \end{equation}
n=tΔt(5)\begin{equation} n = \frac{t}{\Delta t} \tag{5} \end{equation}
de(t)dt=PVnPVn1Δt(6)\begin{equation} \frac{\mathrm{d}e(t)}{\mathrm{d}t} = \frac{PV_{n} — PV_{n-1}}{\Delta t} \tag{6} \end{equation}

Обозначения:

  • n — кол-во вычислительных циклов ПИД-регулятора;
  • t — длительность одного вычислительного цикла ПИД-регулятора;
  • PVn — последнее значение технологической переменной;
  • PVn-1 — предпоследнее (предыдущее) значение технологической переменной.

Очевидно, что дифференциальная составляющая очень резко реагирует только на изменение PV(t), как бы предсказывая возможное развитие событий. Поэтому Д-составляющую включают преимущественно для процессов, требующих практически мгновенного отклика MV (например, контроль температуры газового потока в декарбонизаторе). Вдобавок, считается, что она может ложно реагировать на помехи в сигнале PV. Забегая вперед, на Помоле цемента рекомендуется использовать ПИ-контроллер. Причины будут понятны во время дальнейшего объяснения.

Графический интерфейса ПИД-регулятора

На рис. 6 показан скриншот окна настройки реального ПИД-регулятора в программной оболочке Simatic WinCC для контроллеров Siemens.

Рис. 6. Скриншот окна настройки ПИД-регулятора в Simatic WinCC (включены П-И-Д составляющие).

На нем зеленым цветом выделена активная кнопка/режим. Слева можно увидеть знакомые обозначения: PV, SP. OUT = MV — обновляемое значение манипулируемой переменной при работе ПИД-регулятора. MAN — введенное оператором MV, которое заработает при переходе из ПИД-регулятора (кнопка “ПРОГРАММА”) в ручной режим (кнопка “ОПЕРАТОР”). GAIN, TI, TD — настроечные коэффициенты ПИД-регулятора, о которых мы говорили ранее [см. пояснения к формуле (3)]. Каждый из этих настроечных коэффициентов можно отключить, нажав на соответствующую кнопку. HLM и LLM — это верхняя и нижняя границы диапазона изменения MV при работе ПИД-регулятора. Они вводятся вручную оператором, чтобы ограничить (“зажать”) действие ПИД-а — MV не сможет выйти за пределы этого диапазона. Кнопка “СБРОС” обнуляет накопительную интегральную составляющую и MV. Справа от серой области расположена координатная сетка. В ней в режиме реального времени строятся графики SP, PV и MV.

ПИД-регулятор системы помола

В рассматриваемой системе помола цемента замкнутого цикла ПИД-регулятор отвечает за стабильный поток сыпучего материала (throughput) через мельницу [т/ч]. Тот зависит преимущественно от шаровой загрузки. С одной стороны, сыпучий материал должен протекать по полостям между всеми шарами (всей шаровой загрузки, а не отдельной ее части), но не свободно над ними — это признак перепитки системы, тогда помола этого свободно пролетающего материала не будет — мука пролетит байпасом. С другой — важно избежать недопитки системы — доля шаров, полости между которыми не заполнены сыпучим материалом, попросту не работает на помол, а только выделяет избыточное тепло от ударов и трения друг о друга. Т.к. шары в цементной мельнице обычно пересортировывают не чаще одного раза в год, то и поток сыпучего материала должен быть более-менее постоянным в течение этого периода времени (подходящее значение потока выбирают по результатам нагрузочного теста [след. подраздел]).

В качестве MV в этом ПИД-регуляторе выступает свежее питание мельницы (fresh feed). Обычно оно состоит из трех компонентов: клинкера, гипса и минеральной добавки. Каждый из них дозируется ленточным весовым дозатором. Оператор устанавливает массовые доли компонентов в смеси свежего питания мельницы по данным лаборатории3. Т.о., MV — это суммарный массовый поток [т/ч] с трех дозаторов.

При наличии поточного весоизмерителя крупки из-под динамического сепаратора PV равен сумме свежего питания мельницы и потоку крупки (throughput = fresh feed + rejects). Альтернативный, но менее надежный и стабильный вариант (т.к. зависит от параметров электросети), PV = токовой нагрузке электродвигателя элеватора питания сепаратора (feed). В любом случае первый или второй вариант ПИД-регулятора лучше, чем работа в ручном режиме — производительность помола цемента может возрасти на 10-20%.

По ряду причин (длительность транспортировки сырьевых компонентов в мельницу, течение сыпучего материала по мельнице и т.д.) система помола цемента замкнутого цикла (PV) откликается на изменение MV только через несколько минут, т.е. сотни вычислительных циклов n ПИД-регулятора. Очевидно, что в таком случае дифференциальная составляющая бессмысленна — необходимо применять ПИ-регулятор. А в нем основной вклад в стабилизацию потока сыпучего материала через мельницу, следовательно, и всего помола вносит И-составляющая. Задача технолога (обычно он настраивает ПИД-ы технологических процессов) — подобрать такие коэффициенты GAIN и TI, анализируя отклик системы помола, чтобы график PV был бы максимально приближен к горизонтальной линии на протяжении длительного периода работы (от нескольких часов до нескольких суток). Этот процесс называется настройкой ПИД-регулятора (PID tuning).

В интернете и профессиональной литературе предложено множество методов настройки ПИД-ов: от незамысловатого подбора до различных математических моделей / расчетов (Ziegler-Nichols, Cohen-Coon, Kappa-Tau, Lambda и др.). В общем, это отдельное большое направление для изучения. В этой книге автор решил не углубляться в него. Универсальных методов настройки ПИД-регуляторов, скорее всего, нет. Каждый из них подходит для определенных специфических случаев. Рассмотренный здесь ПИ-регулятор помола цемента настраивается банальным подбором коэффициентов GAIN и TI, т.к. эксперименты автора с различными расчетными методами пока не увенчались успехом.

  1. Насколько известно автору, параллельный алгоритм — стандарт для промышленных контроллеров Siemens, которые устанавливают на большинстве цементных заводов. Тем не менее, точную информацию можно найти только в документации к конкретной системе. ↩︎
  2. Нахождение дифференциала для наглядности показано где-то в середине графика, хотя фактически оно происходит только для последнего вычислительного цикла, т.е. в конце кривой! ↩︎
  3. Прежде всего речь идет о массовой доли SO₃ в цементе (<3.5% для ЦЕМ I по ГОСТ 31108-2020), хотя, лаборатория также проверяет фактическую долю минеральной добавки — далеко не всегда дозаторы работают корректно. ↩︎

Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *