exponenta event banner

Обновить ограничения во время выполнения

Чтобы компенсировать изменение условий эксплуатации, можно обновить ограничения на заводские вводы и выходы во время выполнения. Можно обновить пределы насыщения для входных и выходных сигналов, а также линейные смешанные ограничения ввода/вывода.

Обновление ограничений времени выполнения поддерживает создание кода.

Обновление границ входных и выходных сигналов во время выполнения

Во время выполнения можно обновить границы входных и выходных сигналов завода. Для этого сначала определите исходные границы сигнала при проектировании контроллера MPC. Дополнительные сведения см. в разделе Указание ограничений. Если начальные границы для данного сигнала не заданы, то этот сигнал нельзя ограничить во время выполнения.

Для обновления границ сигнала во время моделирования в командной строке на каждом интервале управления установите соответствующие свойства mpcmoveopt объект перед вызовом mpcmove, mpcmoveAdaptive, или mpcmoveMultiple. Для обновления:

  • Управляемые переменные нижние и верхние границы, установите MVMin и MVMax соответственно.

  • Выходная переменная нижняя и верхняя границы, установите OutputMin и OutputMax соответственно.

Во время выполнения Simulink ® также можно обновить границы ввода и вывода для блоков MPC Controller, Adaptive MPC Controller и Multiple MPC Controller. В следующей таблице перечислены границы, связанные с ними порты блоков и параметры блоков, которые необходимо выбрать для активизации портов.

ГраницыИмя портаПараметр блока
Нижние границы для управляемых переменныхuminНижние пределы среднего напряжения
Верхние границы для управляемых переменныхumaxВерхние пределы среднего напряжения
Нижние границы выходных переменныхyminНижние пределы OV
Верхние границы выходных переменныхymaxВерхние пределы OV

Подключите к этим портам сигналы, определяющие значения времени выполнения границ для каждой переменной. Если существует более одной управляемой переменной или выходной переменной, подключите векторный сигнал к соответствующим портам. Например, при наличии трех выходных переменных подключите трехэлементный векторный сигнал к ymin и ymax порты. Если переменная не ограничена в объекте контроллера, то значение подключенного сигнала игнорируется.

Совет

Для любого ограничения, для которого задано значение -Inf или Infлибо по всему горизонту прогнозирования (равномерному), либо на отдельных этапах горизонта прогнозирования (изменяющихся во времени) соответствующая переменная остается неограниченной во время выполнения; то есть изменить его нельзя.

Однако можно сохранить переменную без ограничений, чтобы не искажать конструкцию автономного контроллера, сохраняя при этом возможность добавлять ограничения в оперативном режиме. Для этого при создании контроллера установите для границы большое значение. Не использовать realmax как большое значение, поскольку это вызывает числовые проблемы во время выполнения. Затем можно изменить ограничение во время выполнения.

При определении изменяющихся во времени ограничений в объекте контроллера новые границы применяются к первым конечным значениям в горизонте прогнозирования. Все последующие значения горизонта прогнозирования корректируются для поддержания одного и того же профиля по всему горизонту прогнозирования; то есть они меняются на ту же сумму.

Пример см. в разделе Изменение границ ввода и вывода во время выполнения.

Обновление ограничений смешанного ввода/вывода во время выполнения

Во время выполнения можно обновить смешанные ограничения ввода/вывода. Дополнительные сведения об этих ограничениях см. в разделе Ограничения линейных комбинаций входов и выходов. Эта функция не поддерживается для контроллеров MPC по расписанию усиления.

Во время моделирования можно обновить следующие матрицы ограничений.

  • E - константа регулируемой зависимости

  • F - Константа регулируемого выходного ограничения

  • G - Константа смешанного ограничения ввода/вывода

  • S - Измеренная константа ограничения возмущения

Для этого сначала определите начальные ограничения с помощью setconstraint команда. Добавление дополнительных ограничений во время выполнения невозможно.

Чтобы обновить смешанные ограничения ввода/вывода во время моделирования командной строки, в каждом интервале управления установите CustomConstraint свойство mpcmoveopt объект перед вызовом mpcmove или mpcmoveAdaptive. Определить CustomConstraint как структура с E, F, G, и S поля. Укажите каждое поле как массив с размерами, соответствующими начальным массивам ограничений, указанным с помощью setconstraint.

Чтобы обновить смешанные ограничения ввода/вывода во время моделирования Simulink, выберите параметр Пользовательские ограничения в блоке MPC Controller или Adaptive MPC Controller. Это добавляет E, F, G, и S входные порты блока. S входной порт добавляется только в том случае, если контроллер измерил помехи.

Подключите матричные сигналы к этим портам, которые определяют значения времени выполнения для каждого массива. При определении E, F, G, или S в контроллере MPC необходимо подключить сигнал к соответствующему входному порту, и этот сигнал должен иметь те же размеры, что и массив, указанный в контроллере. Если массив не определен в объекте контроллера, используйте нулевую матрицу с правильным размером.

Пример обновления смешанных ограничений ввода/вывода для адаптивного MPC-контроллера см. в разделе Предотвращение препятствий с помощью адаптивного управления прогнозом модели.

См. также

| | |

Связанные темы