PID

ФОРМУЛА ПИД-РЕГУЛЯТОРА

В этой статье объясняется, как осуществлять ПИД-регулирование с помощью ПЛК, и описывается алгоритм ПИД-регулирования. ПИД-регулирование используется в 80% проектов автоматизации. ПИД-регулирование — это формула, которая выполняется через определенные интервалы времени, а вычисленный результат передается на выход. Для получения дополнительной информации о формуле, пожалуйста, посетите Википедию .

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

Давайте попробуем разобраться в этой таблице. Формула ПИД-регулятора выполнялась каждую секунду и вычисляла выходное значение в столбце «Выход».

  • Ошибка: Это разница между заданным значением и фактическим значением. Если фактическое значение больше заданного, результат будет отрицательным. Отрицательный результат получается в течение 9-12 секунд.
  • Последняя ошибка: Это значение ошибки за предыдущую секунду. Как видно из таблицы, оно совпадает со значением ошибки в строке выше.
  • Кр: Это значение получается путем умножения P на ошибку. Положительная ошибка увеличивает выходной сигнал, а отрицательная — уменьшает. В данном случае выходной сигнал уменьшился на 9-12 секунд.
  • Ки: Значение Ki — это сумма ошибок, возникающих во время работы ПИД-регулятора, умноженная на I. Оно увеличивается по мере накопления ошибки в течение 0-5 секунд. В течение 6-8 секунд ошибка равна нулю, поэтому значение Ki остается неизменным. В ПИД-регулировании, когда достигается желаемое значение, поддерживается заданное значение выходного сигнала. Таким образом, фактическое значение поддерживается на желаемом уровне. В течение 9-12 секунд ошибка становится отрицательной, но Ki остается положительным. Значение Ki уменьшается в зависимости от времени и величины ошибки. Если ошибка продолжает оставаться отрицательной, Ki станет отрицательной и продолжит накапливаться.
  • Кд: Коэффициент Kd используется только в 1/4 случаев применения ПИД-регуляторов. Его не следует использовать в медленно работающих или шумных системах. Он рассчитывается путем умножения предыдущей вычисленной ошибки на ее производную, а затем вычисления последней вычисленной ошибки.
  • Выход: Это сумма рассчитанных значений Kp, Ki и Kd. Обычно используется шкала от 0 до 100.

ПРОГРАММА ПЛК

Теперь давайте запустим алгоритм ПИД-регулирования, который мы описали выше, внутри ПЛК . Код ПЛК, написанный для ПИД-регулирования, вы можете увидеть на изображении ниже. Вы можете скачать этот код ПЛК отсюда.

В этом примере используется ПЛК с релейным выходом . Q0.1 управляет нагревателем. ID1 считывает температуру PT100. Желаемое заданное значение должно поддерживаться постоянным на основе показаний температуры, полученных от PT100.

В ПЛК Fulmatic 7 значение PT100 считывается как 32-битное целое число. В этой части кода ПЛК мы сначала преобразуем значение PT100, считанное с ID 1, в формат вещественного числа. Затем делим его на 100. Теперь мы можем увидеть значение температуры из нашей тестовой установки в виде десятичного числа по адресу MD4.

Мы определяем параметры, находящиеся в блоке ПИД-регулирования. Эти параметры аналогичны во всех программах ПЛК . Более подробную информацию можно найти на страницах справки Fulmatic SOFT . Здесь я хочу объяснить некоторые параметры. Многие из нас считают, что можно очень хорошо управлять процессом, используя только один блок ПИД-регулирования. Это не так; я объясню это подробнее в конце статьи.

  • ПИД-регулятор: Параметры P (пропорциональный), I (интегральный) и D (дифференциальный) могут быть введены как постоянные числа или как переменные адреса. Вводя переменные адреса вместо констант, мы можем адаптировать процесс к изменяющимся условиям. Например, предположим, что мы нагреваем котел. Нам потребуются разные значения ПИД-регулятора, когда в котле находится 100 кг продукта, по сравнению с тем, когда в котле находится 1000 кг продукта.
  • ПЕРИОД: В начале этой страницы мы видели, что формула ПИД-регулятора вычисляет разные значения при каждом запуске. Частота выполнения формулы ПИД-регулятора и длительность её работы влияют на результат. Мы можем поддерживать это время постоянным с помощью параметра периода. Для быстрых процессов целесообразно ввести 100, а для медленных — 1000.
  • TEMP 1: Это значение Ki, поясненное в разделе формул PID в начале страницы. Это одно из наиболее важных значений в блоке ПИД-регулятора. Возможно, нам потребуется внести изменения в код ПЛК. Подробнее об этом я расскажу в конце статьи.

Блок ПИД-регулирования передает вычисленное выходное значение в качестве заданного значения для команды ШИМ через MD24. MD24 выбирается в блоке ПИД-регулирования с параметрами Q.MIN и Q.MAX, варьирующимися от 0.0 до 100.0. Период блока ШИМ составляет 2000 миллисекунд. MD24 задает процент времени, в течение которого выходной сигнал будет активен. При значении 1 время активности составит 20 миллисекунд, а время пассивного режима — 1980 миллисекунд. Время включения/выключения реле составляет приблизительно 20 миллисекунд, что затрудняет реагирование на 1%. Поэтому я ограничил работу реле до 2% и до 98%. Это продлевает срок службы реле. Аналогичные действия следует предпринять при работе с контактором, использующим ПЛК с транзисторным выходом. При использовании твердотельного реле эти ограничения не потребуются.

