exponenta event banner

mpcsimopt

Параметры моделирования MPC

Описание

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

Создание

Синтаксис

Описание

пример

options = mpcsimopt; создает набор параметров по умолчанию для задания дополнительных параметров для моделирования контроллера MPC с помощью sim функция. Чтобы задать для свойств значения, отличные от значения по умолчанию, используйте точечное представление.

Свойства

развернуть все

Исходное состояние модели имитационной установки, определяемое как вектор с длиной, равной числовым состояниям в модели установки, используемой для моделирования. Для использования номинального состояния модели расчетной установки по умолчанию установите PlantInitialState кому [].

Если не указать Model , то модель завода, используемая для моделирования, является внутренней моделью завода от контроллера. В этом случае начальное состояние контроллера по умолчанию равно mpcobj.Model.Nominal.X.

При указании Model , то модель установки, используемая для моделирования, Model.Plant. В этом случае начальное состояние контроллера по умолчанию равно Model.Nominal.X.

Исходное состояние контроллера ПДК, указанное как mpcstate объект. Настройка ControllerInitialState = [] эквивалентно установке ControllerInitialState = mpcstate(mpcobj).

Неизмеренный сигнал возмущения для моделирования возмущений, возникающих на неизмеренных входах возмущения модели имитационной установки, указанный как массив со столбцами Nud и до Ntrows, где Nud - количество неизмеренных возмущений, а Nt - количество шагов моделирования. Если указано меньше, чем Nt строк, то значения в последней строке массива расширяются до конца моделирования.

Управляемый сигнал переменного шума для моделирования возмущений нагрузки, возникающих на обрабатываемых переменных входах в модель имитационной установки, определяемый как массив со столбцами Nmv и вплоть до Ntrows, где Nmv - количество обрабатываемых переменных, а Nt - количество шагов моделирования. Если указано меньше, чем Nt строк, то значения в последней строке массива расширяются до конца моделирования.

Измеренный выходной шумовой сигнал для моделирования возмущений, возникающих на измеренном выходе модели имитационной установки, заданный в виде матрицы с столбцами Ny и до Ntrows, где Ny - количество измеренных выходов, а Nt - количество шагов моделирования. Если указано меньше, чем Nt строк, то значения в последней строке массива расширяются до конца моделирования.

Флаг, указывающий, следует ли использовать предварительный просмотр ссылок во время моделирования, указанный как одно из следующих значений:

  • 'off' - Не использовать предварительный просмотр ссылок.

  • 'on' - использование предварительного просмотра ссылок.

При моделировании явного контроллера MPC необходимо установить RefLookAhead кому 'off'.

Флаг, указывающий, следует ли использовать предварительный просмотр измеренных возмущений во время моделирования, указанный как одно из следующих значений:

  • 'off' - Не используйте предварительный просмотр измеренных возмущений.

  • 'on' - Использовать предварительный просмотр измеренных возмущений.

При моделировании явного контроллера MPC необходимо установить MDLookAhead кому 'off'.

Флаг, указывающий, следует ли включать ограничения во время моделирования, указанный как одно из следующих значений:

  • 'on' - Использовать ограничения, определенные в контроллере во время моделирования.

  • 'off' - Имитация контроллера без каких-либо ограничений.

Модель установки для моделирования, заданная как одно из следующих:

  • [] - Смоделировать контроллер по внутренней модели установки (mpcobj.Model). В этом случае несоответствие модели завода отсутствует.

  • Объект системы LTI - моделирование контроллера по указанному заводу LTI. Указанный завод должен иметь ту же конфигурацию группы ввода и вывода, что и mpcobj.Model.Plant. Чтобы настроить эту конфигурацию, используйте setmpcsignals.

  • Структура с полями Plant и Nominal - Смоделировать контроллер с помощью указанной установки (Plant) и номинальные условия (Nominal).

Model устанавливает фактическую установку, по которой моделируется контроллер (а не модель внутреннего прогнозирования контроллера). Эта опция используется для определения завода, отличающегося от внутренней модели завода контроллера (несоответствие модели).

Если номинальные условия не указаны, Model.Nominal.U и Model.Nominal.Y наследуются от mpcobj.Model.Nominal. Model.Nominal.X и Model.Nominal.DX наследуются только в том случае, если оба завода являются объектами пространства состояний с одинаковым измерением состояния.

Для определения начального состояния этой модели имитационной установки используйте PlantInitialState вариант.

Флаг, указывающий, следует ли отображать строку состояния моделирования:

  • 'off' - Не отображать строку состояния.

  • 'on' - Отображение строки состояния.

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

При указании MVSignal, то контроллер не вычисляет управляющие действия и моделирующий опорный сигнал игнорируется.

Флаг, указывающий, следует ли выполнять моделирование с разомкнутым контуром, указанный как одно из следующих значений:

  • 'off' - Не отображать строку состояния.

  • 'on' - Отображение строки состояния.

Функции объекта

simМоделирование контроллера MPC в замкнутом контуре с линейной установкой

Примеры

свернуть все

Моделирование управления MPC системы с множеством входов и множеством выходов (MIMO) с несоответствием между прогнозируемой и фактической моделями завода. Система имеет две управляемые переменные, два неизмеренных возмущения и два измеренных выхода.

Определите прогнозируемую модель завода.

p1 = tf(1,[1 2 1])*[1 1;0 1];
plantPredict = ss([p1 p1]);
plantPredict.InputName = {'mv1','mv2','umd3','umd4'};

Укажите типы сигналов MPC.

plantPredict = setmpcsignals(plantPredict,'MV',[1 2],'UD',[3 4]);

Создайте контроллер MPC.

mpcobj = mpc(plantPredict,1,40,2);
-->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.

Определите модель неизмеренного входного возмущения, используемую контроллером.

distModel = eye(2,2)*ss(-0.5,1,1,0);
mpcobj.Model.Disturbance = distModel;

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

p2 = tf(1.5,[0.1 1 2 1])*[1 1;0 1];
plantActual = ss([p2 p2 tf(1,[1 1])*[0;1]]);
plantActual = setmpcsignals(plantActual,'MV',[1 2],'UD',[3 4 5]);

Сконфигурируйте неизмеренные траектории возмущений и выходных опорных траекторий.

dist = ones(1,3);
refs = [1 2];

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

options = mpcsimopt(mpcobj);
options.UnmeasuredDisturbance = dist;
options.Model = plantActual;

Смоделировать систему.

sim(mpcobj,20,refs,options)
-->Converting model to discrete time.
-->Assuming output disturbance added to measured output channel #1 is integrated white noise.
-->Assuming output disturbance added to measured output channel #2 is integrated white noise.
-->The "Model.Noise" property of the "mpc" object is empty. Assuming white noise on each measured output channel.
-->Converting model to discrete time.
-->The "PredictionHorizon" property of "mpc" object is empty. Trying PredictionHorizon = 10.
-->The "ControlHorizon" property of the "mpc" object is empty. Assuming 2.
-->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.

Figure contains 5 axes. Axes 1 contains an object of type line. These objects represent Driving inputs, MPC response1. Axes 2 contains an object of type line. These objects represent Driving inputs, MPC response1. Axes 3 contains an object of type line. These objects represent Driving inputs, MPC response1. Axes 4 contains an object of type line. These objects represent Driving inputs, MPC response1. Axes 5 contains an object of type line. These objects represent Driving inputs, MPC response1.

Figure contains 2 axes. Axes 1 contains 2 objects of type line. These objects represent Driving inputs, MPC response1. Axes 2 contains 2 objects of type line. These objects represent Driving inputs, MPC response1.

Представлен до R2006a