Проект контроллера с использованием MPC Designer

Этот пример показывает, как спроектировать прогнозирующий контроллер модели для непрерывного реактора с мешалкой (CSTR) с использованием MPC Designer.

Модель CSTR

Следующие дифференциальные уравнения представляют линеаризированную модель непрерывного реактора с мешалкой (CSTR), включающую экзотермическую реакцию:

dCAdt=a11CA+a12T+b11Tc+b12CAi

dTdt=a21CA+a22T+b21Tc+b22CAi

где входы:

  • CAi - Концентрация реагента A в потоке сырья (кгмоль/м3)

  • Tc - Температура теплоносителя реактора (степени C)

и выходы:

  • T - Температура реактора (степени C)

  • CA - Остаточная концентрация реагента A в потоке продукта (кгмоль/м3)

Простые члены, такие как C A, обозначают отклонение от номинального установившегося условия, при котором модель была линеаризирована.

Измерение концентраций реагентов часто сопряжено с трудностями. В данном примере предположим, что:

  • Tc является манипулированной переменной.

  • CAi является неизмеренным нарушением порядка.

  • T является измеренным выходом.

  • CA является невынесенным выходом.

Модель может быть описана в формате пространства состояний:

dxdt=Ax+Bu

y=Cx+Du

где,

x=[CAT]u=[TcCAi]y=[TCA]

A=[a11a12a21a22]B=[b11b12b21b22]C=[0110]D=[0000]

В данном примере температура хладагента имеет ограниченную область значений ± 10 степени от ее номинального значения и ограниченную скорость изменения ± 4 степени на период дискретизации.

Создайте модель пространства состояний системы CSTR.

A = [-0.0285 -0.0014; -0.0371 -0.1476];
B = [-0.0850 0.0238; 0.0802 0.4462];
C = [0 1; 1 0];
D = zeros(2,2);
CSTR = ss(A,B,C,D);

Импорт объекта и определение структуры MPC

mpcDesigner

На вкладке MPC Designer, в разделе Structure, нажмите MPC Structure.

В диалоговом окне Задать структуру MPC при импорте, в таблице Select a plant model or an MPC controller, выберите CSTR модель.

Начиная с CSTR - стабильная система LTI в непрерывном времени, MPC Designer устанавливает шаг расчета контроллера равным 0,1 Tr, где Tr - среднее время нарастания CSTR. В данном примере в поле Specify MPC controller sample time введите шаг расчета 1.

По умолчанию все входы объекта управления заданы как управляемые переменные, а все выходы объекта - как измеренные выходы. В разделе Assign plant i/o channels присвойте индексы входного и выходного каналов так, чтобы:

  • Первый вход, температура хладагента, является манипулируемой переменной.

  • Второй вход, концентрация сырья, является неизмеренным нарушением порядка.

  • Первый выход, температура реактора, является измеренным выходом.

  • Второй выход, концентрация реагента, является неизмеренным выходом.

Нажмите Define and Import.

Приложение импортирует CSTR объект на Data Browser. К Data Browser также добавляются:

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

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

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

Совет

Чтобы просмотреть графики отклика один за другим, на вкладке View, в разделе Tiles, нажмите Left/Right.

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

Задайте атрибуты входного и выходного канала

На вкладке MPC Designer выберите I/O Attributes.

В Вход и Выход окнах Channel Спецификаций, в столбце Name, задайте значимое имя для каждого входа и выходного канала.

В столбце Unit, опционально укажите модули измерения для каждого канала.

Поскольку модель пространства состояний задана с помощью отклонений от номинальной рабочей точки, установите Nominal Value для каждого входного и выходного канала равной 0.

Сохраните Scale Factor для каждого канала при значении по умолчанию 1.

Нажмите OK.

Метки Input Response и Output Response графика обновляются, чтобы отразить новые имена сигналов и модулей.

Сконфигурируйте сценарий симуляции

На вкладке MPC Designer, в разделе Scenario, нажмите Edit Scenario > scenario1.

В диалоговом окне Simulation Scenario увеличьте Simulation duration до 30 секунд.

В Reference Signals таблице в первой строке задайте Size шага 2 и Time 5.

В Signal столбце во второй строке выберите Constant ссылка для удержания уставки концентрации на ее номинальном значении.

Сценарий по умолчанию сконфигурирован, чтобы симулировать изменение шага 2 степени в температуре реактора, T, во время 5 секунд.

Нажмите OK.

Обновление графиков отклика, отражающее новый сценарий моделирования, строения.

В Data Browser, в Scenarios разделе, нажмите scenario1. Нажмите scenario1 второй раз и переименовать сценарий в stepT.

Сконфигурируйте горизонты контроллера

На вкладке Tuning, в разделе Horizons, задайте Prediction horizon 15 и Control horizon 3.

Обновление графиков отклика с учетом новых горизонтов. График Input Response показывает, что действия управления для манипулируемой переменной нарушают необходимые ограничения температуры хладагента.

Задайте входные ограничения

В Design разделе нажмите Constraints.

В диалоговом окне «Ограничения» в разделе Input Constraints введите верхнюю и нижнюю границы температур охлаждающей жидкости в столбцах Min и Max соответственно.

Задайте скорость изменения пределов в столбцах RateMin и RateMax.

