Ограничения на линейные комбинации вводов и выводов

Можно ограничить линейные комбинации переменных ввода и вывода объекта. Например, можно ограничить конкретную переменную, которой управляют, (MV) быть больше линейной комбинации двух других MVS.

Общая форма таких ограничений:

Здесь:

  • слабая переменная QP, используемая в ограничительном смягчении. Для получения дополнительной информации смотрите, что Ограничение Смягчается.

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

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

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

  • , и постоянные матрицы и векторы. Для получения дополнительной информации смотрите setconstraint.

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

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

При использовании смешанных ограничений ввода/вывода рассмотрите следующее:

  • Смешанные ограничения ввода/вывода являются размерными по умолчанию.

  • Обновление во время выполнения смешанных ограничений ввода/вывода поддерживается в командной строке и в Simulink®. Для получения дополнительной информации смотрите Ограничения Обновления во Время выполнения.

  • Используя смешанный ввод/вывод ограничения не поддержан в MPC Designer.

Как пример, рассмотрите контроллер MPC для объекта с двойным интегратором со смешанными ограничениями ввода/вывода.

Создайте начальную букву контроллер MPC

Основная настройка контроллера MPC включает:

  • Двойной интегратор как модель прогноза

  • Горизонт прогноза 20

  • Управляйте горизонтом 20

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

plant = tf(1,[1 0 0]);
Ts = 0.1;
p = 20;
m = 20;
mpcobj = mpc(plant,Ts,p,m);
mpcobj.MV = struct('Min',-1,'Max',1);
-->The "Weights.ManipulatedVariables" property of "mpc" object is empty. Assuming default 0.00000.
-->The "Weights.ManipulatedVariablesRate" property of "mpc" object is empty. Assuming default 0.10000.
-->The "Weights.OutputVariables" property of "mpc" object is empty. Assuming default 1.00000.

Задайте Смешанные Ограничения ввода/вывода

Ограничьте сумму входа u(t) и выход y(t) должно быть неотрицательным и меньшим, чем 1,2:

Чтобы наложить это объединенное (смешанное) ограничение ввода-вывода, сформулируйте его как набор включения ограничений неравенства и.

Задавать эти ограничения с помощью setconstraint функция, набор ограничительные константы можно следующим образом:

setconstraint(mpcobj,[1;-1],[1;-1],[1.2;0]);

Симулируйте контроллер

Симулируйте управление с обратной связью линейной модели объекта управления в Simulink. Контроллер mpcobj задан в блоке MPC Controller.

mdl = 'mpc_mixedconstraints';
open_system(mdl)
sim(mdl)
-->Converting the "Model.Plant" property of "mpc" object to state-space.
-->Converting model to discrete time.
   Assuming no disturbance added to measured output channel #1.
-->The "Model.Noise" property of the "mpc" object is empty. Assuming white noise on each measured output channel.

Контроллер MPC сохраняет сумму между 0 и 1.2 при отслеживании ссылочного сигнала.

bdclose(mdl)

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

|

Похожие темы

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