Спроектируйте контроллер MPC в Simulink

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

Этот пример требует, чтобы программное обеспечение Simulink Control Design™ задало структуру MPC путем линеаризации нелинейной модели Simulink.

Если у вас нет программного обеспечения Simulink Control Design, необходимо сначала создать mpc объект в MATLAB® рабочая область. Для получения дополнительной информации смотрите, что Контроллер Проекта Использует MPC Designer и Проект Контроллер MPC в Командной строке.

Модель CSTR

Нелинейная модель Постоянно реактора смесителя (CSTR) описана в Модели CSTR. В модели входные параметры:

  • Питайте Концентрацию (CAi) — концентрация реагента A в потоке канала (kgmol/m3)

  • Питайте Температуру (Ti) — потоковая температура Канала (K)

  • Температура хладагента (Tc) — Реакторная температура хладагента (K)

в то время как переменные состояния (и выходные параметры):

  • Температура CSTR (T) — Реакторная температура (K)

  • Концентрация (CA) — Концентрация реагента A в потоке продукта, также называемом residual concentration (kgmol/m3)

Цель управления состоит в том, чтобы обеспечить остаточную концентрацию, CA, в его номинальном заданном значении путем корректирования температуры хладагента, Tc. Изменения в концентрации канала, CAi, и температуре канала, Ti, вызывают воздействия в реакции CSTR.

Реакторная температура, T, обычно измеряется. Однако для этого примера, проигнорируйте реакторную температуру и примите, что остаточная концентрация измеряется непосредственно.

Откройте модель Simulink.

open_system('CSTR_ClosedLoop')

Соедините измеренный сигнал воздействия

В окне модели Simulink дважды кликните блок MPC Controller.

В диалоговом окне Block Parameters, на вкладке General, выбирают опцию Measured disturbance (md).

Нажмите Apply, чтобы добавить md входной порт с блоком контроллера.

В окне модели Simulink соедините блок Feed Temperature выход с md входной порт.

Линеаризуйте модель Simulink

В этом примере вы линеаризуете модель Simulink из MPC Designer, который требует программного обеспечения Simulink Control Design. Для получения дополнительной информации смотрите, Линеаризуют Модели Simulink Используя MPC Designer.

Если у вас нет программного обеспечения Simulink Control Design, необходимо сначала создать mpc объект в рабочем пространстве MATLAB и указывает, что диспетчер возражает в блоке MPC Controller.

Чтобы открыть MPC Designer, откройте блок MPC Controller и нажмите Design.

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

В диалоговом окне Define MPC Structure By Linearization, в разделе Controller Sample Time, задают шаг расчета 0.1.

В разделе MPC Structure нажмите Change I/O Sizes, чтобы добавить неизмеренное воздействие и измеренные размерности сигнала воздействия.

В диалоговом окне MPC Block Signal Sizes задайте количество каналов ввода-вывода каждого типа.

Нажмите OK.

В диалоговом окне Define MPC Structure By Linearization, в разделе Simulink Signals for Plant Inputs, приложение добавляет строку для Unmeasured Disturbances (UD).

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

В разделе Simulink Signals for Plant Inputs выберите строку Unmeasured Disturbances (UD) и нажмите Select Signals.

В окне модели Simulink кликните по выходному сигналу блока Feed Concentration.

Сигнал подсвечен, и его блок path добавляется к диалоговому окну Select Signal.

В диалоговом окне Select Signals нажмите Add Signal(s).

В диалоговом окне Define MPC Structure By Linearization, в таблице Simulink Signals for Plant Inputs, обновляется Block Path для неизмеренного сигнала воздействия.

В этом примере вы линеаризуете модель Simulink в установившейся рабочей точке равновесия, где остаточная концентрация составляет 2 килограмм-моля/м3. Чтобы вычислить такую рабочую точку, добавьте CA предупредите как выходное ограничение для обрезки и задайте его целевое ограничительное значение.

В окне модели Simulink выберите сигнальную линию, соединенную с CA выходной порт блока CSTR.

На вкладке Apps нажмите Linearization Manager. Затем на вкладке Linearization, в галерее Insert Analysis Points, выбирают Trim Output Constraint.

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

В диалоговом окне Define MPC Structure By Linearization, в разделе Simulink Operating Point, в выпадающем списке, выбирают Trim Model.

При использовании MPC Designer в MATLAB Online™ не поддерживается обрезка. Необходимо линеаризовать модель в начальных условиях модели.

В Обрезке диалоговое окно модели, на вкладке Outputs, устанавливают флажок в столбце Known для Channel-1 и задайте Value 2.

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

Нажмите Start Trimming.

В диалоговом окне Define MPC Structure By Linearization, в разделе Simulink Operating Point, вычисленной рабочей точке, op_trim1, добавлен к выпадающему списку и выбран.

В выпадающем списке, под View/Edit, нажимают Edit op_trim1.

В диалоговом окне Edit, на вкладке State, в столбце Actual dx, почти нулевые производные значения указывают, что вычисленная рабочая точка в установившемся.