Нажмите OK.

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

Задайте веса настройки контроллера

На вкладке Tuning, в разделе Design, нажмите Weights.

В Input Weights таблице увеличьте Rate Weight манипулированной переменной (MV) до 0.3. Увеличение веса скорости СН штрафует большие изменения СН в функции оптимизации затрат контроллера.

В таблице Output Weights сохраните значения Weight по умолчанию. По умолчанию все невынесенные выходы имеют нулевые веса.

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

Нажмите OK.

График Input Response показывает более консервативные действия управления, которые приводят к более медленной Output Response.

Устранение выхода

Предположим, что приложение требует нуль перерегулирования в выход ответе. На вкладке Performance Tuning перетащите ползунок Closed-Loop Performance влево, пока у Output Response нет перерегулирования. Перемещение этого ползунка налево одновременно увеличивает управляемый вес переменной скорости контроллера и уменьшает выходной вес переменной, создавая более устойчивый контроллер.

Когда вы настраиваете веса настройки контроллера с помощью Closed-Loop Performance ползунка, MPC Designer не изменяет веса, указанные в диалоговом окне Веса (Weights). Вместо этого ползунок управляет коэффициентом корректировки, который используется с заданными пользователем весами для определения фактических весов контроллера.

Этот фактор 1 когда ползун центрирован; его значение уменьшается, когда ползун движется налево и увеличивается, когда ползун движется вправо. Весовой коэффициент умножает управляемые веса переменных и выходных переменных и делит управляемые веса переменных скоростей из диалогового окна Веса.

Чтобы просмотреть фактические веса контроллеров, экспортируйте контроллер в MATLAB® рабочей области и просмотрите Weights свойство экспортированного объекта контроллера.

Тестовое Подавление помех контроллера

В приложении управления процессами подавления помех часто важнее, чем отслеживание уставки. Симулируйте реакцию контроллера на изменение шага неизмеренного нарушения порядка концентрации сырья.

На вкладке MPC Designer, в разделе Scenario, нажмите Plot Scenario > New Scenario.

В диалоговом окне Simulation Scenario установите значение Simulation duration 30 секунд.

В таблице Unmeasured Disturbances, в раскрывающемся списке Signal, выберите Step.

В столбце Time задайте время шага 5 секунд.

Нажмите OK.

Приложение добавляет в Data Browser новый сценарий и создает новые соответствующие Input Response и Output Response графики.

В Data Browser в разделе Scenarios переименуйте NewScenario на distReject.

На Output Response графиках контроллер возвращает температуру реактора, T, к значению, близкому к его уставке, как ожидалось. Однако необходимые управляющие действия вызывают увеличение концентрации выхода, CA до 6 кгмоль/м3.

Задайте концентрацию Выхода ограничение

Ранее вы определили веса настройки контроллера, чтобы достичь основной цели управления, отслеживая уставку температуры реактора с нулевой установившейся ошибкой. Это позволяет свободно изменять неизмеренную концентрацию в реакторе. Предположим, что нежелательные реакции происходят, когда концентрация в реакторе превышает 3 кгмоль/м3. Чтобы ограничить концентрацию в реакторе, задайте ограничение на выход.

На вкладке Tuning, в разделе Design, нажмите Constraints.

В диалоговом окне «Ограничения», в разделе Output Constraints, второй строке таблицы, задайте Max значение выхода (UO) 3.

В Output Constraints разделе нажмите Constraint Softening Settings.

По умолчанию все выходные ограничения являются мягкими, что означает, что их MinECR и MaxECR значения больше нуля. Чтобы еще больше смягчить неограниченное выходное (UO) ограничение, увеличьте его MaxECR значение.

Нажмите OK.

На Output Response графиках, когда концентрация в реакторе, CA, приближается к 3 кгмоль/м3Температура в реакторе, T, начинает увеличиваться. Поскольку существует только одна манипулируемая переменная, контроллер делает компромисс между двумя конкурирующими целями управления: Регулирование температуры и удовлетворенность ограничениями. Более мягкое выходное ограничение позволяет контроллеру больше пожертвовать ограничительным требованием, чтобы достичь улучшенного отслеживания температуры.

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

Экспортный контроллер

На вкладке Tuning, в разделе Analysis, нажмите Export Controller , чтобы сохранить настроенный контроллер, mpc1, в рабочее пространство MATLAB.

Удаление объектов, контроллеров и сценариев

Чтобы удалить объект, контроллер или сценарий в Data Browser, щелкните правой кнопкой мыши элемент, который необходимо удалить, и выберите Delete. Можно также кликнуть элемент и нажать Delete на клавиатуре.

Вы не можете удалить токовый контроллер. Кроме того, вы не можете удалить объект или сценарий, если это единственный перечисленный объект или сценарий.

Если объект используется любым контроллером или сценарием, удалить объект невозможно.

Чтобы удалить несколько объекты, контроллеров или сценариев, удерживайте Shift и щелкните каждый элемент, который вы хотите удалить.

Ссылки

[1] Себорг, Д. Э., Т. Ф. Эдгар, и Д. А. Mellichamp, Process Dynamics and Control, 2nd Edition, Wiley, 2004, pp. 34-36 и 94-95.

См. также

Похожие темы