exponenta event banner

Проектирование контроллера MPC в Simulink

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

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

Если у вас нет программного обеспечения Simulink Control Design, необходимо сначала создать mpc в рабочей области MATLAB ®. Дополнительные сведения см. в разделе Контроллер проектирования с помощью конструктора MPC и контроллер MPC в командной строке.

Модель CSTR

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

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

Модель CSTR имеет три входа:

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

  • Температура сырья (Ti) - температура потока сырья (K)

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

Двумя выходами модели являются:

  • Температура CSTR (T) - температура реактора (K)

  • Концентрация (CA) - концентрация реагента А в потоке продукта, также называемая остаточной концентрацией (кгмоль/м3)

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

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

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

open_system('CSTR_ClosedLoop')

Подключение измеренного сигнала возмущения

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

В диалоговом окне «Параметры блока» на вкладке «Общие» выберите опцию «Измеренное возмущение (md)».

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

В окне модели Simulink подключите вывод блока «Температура подачи» к md входной порт.

Линеаризация модели Simulink

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

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

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

В конструкторе MPC на вкладке Конструктор MPC в разделе Структура щелкните Структура MPC.

В диалоговом окне «Определение структуры MPC по линеаризации» в разделе «Время образца контроллера» укажите время образца 0.1.

В разделе Структура MPC (MPC Structure) щелкните Изменить размеры ввода/вывода (Change I/O Size), чтобы добавить размеры неизмеренного возмущения и измеренного сигнала возмущения.

В диалоговом окне «Размеры сигналов блока MPC» укажите количество каналов ввода/вывода каждого типа.

Нажмите кнопку ОК.

В диалоговом окне «Определение структуры MPC по линеаризации» в разделе «Simulink Signals for Plant Inputs» приложение добавляет строку для неизмеренных возмущений (UD).

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

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

В окне Simulink model щелкните выходной сигнал из блока Feed Concentration.

Сигнал подсвечивается, и его путь к блоку добавляется в диалоговое окно «Выбор сигнала».

В диалоговом окне «Выбор сигналов» нажмите кнопку «Добавить сигналы».

В диалоговом окне «Определение структуры MPC по линеаризации» в таблице «Simulink Signals for Plant Inputs» обновляется путь блокировки для неизмеренного сигнала возмущения.

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

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

На вкладке Приложения щелкните Диспетчер линеаризации. Затем на вкладке Линеаризация (Linearization) в коллекции Вставить точки анализа (Insert Analysis Points) выберите Обрезать выходное ограничение (Trim Output Constraint).

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

В диалоговом окне «Определение структуры MPC по линеаризации» в разделе «Рабочая точка Simulink» в раскрывающемся списке выберите «Обрезать модель».

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

В диалоговом окне Обрезать модель (Trim the model) на вкладке Выходы (Outputs) установите флажок в столбце Известные (Knowledge) для Channel-1 и укажите значение 2.

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

Щелкните Начало обрезки (Start Trimming).

В диалоговом окне «Определение структуры MPC по линеаризации» в разделе «Рабочая точка Simulink» вычисленная рабочая точка op_trim1, добавляется в раскрывающийся список и выбирается.

В раскрывающемся списке в разделе «Вид/Редактирование» выберите «Редактировать op_trim1».

В диалоговом окне «Редактирование» на вкладке «Состояние» в столбце «Actual dx» значения производной, близкие к нулю, указывают, что вычисленная рабочая точка находится в установившемся состоянии.

Чтобы задать начальные состояния модели Simulink для значений рабочих точек в столбце Фактические значения (Actual Values), щелкните Инициализировать модель (Initialize model). Это позволяет в дальнейшем моделировать модель Simulink в вычисленной рабочей точке, а не в исходных условиях модели по умолчанию.

В диалоговом окне Инициализация модели (Initialize Model) нажмите кнопку ОК.

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

Чтобы сбросить исходные условия модели, например, при удалении экспортированной рабочей точки, снимите флажки «Входной» и «Начальный».