Чтобы установить начальные состояния модели Simulink к значениям рабочей точки в столбце Actual Values, нажмите Initialize model. Выполнение так позволяет вам позже симулировать модель Simulink в вычисленной рабочей точке, а не в начальных условиях модели по умолчанию.

В диалоговом окне Initialize Model нажмите OK.

При устанавливании начальных условий модели MPC Designer экспортирует рабочую точку в рабочее пространство MATLAB. Кроме того, в диалоговом окне Simulink Configuration Parameters, в разделе Data Import/Export, это выбирает Input и параметры Initial state и конфигурирует их, чтобы использовать состояния и входные параметры в экспортируемой рабочей точке.

Чтобы сбросить начальные условия модели, например, если вы удаляете экспортируемую рабочую точку, очищают параметры Initial state и Input.

Закройте диалоговое окно Edit.

В диалоговом окне Define MPC Structure By Linearization линеаризуйте модель путем нажатия на Define and Linearize.

В Data Browser приложение добавляет следующие элементы.

  • Линеаризовавшая модель объекта управления plant

  • Контроллер MPC по умолчанию mpc1 созданное использование линеаризовавшего объекта как внутренняя модель предсказания

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

Задайте Атрибуты Канала ввода-вывода

На вкладке MPC Designer, в разделе Structure, нажимают I/O Attributes.

В диалоговом окне Input and Output Channel Specifications, в столбце Name, задают понятные имена для каждого канала ввода и вывода.

В столбце Unit задайте соответствующие модули для каждого сигнала.

Nominal Value для каждого сигнала является соответствующим установившимся значением в вычисленной рабочей точке.

Нажмите OK.

Задайте сценарии симуляции подавления помех

Главная цель контроллера состоит в том, чтобы содержать остаточную концентрацию CA по номинальной стоимости 2 kgmol/m3. Для этого контроллер должен отклонить и измеренные и неизмеренные воздействия.

На вкладке MPC Designer, в разделе Scenario, выбирают Edit Scenario> scenario1.

В диалоговом окне Simulation Scenario, в таблице Reference Signals, в Signal выпадающий список выбирают Constant, чтобы содержать выходное заданное значение по его номинальной стоимости.

В таблице Measured Disturbances, в Signal выпадающий список, выбирают Step.

Задайте шаг Size 10 и шаг Time 0.

Нажмите OK.

В Data Browser, под Scenarios, нажимают scenario1. Нажмите scenario1 во второй раз, и переименовывают его MD_reject.

В разделе Scenario нажмите Plot Scenario> New Scenario.

В диалоговом окне Simulation Scenario, в таблице Unmeasured Disturbances, в Signal выпадающий список, выбирают Step.

Задайте шаг Size 1 и шаг Time 0.

Нажмите OK.

В Data Browser, под Scenarios, переименовывают NewScenario к UD_reject.

Расположите Выходные графики отклика

Чтобы сделать просмотр настраивающихся результатов легче, расположите область построения, чтобы отобразить Выходные Графики отклика для обоих сценариев одновременно.

На вкладке View, в разделе Tiles, нажимают Top/Bottom. Вкладка View не поддерживается в MATLAB Online.

Область отображения графика изменяется, чтобы отобразить Входные Графики отклика выше Выходных Графиков отклика.

Перетащите и выберите графики так, чтобы вкладка MD_reject: Output была в верхней области построения, и график UD_reject: Output находится в более низкой области построения.

Настройте эффективность контроллера

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

Output Response строит обновление на основе новых значений горизонта.

Используйте ограничение контроллера по умолчанию и настройки веса.

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

Перетащите ползунок State Estimation направо, который приводит к более агрессивному неизмеренному подавлению помех. Перетащите ползунок, пока ответ UD_reject: Output не достигнет устойчивого состояния меньше чем через 3 секунды.

Обновите модель Simulink с настроенным контроллером

В разделе Analysis выберите Export Controller> Update Block Only. Приложение экспортирует настроенный контроллер mpc1 к рабочему пространству MATLAB. В модели Simulink блок MPC Controller обновляется, чтобы использовать экспортируемый контроллер.

Симулируйте неизмеренное подавление помех

В окне модели Simulink, на вкладке Simulation, Stop Time изменения к 5 секунды.

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

Чтобы симулировать модульный шаг в концентрации канала в начальный момент времени, откройте блок Feed Concentration и увеличьте его параметр Constant value с 10 к 11.

В окне модели Simulink откройте осциллограф Concentration и запустите симуляцию.

Выходной ответ похож на ответ UD_reject, однако время урегулирования приблизительно 1 секунду спустя. Различный результат происходит из-за несоответствия между линейным объектом, используемым в симуляции MPC Designer и нелинейным объектом в модели Simulink.

Симулируйте измеренное подавление помех

Чтобы симулировать измеренное подавление помех, сначала возвратите блок Feed Concentration в его номинальную стоимость 10.

Чтобы симулировать ступенчатое изменение в температуре канала в начальный момент времени, откройте блок Feed Temperature и увеличьте его параметр Constant value с 300 к 310.

Запустите симуляцию.

Выходной ответ похож на ответ MD_reject от симуляции MPC Designer.

Смотрите также

Приложения

Блоки

Похожие темы