Параметры моделирования MPC
При моделировании неявного или явного контроллера MPC с помощью sim , можно указать дополнительные опции моделирования с помощью mpcsimopt объект.
PlantInitialState - Исходное состояние модели имитационной установки[] (по умолчанию) | векторИсходное состояние модели имитационной установки, определяемое как вектор с длиной, равной числовым состояниям в модели установки, используемой для моделирования. Для использования номинального состояния модели расчетной установки по умолчанию установите PlantInitialState кому [].
Если не указать Model , то модель завода, используемая для моделирования, является внутренней моделью завода от контроллера. В этом случае начальное состояние контроллера по умолчанию равно mpcobj.Model.Nominal.X.
При указании Model , то модель установки, используемая для моделирования, Model.Plant. В этом случае начальное состояние контроллера по умолчанию равно Model.Nominal.X.
ControllerInitialState - исходное состояние контроллера ПДК[] (по умолчанию) | mpcstate объектИсходное состояние контроллера ПДК, указанное как mpcstate объект. Настройка ControllerInitialState = [] эквивалентно установке ControllerInitialState = mpcstate(mpcobj).
UnmeasuredDisturbance - Сигнал неизмеренного возмущения[] (по умолчанию) | массивНеизмеренный сигнал возмущения для моделирования возмущений, возникающих на неизмеренных входах возмущения модели имитационной установки, указанный как массив со столбцами Nud и до Ntrows, где Nud - количество неизмеренных возмущений, а Nt - количество шагов моделирования. Если указано меньше, чем Nt строк, то значения в последней строке массива расширяются до конца моделирования.
InputNoise - Управляемый сигнал переменного шума[] (по умолчанию) | массивУправляемый сигнал переменного шума для моделирования возмущений нагрузки, возникающих на обрабатываемых переменных входах в модель имитационной установки, определяемый как массив со столбцами Nmv и вплоть до Ntrows, где Nmv - количество обрабатываемых переменных, а Nt - количество шагов моделирования. Если указано меньше, чем Nt строк, то значения в последней строке массива расширяются до конца моделирования.
OutputNoise - Измеренный выходной шумовой сигнал[] (по умолчанию) | массивИзмеренный выходной шумовой сигнал для моделирования возмущений, возникающих на измеренном выходе модели имитационной установки, заданный в виде матрицы с столбцами Ny и до Ntrows, где Ny - количество измеренных выходов, а Nt - количество шагов моделирования. Если указано меньше, чем Nt строк, то значения в последней строке массива расширяются до конца моделирования.
RefLookAhead - Флаг, указывающий, следует ли использовать предварительный просмотр ссылок'off' (по умолчанию) | 'on'Флаг, указывающий, следует ли использовать предварительный просмотр ссылок во время моделирования, указанный как одно из следующих значений:
'off' - Не использовать предварительный просмотр ссылок.
'on' - использование предварительного просмотра ссылок.
При моделировании явного контроллера MPC необходимо установить RefLookAhead кому 'off'.
MDLookAhead - Флаг, указывающий, следует ли использовать предварительный просмотр измеренных возмущений'off' (по умолчанию) | 'on'Флаг, указывающий, следует ли использовать предварительный просмотр измеренных возмущений во время моделирования, указанный как одно из следующих значений:
'off' - Не используйте предварительный просмотр измеренных возмущений.
'on' - Использовать предварительный просмотр измеренных возмущений.
При моделировании явного контроллера MPC необходимо установить MDLookAhead кому 'off'.
Constraints - Флаг, указывающий, следует ли включать ограничения'on' (по умолчанию) | 'off'Флаг, указывающий, следует ли включать ограничения во время моделирования, указанный как одно из следующих значений:
'on' - Использовать ограничения, определенные в контроллере во время моделирования.
'off' - Имитация контроллера без каких-либо ограничений.
Model - Модель установки для моделирования[] (по умолчанию) | Объект системы LTI | структураМодель установки для моделирования, заданная как одно из следующих:
[] - Смоделировать контроллер по внутренней модели установки (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 вариант.
StatusBar - Флаг, указывающий, отображать ли строку состояния моделирования'off' (по умолчанию) | 'on'Флаг, указывающий, следует ли отображать строку состояния моделирования:
'off' - Не отображать строку состояния.
'on' - Отображение строки состояния.
MVSignal - Последовательность манипулируемых переменных[] (по умолчанию) | массивПоследовательность манипулируемых переменных для использования при моделировании с разомкнутым контуром, заданная как массив со столбцами Nmv и до Ntrows, где Nmv - количество манипулируемых переменных, а Nt - количество шагов моделирования. Если указано меньше, чем Nt строк, то значения в последней строке массива расширяются до конца моделирования. Указанные манипулируемые переменные сигналы должны включать любые манипулируемые переменные смещения.
При указании MVSignal, то контроллер не вычисляет управляющие действия и моделирующий опорный сигнал игнорируется.
OpenLoop - Флаг, указывающий, следует ли выполнять моделирование с разомкнутым контуром'off' (по умолчанию) | 'on'Флаг, указывающий, следует ли выполнять моделирование с разомкнутым контуром, указанный как одно из следующих значений:
'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.


Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.