НАСТРОЙКА ПАРАМЕТРОВ ПИД-РЕГУЛЯТОРА

Теперь перейдём к самому важному моменту. Многие ПЛК имеют функцию автонастройки. Однако значения, определяемые автонастройкой, недостаточны. Погрешность очень высока. Более того, даже если мы найдём наиболее точные значения ПИД-регулятора, они часто не будут работать точно из-за других факторов, влияющих на процесс. Мы можем легко использовать устройства управления процессами с поддержкой ПИД-регулятора в различных процессах. И в большинстве случаев мы достигаем идеальных значений. Это происходит потому, что они работают не только по формуле ПИД-регулятора; добавляются дополнительные элементы управления. Особенно в медленных процессах точное управление только с помощью ПИД-регулятора невозможно. Давайте объясним это на примере медленно работающего ПИД-регулятора ниже. В этом примере мы не используем производную D. Она не используется в 3/4 случаев применения ПИД-регуляторов.

Сначала нам нужно найти оптимальное значение P. Следует установить I равным 0.0 и D равным 0.0 и провести несколько проб, чтобы найти подходящее значение P. На графиках выше P установлено равным 0.3, 0.6 и 1.0 соответственно. На первый взгляд, график 2 с P = 0.6 может показаться наилучшим результатом. Вспомните таблицу Excel вверху страницы. I будет накапливать ошибку и увеличивать выходное значение до тех пор, пока оно не достигнет заданного значения. При активации P = 0.6 и I выходное значение превысит заданное значение. Если превышение заданного значения не является проблемой, подходит P = 0.6. Если же вы хотите, чтобы заданное значение вообще не превышалось, больше подходит график 1. Оставшееся расстояние до достижения заданного значения можно сократить с помощью интегрального эффекта. В идеале, P = 0.3 следует использовать до достижения заданного значения, а затем P = 0.6 после его достижения. Таким образом, заданное значение не будет превышено на начальном этапе роста, а колебания будут значительно меньше в дальнейшем. Потому что высокое значение P не допускает значительных колебаний.

Интегральное значение I можно найти путем нескольких проб. Хорошей отправной точкой является использование 1% от P для I. Если значение I велико, его влияние на формулу ПИД-регулятора будет быстрее, что приведет к увеличению частоты колебаний. Если значение I мало, частота колебаний будет мала, но амплитуда будет большой. Даже если мы найдем идеальное значение, оно все равно может работать не так, как мы хотим, из-за других факторов, влияющих на процесс. Теперь мы подходим к критической точке, о которой я упоминал выше.

В начале страницы мы рассчитали значение Kp, умножив значение P на ошибку, и значение Ki, умножив общую ошибку на I. Когда ошибка Kp положительна, она увеличивает выходное значение; когда она отрицательна, она уменьшает выходное значение. Ki оказывает аналогичное воздействие. Однако Ki может непрерывно накапливаться и достигать очень больших значений. Даже когда заданное значение и фактическое значение совпадают, значение Ki все равно может быть очень большим. Это может привести к тому, что фактическое значение значительно превысит заданное значение. Если заданное значение будет значительно превышено, оно также значительно уменьшится. Для управления этими колебаниями нам необходим дополнительный механизм управления.

Нам необходимо применить метод, называемый « накопление » . Для этого нужно сбросить значение Ki, когда оно приблизится к фактическому заданному значению. Это обнуляет накопленные значения Ki, освобождая место для более точных расчетов значений в целях управления.

С помощью добавленного кода мы сначала находим 60% от заданного значения. Когда фактическое значение окажется больше найденного, MD32 один раз сбрасывает значение Ki. 60% — это не фиксированное значение; его следует определять в соответствии с вашим приложением. Кроме того, постоянный сброс ниже 60% — некорректный метод. В этом случае мы будем работать только с пропорциональным значением P. Это может привести к тому, что мы никогда не достигнем 60%. Один раз сброс — наиболее точный метод.

Одного лишь метода "подтягивания" достаточно для решения многих проблем, но этого может быть недостаточно. Следует искать разные методы в зависимости от конкретного применения. Например, можно использовать разные значения PID до тех пор, пока фактическое значение не достигнет 80% от заданного значения, а затем использовать разные значения PID. После достижения заданного значения можно увеличить значение P; большое значение P значительно снижает выброс. Или, при добавлении дополнительного продукта в стабильный резервуар, можно вручную увеличить значение Ki на регуляторе Temp 1. Как только температура достигнет определенного уровня, можно вручную уменьшить значение Ki.

На графике выше нагрев начинался при P = 0.3 и I = 0.0035. Температура 1 обнулялась в точке максимального нарастания, когда фактическое значение достигало 60% от заданного значения. P устанавливалось равным 2.0, когда фактическое значение достигало заданного значения. После первых нескольких колебаний нагрев достигался с погрешностью ±0.5 градуса.

ПИД-регулятор — незаменимый метод управления в системах автоматизации. Хотя сам по себе он может быть недостаточным, он хорошо работает с небольшими дополнениями.

Похожие сообщения

Напишите ответ