Проектирование контроллера MPC для объекта с задержками

В этом примере показано, как спроектировать контроллер MPC для объекта с задержками с использованием MPC Designer.

Модель объекта управления

Примером объекта с задержками является модель дистилляционного столбца:

[y1y2]=[12.8es16.7s+118.9e3s21.0s+13.8e8.1s14.9s+16.6e7s10.9s+119.4e3s14.4s+14.9e3.4s13.2s+1] [u1u2u3]

Выходы y 1 и y 2 представляют собой измеренные чистоты продукта. Модель состоит из шести передаточных функций, по одной для каждой пары вход/выход. Каждая передаточная функция является системой первого порядка с задержкой. Самая длительная задержка в модели 8.1 минут.

Задайте отдельные передаточные функции для каждой пары вход/выход. Для примера, g12 - передаточная функция от входа u 2 до вывода y 1.

g11 = tf(12.8,[16.7 1],'IOdelay',1.0,'TimeUnit','minutes');
g12 = tf(-18.9,[21.0 1],'IOdelay',3.0,'TimeUnit','minutes');
g13 = tf(3.8,[14.9 1],'IOdelay',8.1,'TimeUnit','minutes');
g21 = tf(6.6,[10.9 1],'IOdelay',7.0,'TimeUnit','minutes');
g22 = tf(-19.4,[14.4 1],'IOdelay',3.0,'TimeUnit','minutes');
g23 = tf(4.9,[13.2 1],'IOdelay',3.4,'TimeUnit','minutes');
DC = [g11 g12 g13;
      g21 g22 g23];

Сконфигурируйте входные и выходные сигналы

Задайте имена входного и выходного сигналов.

DC.InputName = {'Reflux Rate','Steam Rate','Feed Rate'};
DC.OutputName = {'Distillate Purity','Bottoms Purity'};

Также можно задать имена сигналов в MPC Designer, на вкладке MPC Designer, нажав I/O Attributes.

Задайте третий вход, скорость подачи, как измеренное нарушение порядка (MD).

DC = setmpcsignals(DC,'MD',3);

Поскольку они явным образом не заданы в setmpcsignalsвсе другие входные сигналы конфигурируются как управляемые переменные (MV), и все выходные сигналы конфигурируются как измеренные выходы (MO) по умолчанию.

Откройте MPC Designer

Откройте MPC Designer импортируйте модель объекта управления.

mpcDesigner(DC)

При запуске с непрерывной моделью объекта управления, такой как DC, по умолчанию шаг расчета контроллера является 1 во временных модулях объекта. Если для объекта задано дискретное время, шаг расчета контроллера совпадает со шагом расчета объекта.

MPC Designer импортирует указанный объект в Data Browser. К Data Browser также добавляются:

  • mpc1 - контроллер по умолчанию создан с использованием DC как его внутренняя модель.

  • scenario1 - Сценарий симуляции по умолчанию.

Приложение запускает сценарий симуляции и генерирует вход и выход графики отклика.

Задайте предсказания и управления

Для объекта с задержками рекомендуется задать горизонты предсказания и управления, такие что

PMtd,max/Δt

где,

  • P - горизонт предсказания.

  • M - горизонт управления.

  • td,max - это максимальная задержка, которая 8.1 минуты на DC модель.

  • Β t является Sample time контроллера, которая 1 минута по умолчанию.

На вкладке Tuning, в разделе Horizon, задайте Prediction horizon 30 и Control horizon 5.

После изменения горизонтов автоматически обновляются Input Response и Output Response графики для сценария симуляции по умолчанию.

Симулируйте переходные характеристики контроллера

На вкладке MPC Designer, в разделе Scenario, нажмите Edit Scenario > scenario1. Кроме того, в Data Browser щелкните правой кнопкой мыши scenario1 и выберите Edit.

В диалоговом окне Simulation Scenario задайте Simulation duration 50 минут.

В таблице Reference Signals, в раскрывающемся списке Signal, выберите Step для обоих выходов, чтобы симулировать изменения шага в их уставках.

Задайте Time шага 0 для ссылочных r(1), чистоты дистиллята и времени шага 25 для r(2), чистота дна.

Нажмите OK.

Приложение запускает симуляцию с новыми настройками сценария и обновляет графики входа и выхода отклика.

Графики Input Response показывают оптимальные шаги управления, сгенерированные контроллером. Контроллер немедленно реагирует на изменения уставки, изменяя обе манипулированные переменные. Однако из-за задержек на объекте эффекты этих изменений не сразу отражаются на Output Response графиках. Выход Distillate Purity выводится через 1 минуты, что соответствует минимальной задержке от g11 и g12. Точно так же выход Bottoms Purity реагирует на 3 минуты после изменения шага, что соответствует минимальной задержке от g21 и g22. После начальных задержек оба сигнала достигают своих уставок и быстро оседают. Изменение любой выходной уставки нарушает ответ другого выхода. Однако величины этих взаимодействий составляют менее 10% от размера шага.

Кроме того, существуют периодические импульсы в манипулируемых переменных действиях управления, когда контроллер пытается противодействовать отложенным эффектам каждого входа на двух выходах.

Улучшите эффективность, используя манипулированную блокировку переменных

Используйте управляемую блокировку переменных, чтобы разделить горизонт предсказания на блоки, во время которых манипулируемые перемещения переменной являются постоянными. Этот метод производит более плавные манипулируемые переменные регулировки с меньшими колебаниями и меньшими размерами хода.

Чтобы использовать управляемую блокировку переменных, на вкладке Tuning задайте Control horizon как вектор размеров блоков [5 5 5 5 10].

Начальные манипулируемые переменные ходы намного меньше, а ходы менее колебательны. Компромисс является более медленной выходной характеристикой, с большими взаимодействиями между выходами.

Улучшите эффективность путем настройки весов контроллеров

В качестве альтернативы можно произвести плавные манипулированные переменные перемещения путем регулировки настроечных весов контроллера.

Верните Control horizon к предыдущему значению 5.

В Performance Tuning разделе перетащите ползунок Closed-Loop Performance налево в сторону установки Robust.

Когда вы перемещаете ползунок налево, перемещение манипулированной переменной становится более плавным, и выходная характеристика становится медленнее.

Ссылки

[1] Wood, R. K., and M. W. Berry, Chem. Eng. Sci., Vol. 28, pp. 1707, 1973.

См. также

Похожие темы