Спроектируйте контроллер Используя MPC Designer

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

Модель CSTR

Линеаризовавшую модель Постоянно реактора смесителя (CSTR) показывают в Модели CSTR. В модели первые переменные с двумя состояниями являются концентрацией реагента (здесь называемый CA и измеренный в kmol/m3) и температура реактора (здесь называемый T, измеренный в K), в то время как первые два входных параметров являются температурой хладагента (Tc, измеренный в K, раньше управлял объектом), и концентрация реагента канала притока CAin, измеренный в kmol/m3, (часто рассматриваемый как неизмеренное воздействие).

В данном примере температура хладагента имеет ограниченный диапазон ±10 градусов его номинальной стоимости и ограниченной скорости изменения ±2 градусов в секунду.

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

A = [   -5  -0.3427;
     47.68    2.785];
B = [    0   1
       0.3   0];
C = flipud(eye(2));
D = zeros(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 from MATLAB workspace, выбирают CSTR модель.

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

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

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

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

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

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

Нажмите Import.

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

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

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

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

Если вы задаете структуру 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 к 20 секундам.

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

В столбце Signal, во второй строке, выбирают Constant ссылка, чтобы содержать заданное значение концентрации по его номинальной стоимости, заданной в диалоговом окне Input and Output Channel Specifications (в этом случае номинальная стоимость является нулем).

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

Нажмите OK.

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

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

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

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

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

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

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

В диалоговом окне Constraints, в разделе Input and Output Constraints, в строке Inputs, вводят температуру хладагента верхние и нижние границы в 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 к 20 секундам.

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

В строке Unmeasured Disturbances, в Signal выпадающий список, выбирают Step. затем задайте шаг Size 0.2 и Time 5.

Нажмите OK.

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

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

Как вы видите из графиков Output Response, система с обратной связью все еще может достигнуть желаемой реакторной температуры. В этом случае необходимые действия управления, объединенные с входным воздействием, вызывают установившееся уменьшение в выходной концентрации, CA 0.1 kmol/m3.

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

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

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

В диалоговом окне Constraints, в разделах Input and Output Constraints, во второй строке таблицы Outputs, задают значение неизмеренного выхода (UO) Min -0.05.

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

Нажмите OK.

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

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

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

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

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

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

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

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

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

Ссылки

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

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

Похожие темы

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