В этом примере показов, как проверить чувствительность вашей модели прогнозирующего контроллера к ошибкам предсказания с помощью симуляций.
Это хорошая практика, чтобы проверить робастность вашего контроллера на ошибки предсказания. Классическая фаза и запасы по амплитуде являются одним из способов количественной оценки робастности для приложения SISO. Программное обеспечение Robust Control Toolbox™ предоставляет сложные подходы для систем MIMO. Также может быть полезно запускать симуляции.
В данном примере используйте модель CSTR, описанную в Контроллер Using MPC Designer.
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);
Укажите имена сигналов и типы сигналов для объекта.
CSTR.InputName = {'T_c','C_A_i'};
CSTR.OutputName = {'T','C_A'};
CSTR.StateName = {'C_A','T'};
CSTR = setmpcsignals(CSTR,'MV',1,'UD',2,'MO',1,'UO',2);
Откройте MPC Designer и импортируйте модель объекта управления.
mpcDesigner(CSTR)
Приложение импортирует модель объекта управления и добавляет ее в Data Browser. Это также создает контроллер по умолчанию и сценарий симуляции по умолчанию.
Обычно вы проектируете свой контроллер, задавая коэффициенты масштабирования, определяя ограничения и корректируя веса настройки. В данном примере измените шаг расчета контроллера и сохраните настройки других контроллеров на своих значениях по умолчанию.
В MPC Designer на вкладке Tuning, в разделе Horizon, задайте Sample time 0.25 секунд.

Графики Input Response и Output Response обновляются, чтобы отразить новые шаги расчета.
Чтобы протестировать отслеживание уставки контроллера и неизмеренное подавление помех, измените сценарий симуляции по умолчанию.
В Data Browser, в Scenarios разделах, щелкните правой кнопкой мыши scenario1, и выберите Edit.
В диалоговом окне Simulation Scenario задайте Simulation duration 50 секунд.
В Reference Signals таблице сохраните значение по умолчанию Ref of T уставка строения, которая имитирует единичное изменение температуры реактора.
Чтобы удерживать уставку концентрации на ее номинальном значении, во второй строке, в выпадающем списке Signal, выберите Constant.
Симулируйте неотмеренное нарушение порядка с единичным шагом за время 25 секунд. В таблице Unmeasured Disturbances, в раскрывающемся списке Signal, выберите Step, и задайте Time 25.

Нажмите OK.

Приложение запускает сценарий симуляции и обновляет графики отклика, чтобы отразить новые настройки симуляции. Для этого сценария внутренняя модель контроллера используется в симуляции. Поэтому результаты симуляции представляют эффективность контроллера, когда нет ошибок предсказания.
Предположим, что вы хотите проверить чувствительность вашего контроллера к изменениям установки, которые изменяют эффект температуры теплоносителя на температуру реактора. Можно симулировать такие изменения, возмущая элемент B(2,1) матрицы «вход-состояние» CSTR.
В MATLAB® Командное окно, задайте матрицу возмущения.
dB = [0 0;0.05 0];
Создайте две возмущенные модели объекта управления.
perturbUp = CSTR; perturbUp.B = perturbUp.B + dB; perturbDown = CSTR; perturbDown.B = perturbDown.B - dB;
Чтобы изучить эффекты возмущений объекта, постройте график переходных характеристик объекта.
step(CSTR,perturbUp,perturbDown) legend('CSTR','peturbUp','perturbDown')

Возмущающий элемент B(2,1) Объект величину отклика температуры реактора, T, к изменениям температуры теплоносителя, Tc.
В MPC Designer на вкладке MPC Designer, в разделе Import, нажмите Import Plant.
В диалоговом окне Import Plant Model выберите perturbUp и perturbDown модели.

Нажмите Import.
Приложение импортирует модели и добавляет их в Data Browser.
Создайте два сценария симуляции, которые используют возмущенные модели объекта управления.
В Data Browser, в Scenarios разделе, дважды кликните мышью scenario1, и переименовать его accurate.
Щелкните правой кнопкой мыши accurate, и нажмите Copy. Переименовать accurate_Copy на errorUp.
Щелкните правой кнопкой мыши errorUp, и выберите Edit.
В диалоговом окне Simulation Scenario, в раскрывающемся списке Plant used in simulation, выберите perturbUp.

Нажмите OK.
Повторите этот процесс для второго возмущенного объекта.
Скопируйте accurate сценарий и переименовать его в errorDown.
Редактирование errorDown, выбор perturbDown объект.

errorUp Реакция симуляцииНа вкладке MPC Designer, в разделе Scenario, нажмите Plot Scenario > errorUp.

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

Возмущение создает объект, perturbUp, который быстрее реагирует на манипулируемые изменения переменных, чем прогнозирует контроллер. На вкладке errorUp: Output, на графике Output Response, T ответ шага уставки имеет около 10% перерегулирования с более длительным временем установления. Хотя этот ответ хуже, чем ответ accurate симуляция, она все еще приемлема. Более быстрый ответ объекта приводит к меньшей пиковой ошибке из-за неизмеренного нарушения порядка. В целом контроллер способен управлять perturbUp объект успешно несмотря на внутреннюю ошибку предсказания модели.
errorDown Реакция симуляцииНа вкладке MPC Designer, в разделе Scenario, нажмите Plot Scenario > errorDown.
Приложение создает errorDown: Input и errorDown: Output вкладки и отображает ответ симуляции.
Чтобы просмотреть accurate и errorDown отклики один за другим, щелкните вкладку accurate: Output на левой панели отображения.

Возмущение создает объект, perturbDown, который медленнее реагирует на манипулируемые изменения переменных, чем прогнозирует контроллер. На вкладке errorDown: Output, на графике Output Response, отслеживание и подавление помех уставки хуже, чем для невозмущенного объекта.
В зависимости от требований приложения и реального потенциала таких изменений объекта, ухудшенная реакция для perturbDown объект может потребовать изменений в проектировании контроллера.