exponenta event banner

Контроллер проекта с помощью конструктора MPC

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

Модель CSTR

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

dC′Adt=a11C′A+a12T′+b11T′c+b12C′Ai

dT′dt=a21C′A+a22T′+b21T′c+b22C′Ai

где входные данные:

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

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

а выходными данными являются:

  • T - Температура реактора (градусы C)

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

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

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

  • Tc - управляемая переменная.

  • CAI - это неизмеренное нарушение.

  • T - измеренный выходной сигнал.

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

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

dxdt = Ax + Bu

y = Cx + Du

где,

x=[C′AT ] , u=[T′cC′Ai] , y=[T′C′A]

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 в разделе Структура щелкните Структура MPC.

В диалоговом окне Определение структуры MPC путем импорта в таблице Выбор модели завода или контроллера MPC выберите CSTR модель.

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

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

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

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

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

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

Щелкните Определить (Define) и Импортировать (Import).

Приложение импортирует CSTR установка в Обозревателе данных. Кроме того, в обозреватель данных добавляются следующие элементы:

  • mpc1 - Контроллер MPC по умолчанию, созданный с помощью sys в качестве внутренней модели.

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

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

Совет

Чтобы просмотреть графики ответа бок о бок, на вкладке Вид (View) в разделе Плитки (Tiles) щелкните Слева/справа (Left/Right).

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

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

На вкладке MPC Designer выберите Атрибуты ввода-вывода.

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

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

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

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

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

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

Настройка сценария моделирования

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

В диалоговом окне «Сценарий моделирования» увеличить продолжительность моделирования до 30 секунд.

В таблице Опорные сигналы (Reference Signals) в первой строке укажите шаг Размер (Size), равный 2 и время 5.

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

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

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

График ответа обновляется для отражения новой конфигурации сценария моделирования.

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

Настройка горизонтов контроллера

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

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

Определение ограничений ввода

В разделе «Проектирование» выберите «Зависимости».

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

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

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

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

Укажите веса настройки контроллера

На вкладке «Настройка» в разделе «Проектирование» выберите «Веса».

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

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

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

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

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

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

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

При настройке весов настройки контроллера с помощью ползунка «Производительность замкнутого цикла» MPC Designer не изменяет веса, указанные в диалоговом окне «Весы». Вместо этого ползунок управляет поправочным коэффициентом, который используется с заданными пользователем весами для определения фактических весов контроллера.

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

Для просмотра фактических весов контроллера экспортируйте контроллер в рабочую область MATLAB ® и просмотрите Weights свойства экспортируемого объекта контроллера.

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

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

На вкладке MPC Designer в разделе Сценарий щелкните График сценария > Новый сценарий.

В диалоговом окне «Сценарий моделирования» задайте для параметра «Продолжительность моделирования» значение 30 секунд.

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

В столбце «Время» укажите время шага 5 секунд.

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

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

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

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

Задать выходное ограничение концентрации

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

На вкладке «Настройка» в разделе «Проект» выберите «Зависимости».

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

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

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

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

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

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

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

На вкладке Настройка (Tuning) в разделе Анализ (Analysis) щелкните Экспорт контроллера (Export Controller ), чтобы сохранить настроенный контроллер. mpc1, в рабочую область MATLAB.

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

Для удаления завода, контроллера или сценария в браузере данных щелкните правой кнопкой мыши элемент, который требуется удалить, и выберите Удалить. Можно также щелкнуть элемент и нажать клавишу Delete на клавиатуре.

Невозможно удалить текущий контроллер. Кроме того, нельзя удалить завод или сценарий, если это единственный завод или сценарий.

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

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

Ссылки

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

См. также

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