Чтобы компенсировать изменение условий работы, можно обновить ограничения на вводы и выводы объекта во время выполнения. Можно обновить пределы насыщения для сигналов ввода и вывода, а также линейных смешанных ограничений ввода/вывода.
Ограничение во время выполнения, обновляющее генерацию кода поддержек.
Можно обновить границы на сигналах ввода и вывода объекта во время выполнения. Для этого сначала задайте начальные границы сигнала при разработке контроллера MPC. Для получения дополнительной информации смотрите, Задают Ограничения. Если вы не задаете начальные границы для данного сигнала, вы не можете ограничить тот сигнал во время выполнения.
Чтобы обновить границы сигнала во время симуляции командной строки, в каждом интервале управления, устанавливают соответствующие свойства объекта mpcmoveopt
прежде, чем вызвать mpcmove
, mpcmoveAdaptive
или mpcmoveMultiple
. Обновить:
Переменные нижние и верхние границы, которыми управляют, набор свойства MVMin
и MVMax
, соответственно.
Выходная переменная нижние и верхние границы, набор свойства OutputMin
и OutputMax
, соответственно.
Можно также обновить границы ввода и вывода во времени выполнения в Simulink® для Контроллера MPC, Адаптивного Контроллера MPC и Нескольких Контроллеров MPC блоки. В следующей таблице перечислены границы, их связанные порты блока и параметры блоков, чтобы выбрать, чтобы включить порты.
Границы | Имя порта | Параметры блоков |
---|---|---|
Нижние границы на переменных, которыми управляют, | umin | Lower MV Limits |
Верхние границы на переменных, которыми управляют, | umax | Upper MV Limits |
Нижние границы на выходных переменных | ymin | Lower OV Limits |
Верхние границы на выходных переменных | ymax | Upper OV Limits |
Соедините сигналы с этими портами, которые задают значения во время выполнения границ для каждой переменной. Если существует больше чем одна переменная или выходная переменная, которой управляют, соедините векторный сигнал с соответствующими портами. Например, если существует три выходные переменные, соединяют трехэлементный векторный сигнал с портами ymin
и ymax
. Если переменная неограничена в объекте контроллера, то связанное значение сигналов проигнорировано.
Если вы задаете изменяющиеся во времени ограничения в своем объекте контроллера, новые границы применяются к первым конечным значениям в горизонте прогноза. Все последующие значения горизонта прогноза настраивают, чтобы поддержать тот же профиль через горизонт прогноза; то есть, они изменяются той же суммой.
Для примера смотрите, Отличаются Границы Ввода и вывода во Время выполнения.
Можно обновить смешанные ограничения ввода/вывода во время выполнения. Для получения дополнительной информации об этих ограничениях смотрите Ограничения на Линейные комбинации Вводов и выводов. Эта функция не поддерживается для запланированных на усиление контроллеров MPC.
Можно обновить следующие ограничительные матрицы во время симуляции:
Постоянное ограничение переменной E
— Manipulated
F
— Controlled постоянное ограничение вывода
G
Смешанное постоянное ограничение ввода/вывода
S
Измеренное постоянное ограничение воздействия
Для этого сначала задайте начальные ограничения с помощью команды setconstraint
. Вы не можете добавить дополнительные ограничения во время выполнения.
Чтобы обновить смешанные ограничения ввода/вывода во время симуляции командной строки, в каждом интервале управления устанавливает свойство CustomConstraint
объекта mpcmoveopt
прежде, чем вызвать mpcmove
или mpcmoveAdaptive
. Задайте CustomConstraint
как структуру с E
, F
, G
и полями S
. Задайте каждое поле как массив с размерностями, которые совпадают с начальными ограничительными массивами, заданными с помощью setconstraint
.
Чтобы обновить смешанные ограничения ввода/вывода во время симуляции Simulink, выберите параметр Custom constraints своего блока MPC Controller или Adaptive MPC Controller. Выполнение так добавляет E
, F
, G
и входные порты S
к блоку. Входной порт S
добавляется, только если ваш контроллер измерил воздействия.
Соедините матричные сигналы с этими портами, которые задают значения во время выполнения для каждого массива. Если вы задаете E
, F
, G
или S
в вашем контроллере MPC, необходимо соединить сигнал с соответствующим входным портом, и что сигнал должен иметь те же размерности как массив, заданный в контроллере. Если массив не задан в объекте контроллера, используйте нулевую матрицу с правильным размером.
Для примера, который обновляет смешанные ограничения ввода/вывода для адаптивного контроллера MPC, смотрите, что Предотвращение Препятствия Использует Адаптивную модель Прогнозирующее Управление.
mpcmove
| mpcmoveAdaptive
| mpcmoveExplicit
| setconstraint