Настройка весов во время выполнения

Существует два способа выполнить эксперименты по настройке с помощью программного обеспечения Model Predictive Control Toolbox™:

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

  • Измените веса настройки во время работы контроллера, как описано в этой теме.

В Simulink®, следующие блоки поддерживают онлайн-настройку:

  • MPC Controller

  • Adaptive MPC Controller

  • Multiple MPC Controllers. В этом случае сигналы настройки применяются к объекту активного контроллера, который может переключаться при работе системы управления. Если объекты в вашем наборе используют различные веса, необходимо линию их отключить.

Блоки Explicit MPC Controller и Multiple Explicit MPC Controllers не поддерживают онлайн-настройку, потому что изменение веса требует полного пересмотра явного закона MPC управления, который является вычислительно интенсивным.

Чтобы настроить веса во время симуляций командной строки, сначала создайте mpcmoveopt Объектом и укажите соответствующие свойства веса настройки. Затем передайте этот объект либо mpcmove, mpcmoveAdaptive, или mpcmoveMultiple.

В этой таблице перечислены веса, которые можно настроить во время исполнения, и их соответствующие порты Блока Simulink и mpcmoveopt свойства. Для получения дополнительной информации о настройке весов, включая советы по настройке, см. «Настройка весов».

Настройка весов дляПорт блока Simulinkmpcmoveopt Свойство
Выходные переменныеy.wtOutputWeights
Манипулированные переменныеu.wtMVWeights
Управляемый шаг переменнойdu.wtMVRateWeights
Переменная Slack для смягчения ограниченийecr.wtECRWeight

Для переменного выхода, манипулируемой переменной и манипулируемых весов шага переменной можно задать изменяющиеся во времени веса во время исполнения; то есть настройки весов, которые варьируются в пределах горизонта предсказания. Для этого задайте веса настройки как массивы.

Примечание

Чтобы варьировать веса во время исполнения, необходимо задать изменяющиеся во времени веса при создании объекта контроллера MPC. Другими словами, если вы конфигурируете контроллер, чтобы использовать постоянные веса в горизонте предсказания, вы не можете задать изменяющиеся во времени веса во время исполнения.

Похожие темы