Закройте диалоговое окно «Редактирование».

В диалоговом окне Определить структуру MPC по линеаризации (Define MPC Structure By Linearization) выполните линеаризацию модели, щелкнув Определить и линеаризировать (Define and Linearize).

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

  • Линеаризованная модель установки plant

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

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

Определение атрибутов канала ввода/вывода

На вкладке Конструктор MPC (MPC Designer) в разделе Структура (Structure) щелкните Атрибуты ввода-вывода (I/O Attributes).

В диалоговом окне «Спецификации канала ввода и вывода» в столбце «Имя» укажите значимые имена для каждого канала ввода и вывода.

В столбце «Единица» укажите соответствующие единицы измерения для каждого сигнала.

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

Нажмите кнопку ОК.

Определение сценариев моделирования отклонения возмущения

Основной задачей контроллера является поддержание остаточной концентрации СА при номинальном значении 2 кгмоль/м3. Для этого контроллер должен отклонить как измеренные, так и неизмеренные возмущения.

На вкладке MPC Designer в разделе Сценарий выберите Изменить сценарий > сценарий 1.

В диалоговом окне Сценарий моделирования (Simulation Screament) в таблице Опорные сигналы (Reference Signals) в выпадающем списке Сигнал (Signal) выберите Константа (Constant), чтобы сохранить выходную уставку на номинальном уровне.

В таблице Измеренные возмущения в раскрывающемся списке Сигнал выберите Шаг.

Укажите размер шага 10 и шаг Время 0.

Нажмите кнопку ОК.

В браузере данных в разделе «Сценарии» щелкните scenario1. Щелкнуть scenario1 второй раз и переименуйте его MD_reject.

В разделе Сценарий выберите График Сценарий > Новый сценарий.

В диалоговом окне «Сценарий моделирования» в таблице «Несмеренные возмущения» в раскрывающемся списке «Сигнал» выберите «Шаг».

Укажите размер шага 1 и шаг Время 0.

Нажмите кнопку ОК.

В браузере данных в разделе «Сценарии» переименуйте NewScenario кому UD_reject.

Упорядочить графики выходных ответов

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

На вкладке «Вид» в разделе «Плитки» выберите «Сверху/Снизу». Вкладка Вид (View) не поддерживается в MATLAB Online.

Область отображения графика изменяется для отображения графиков «Входной ответ» над графиками «Выходной ответ».

Перетащите и выберите графики так, чтобы вкладка «MD_reject: Вывод» находилась в верхней области печати, а UD_reject: Вывод - в нижней области печати.

Производительность контроллера настройки

На вкладке Настройка в разделе Горизонт укажите горизонт прогнозирования 20 и горизонт контроля 5.

График Ответ на вывод (Output Response) обновляется на основе новых значений горизонта.

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

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

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

Обновление модели Simulink с помощью настроенного контроллера

В разделе «Анализ» выберите «Контроллер экспорта» > «Обновить только блок». Приложение экспортирует настроенный контроллер mpc1 в рабочую область MATLAB. В модели Simulink блок контроллера MPC обновляется для использования экспортированного контроллера.

Моделирование неизмеренного отклонения нарушения

В окне Модель Simulink на вкладке Моделирование измените значение Остановить время на 5 секунд.

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

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

В окне Simulink model откройте область Concentration и запустите моделирование.

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

Моделирование отклонения измеренного возмущения

Для моделирования отклонения измеренного возмущения сначала вернуть блоку концентрации сырья номинальное значение 10.

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

Запустите моделирование.

Выходной отклик аналогичен MD_reject отклику от моделирования MPC Designer.

Ссылки

[1] Себорг, Дейл. Э., Томас. Ф. Эдгар и Дункан. А. Мелликамп, динамика процессов и управление. 2-й ред. Хобокен, N.J.: John Wiley & Sons, Inc, 2004. 34-36 и 94-95.

См. также

Приложения

Блоки

Связанные темы