Разработайте контроллер Используя MPC Designer

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

Модель CSTR

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

dCAdt=a11CA+a12T+b11Tc+b12CAi

dTdt=a21CA+a22T+b21Tc+b22CAi

где входные параметры:

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

  • Tc — Реакторная температура хладагента (градусы по Цельсию)

и выходные параметры:

  • T Реакторная температура (градусы по Цельсию)

  • CA — Остаточная концентрация реагента A в потоке продукта (kgmol/m3)

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

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

  • 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.

В диалоговом окне Define MPC Structure By Importing, в таблице 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 — Контроллер MPC по умолчанию создал использование sys как его внутренняя модель.

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

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

Совет

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

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

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

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

В диалоговом окне Input and Output Channel Specifications, в столбце 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 и переименовывают сценарий как stepT.

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

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

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

Входные Define ограничения

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

В диалоговом окне Constraints, в разделе Input Constraints, вводят температуру хладагента верхние и нижние границы в Min и столбцы Max соответственно.

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

Нажмите OK.

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

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

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

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

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

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

Нажмите OK.

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

Устраните Выходное перерегулирование

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

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

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

Чтобы просмотреть фактические веса контроллера, экспортируйте контроллер в рабочую область 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 kgmol/m3.

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

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

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

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

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

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

Нажмите OK.

В графиках Output Response, когда-то реакторная концентрация, CA, приближается к 3 kgmol/m3, реакторной температуре, T, начинает увеличиваться. С тех пор существует только одна переменная, которой управляют, диспетчер идет на компромисс между двумя конкурирующими целями управления: Контроль температуры и ограничительная удовлетворенность. Более мягкое выходное ограничение позволяет контроллеру пожертвовать ограничительным требованием больше, чтобы достигнуть улучшенного температурного отслеживания.

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

Экспортируйте контроллер

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

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

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

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

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

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

Ссылки

[1] Seborg, D. E. Т. Ф. Эдгар, и Д. А. Мелличамп, Динамика Процесса и Управление, 2-й Выпуск, Вайли, 2004, стр 34–36 и 94–95.

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

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте