Существует два способа выполнить эксперименты по настройке с помощью программного обеспечения Model Predictive Control Toolbox™:
Измените объект контроллера в автономной линии (путем изменения весов и т.д.), а затем протестируйте измененный объект.
Измените веса настройки во время работы контроллера, как описано в этой теме.
В Simulink®, следующие блоки поддерживают онлайн-настройку:
Multiple MPC Controllers. В этом случае сигналы настройки применяются к объекту активного контроллера, который может переключаться при работе системы управления. Если объекты в вашем наборе используют различные веса, необходимо линию их отключить.
Блоки Explicit MPC Controller и Multiple Explicit MPC Controllers не поддерживают онлайн-настройку, потому что изменение веса требует полного пересмотра явного закона MPC управления, который является вычислительно интенсивным.
Чтобы настроить веса во время симуляций командной строки, сначала создайте mpcmoveopt
Объектом и укажите соответствующие свойства веса настройки. Затем передайте этот объект либо mpcmove
, mpcmoveAdaptive
, или mpcmoveMultiple
.
В этой таблице перечислены веса, которые можно настроить во время исполнения, и их соответствующие порты Блока Simulink и mpcmoveopt
свойства. Для получения дополнительной информации о настройке весов, включая советы по настройке, см. «Настройка весов».
Настройка весов для | Порт блока Simulink | mpcmoveopt Свойство |
---|---|---|
Выходные переменные | y.wt | OutputWeights |
Манипулированные переменные | u.wt | MVWeights |
Управляемый шаг переменной | du.wt | MVRateWeights |
Переменная Slack для смягчения ограничений | ecr.wt | ECRWeight |
Для переменного выхода, манипулируемой переменной и манипулируемых весов шага переменной можно задать изменяющиеся во времени веса во время исполнения; то есть настройки весов, которые варьируются в пределах горизонта предсказания. Для этого задайте веса настройки как массивы.
Примечание
Чтобы варьировать веса во время исполнения, необходимо задать изменяющиеся во времени веса при создании объекта контроллера MPC. Другими словами, если вы конфигурируете контроллер, чтобы использовать постоянные веса в горизонте предсказания, вы не можете задать изменяющиеся во времени веса во время исполнения.