Явный прогнозирующий контроллер модели
Панель инструментов управления прогнозом модели

Блок явного контроллера MPC использует следующие входные сигналы:
Либо измеренные выходы установки (mo) или оценка пользовательского состояния (x[k|k])
Опорная или уставка (ref)
Измеренное возмущение установки (md), при наличии
Блок явного контроллера MPC использует таблицу поиска для хранения предварительно рассчитанного кусочно-аффинного оптимального закона управления вместо решения задачи оптимизации квадратичного программирования во время выполнения в каждом интервале управления, таком как блок контроллера MPC. Учитывая одну и ту же проблему MPC, два блока возвращают одно и то же решение. Блок явного контроллера MPC требует меньших вычислительных усилий в режиме онлайн, что полезно для приложений, которым требуется короткий интервал управления. Однако он имеет более значительные вычислительные усилия в автономном режиме и больший объем памяти. Действительно, комбинаторный характер явного MPC ограничивает его использование приложениями с относительно небольшим количеством входов, выходов и переменных состояния, коротким горизонтом прогнозирования и небольшим количеством ограничений выхода.
Явный контроллер MPC поддерживает только подмножество дополнительных функций MPC, как описано в следующей таблице.
| Поддерживаемые функции | Неподдерживаемые функции |
|---|---|
|
|
mo - Измеренные выходыИзмеренные выходные сигналы, определяемые как векторный сигнал. Блок использует измеренные выходные сигналы установки для улучшения своих оценок состояния. Если контроллер использует оценку состояния по умолчанию, необходимо подключить измеренные выходы установки к входному порту mo. Если контроллер использует пользовательскую оценку состояния, необходимо подключить расчетные состояния установки к входному порту x [k 'k].
Чтобы включить этот порт, снимите флажок Use custom state easimation вместо использования встроенного параметра фильтра Калмана.
x[k|k] - Оценка пользовательского состоянияПользовательская оценка состояния, заданная как векторный сигнал. Блок использует оценки состояния соединения вместо оценки состояний с помощью встроенного оценщика. Если контроллер использует пользовательскую оценку состояния, необходимо подключить текущие оценки состояния к входному порту x [k 'k]. Если контроллер использует оценку состояния по умолчанию, необходимо подключить измеренный выходной сигнал к входному порту mo.
Несмотря на то, что состояния шумовой модели (если таковые имеются) не используются при оптимизации MPC, пользовательский вектор состояния должен содержать все состояния, определенные в mpcstate объект контроллера, включая состояние установки, возмущение и шумовую модель.
Использовать пользовательские оценки состояния, когда альтернативный метод оценки считается превосходящим встроенный оценщик или когда состояния полностью измеримы.
Чтобы включить этот порт, вместо встроенного параметра фильтра Калмана выберите Use custom state assessment.
ref - Эталонные выходные данные моделиВ каждый момент управления ref сигнал должен содержать текущие опорные значения (целевые или уставки) для выходных переменных ny, где ny - общее количество выходов, включая измеренные и неизмеренные выходы. Поскольку этот блок не поддерживает предварительный просмотр ссылок, ref должен быть векторным сигналом.
md - Измеренные возмущенияЕсли модель прогнозирования контроллера имеет измеренные возмущения, необходимо включить этот порт и подключить к нему сигнал вектора строки, содержащий элементы Nmd, где Nmd - количество измеренных возмущений.
Поскольку этот блок не поддерживает предварительный просмотр измеренных возмущений, md должен быть векторным сигналом.
Для активизации этого порта выберите параметр Measured ristances.
ext.mv - Управляющие сигналы, используемые в установке на предыдущем интервале управленияУправляющие сигналы, используемые в установке на предыдущем интервале управления, определяемом как векторный сигнал длиной Nmv, где Nmv - количество манипулируемых переменных. Используйте этот входной порт для повышения точности оценки состояния в следующих случаях:
Вы знаете, что ваш контроллер не всегда управляет заводом.
Действительные сигналы СН, подаваемые на установку, потенциально могут отличаться от значений, генерируемых контроллером, например, при насыщении управляющего сигнала.
Оценка состояния контроллера предполагает, что MV являются кусочно постоянными. Поэтому в момент времени tk значение ext.mv должно содержать эффективные MV между временами tk-1 и tk. Например, если MV фактически изменяются в течение этого интервала, можно указать усредненное по времени значение, вычисленное в момент времени tk.
Примечание
Подключите ext.mv к сигналам СН, фактически подаваемым на установку в предыдущем интервале управления. Обычно эти сигналы СН являются значениями, генерируемыми контроллером, хотя это не всегда так. Например, если ваш контроллер находится в автономном режиме и работает в режиме отслеживания (то есть выход контроллера не приводит в действие установку), то подача фактического управляющего сигнала в ext.mv может помочь достичь безударной передачи, когда контроллер переключен обратно в оперативный режим.
Когда контроллер управляет установкой, вставьте блок памяти или блок задержки блока для обратной передачи сигнала СН, подаваемого на установку в предыдущем интервале управления. Это также позволяет избежать прямого перехода от входа ext.mv к выходу mv, таким образом предотвращая алгебраические петли в модели Simulink ®.
Пример использования внешнего управляемого переменного входного порта для бескомпромиссной передачи см. в разделе Переключение контроллера в оперативном и автономном режиме с бескомпромиссной передачей.
Чтобы включить этот порт, выберите параметр внешней управляемой переменной.
switch - Отключить оценкуЧтобы отключить оценку контроллера, подключите переключатель к ненулевому сигналу.
Отключение оценки контроллера уменьшает вычислительные усилия, когда выход контроллера не требуется, например, когда система работает вручную или другой контроллер принял на себя управление. Однако контроллер продолжает обновлять свои оценки внутреннего состояния обычным способом. Поэтому он готов возобновить оценки всякий раз, когда сигнал переключения возвращается к нулю. Пока оценка контроллера выключена, блок передает сигнал текущего ext.mv на выход контроллера. Если ext.mv inport не включен, выходной сигнал контроллера удерживается на том же уровне, что и при отключенной оценке.
Пример использования внешнего управляемого переменного входного порта для бескомпромиссной передачи см. в разделе Переключение контроллера в оперативном и автономном режиме с бескомпромиссной передачей.
Чтобы включить этот порт, выберите параметр Use external signal to enable controller evaluation.
mv - Оптимальное управляемое действие переменнойОптимальное управляющее действие манипулируемой переменной, возвращаемое как сигнал вектора столбца длиной Nmv, где Nmv - количество манипулируемых переменных.
Контроллер обновляет свой выходной сигнал mv в каждый момент управления, используя закон управления, содержащийся в явном объекте контроллера MPC. Если оценка закона о контроле не прошла успешно, mv неизменен (то есть удерживается при предыдущем успешном результате) и status выход, если он имеется, становится либо 0, либо -1.
status - Состояние оценки кусочно-аффинной функции1 | 0 | -1Этот вывод указывает, выполнена ли последняя явная оценка закона управления MPC. Выходной порт обеспечивает скалярный сигнал, имеющий одно из следующих значений:
1 - Успешная оценка закона о явном контроле
0 - Отказ из-за одного или нескольких параметров закона управления вне диапазона
-1 - Параметры закона контроля находились в допустимом диапазоне, но была необходима экстраполяция
Если состояние равно 0 или -1, выходной порт mv остается на последнем известном хорошем значении.
Чтобы включить этот порт, выберите параметр оценки состояния кусочно-аффинной функции.
region - Количество областей оцененной кусочно-аффинной функцииЭтот вывод обеспечивает индекс полиэдрической области, используемой в последней явной оценке закона управления. Если оценка закона управления завершается неуспешно, сигнал на этом выходе равен нулю.
Чтобы включить этот порт, выберите параметр Region number of evaluated puecewise affine function.
est.state - Расчетные состояния контроллераОцененные состояния контроллера в каждый момент управления, возвращаемые как векторный сигнал. Расчетные состояния включают в себя состояния модели установки, возмущения и шума. Если используется оценка пользовательского состояния, этот выходной сигнал имеет то же значение, что и входной сигнал x [k 'k].
Чтобы включить этот порт, выберите параметр Estimated controller states.
Explicit MPC Controller - Явный объект контроллераexplicitMPC имя объектаОдин explicitMPC объект, содержащий используемый закон управления. Он должен существовать в рабочей области MATLAB ®. Используйте generateExplicitMPC для создания этого объекта.
Параметр блока:
empcobj |
| Тип: строка, символьный вектор |
По умолчанию:
"" |
Initial Controller State - Исходное состояниеmpcstate имя объектаДополнительное mpcstate объект, определяющий начальное состояние контроллера. Если оставить этот параметр пустым, блок будет использовать номинальные значения, определенные в Model.Nominal имущества explicitMPC объект. Чтобы переопределить значения по умолчанию, создайте mpcstate в рабочей области и введите его имя в поле. Этот параметр можно использовать для того, чтобы состояния контроллера отражали истинную растительную среду в начале моделирования, насколько известно.
Если оценка пользовательского состояния включена, блок игнорирует параметр «Начальное состояние контроллера».
Параметр блока:
x0 |
| Тип: строка, символьный вектор |
По умолчанию:
"" |
Measured disturbance - Добавление входного порта измеренного возмущенияon (по умолчанию) | offЕсли контроллер измерил нарушения, необходимо выбрать этот параметр, чтобы добавить выходной порт md в блок.
Параметр блока:
md_inport |
| Тип: строка, символьный вектор |
Значения:
"off", "on" |
По умолчанию:
"on" |
External manipulated variable - Добавление внешнего управляемого входного порта переменнойВыберите этот параметр, чтобы добавить ext.mv входной порт в блок.
Параметр блока: mv_inport |
| Тип: строка, символьный вектор |
Значения: "off", "on" |
По умолчанию: "off" |
Status of piecewise affine function evaluation - Добавление порта вывода состояния оценкиВыберите этот параметр, чтобы добавить выходной порт состояния в блок.
Параметр блока:
return_status |
| Тип: строка, символьный вектор |
Значения:
"off", "on" |
По умолчанию:
"on" |
Region number of evaluated piecewise affine function - Добавить выходной порт номера регионаВыберите этот параметр, чтобы добавить выходной порт области в блок.
Параметр блока:
return_region |
| Тип: строка, символьный вектор |
Значения:
"off", "on" |
По умолчанию:
"off" |
Estimated controller states - Добавление порта вывода расчетных состоянийВыберите этот параметр для добавления выходного порта est.state к блоку.
Параметр блока: return_state |
| Тип: строка, символьный вектор |
Значения: "off", "on" |
По умолчанию: "off" |
Use custom state estimation instead of using the built-in Kalman filter - Использовать входной порт оценки пользовательского состоянияВыберите этот параметр, чтобы удалить входной порт mo и добавить входной порт x [k 'k].
Параметр блока: state_inport |
| Тип: строка, символьный вектор |
Значения: "off", "on" |
По умолчанию: "off" |
Block data type - Укажите тип данных обрабатываемых переменныхdouble (по умолчанию) | single | data type expressionУкажите тип данных блока для обрабатываемых переменных как одно из следующих:
double - Плавающая точка с двойной точностью
single - Плавающая точка с одинарной точностью
При реализации блока на целевом объекте с одинарной точностью укажите тип выходных данных как single.
data type expression - выражение, которое вычисляет либо double или single. Дополнительные сведения см. в разделе Типы данных управляющих сигналов (Simulink).
Параметр блока: BlockDataType |
| Тип: строка, символьный вектор |
Значения:
"double", "single", data type expression |
По умолчанию: "double" |
Inherit sample time - Наследование времени выборки блока от родительской подсистемыoff (по умолчанию) | onВыберите этот параметр для наследования времени выборки родительской подсистемы в качестве времени выборки блока. Это позволяет условно выполнять этот блок внутри блоков Function-Call Subsystem (Simulink) или Trigggered Subsystem (Simulink). Пример см. в разделе Использование блока контроллера MPC внутри функциональных подсистем вызова и инициирования.
Примечание
Необходимо выполнить блоки Function-Call Subsystem или Triggered Subsystem с частотой дискретизации контроллера. В противном случае можно увидеть неожиданные результаты.
Если этот параметр снят, время выборки блока наследуется от объекта контроллера.
Чтобы просмотреть образец времени блока, в окне модели Simulink на вкладке Отладка (Debug) в разделе Информационные наложения (Information Overlays) выберите цвета или текст. Дополнительные сведения см. в разделе Просмотр информации о времени образца (Simulink).
Параметр блока:
SampleTimeInherited |
| Тип: строка, символьный вектор |
Значения:
"off", "on" |
По умолчанию:
"off" |
Use external signal to enable controller evaluation - Добавление входного порта выключателяВыберите этот параметр для добавления входного порта коммутатора в блок. Каждый раз, когда в порт входа коммутатора подается ненулевой сигнал, оценка контроллера отключается. Дополнительные сведения см. во входном порту коммутатора.
Параметр блока:
switch_inport |
| Тип: строка, символьный вектор |
Значения:
"off", "on" |
По умолчанию:
"off" |
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.


