Моделируйте прогнозирующий контроллер модели
Model Predictive Control Toolbox
Блок MPC Controller получает измеренный током выходной сигнал (mo
), опорный сигнал (ref
) и необязательный измеренный сигнал нарушения порядка (md
). Блок вычисляет оптимальную манипулированную переменную (mv
) путем решения квадратичной задачи программирования с помощью либо решателя KWIK по умолчанию, либо пользовательского решателя QP. Для получения дополнительной информации см. Раздел «Решатели QP».
Чтобы использовать блок в симуляции и генерации кода, вы должны задать mpc
объект, который задает прогнозирующий контроллер модели. Этот контроллер должен быть уже разработан для объекта, которым он управляет.
Поскольку блок MPC Controller использует MATLAB Function блоки, он требует компиляции каждый раз, когда вы изменяете объект MPC и блок. Кроме того, потому что MATLAB® не позволяет скомпилированному коду находиться в любой папке продукта MATLAB, для работы с Simulink необходимо использовать папку, отличную от MATLAB® модель, когда вы используете блоки MPC.
mo
- Измеренные выходыИзмеренные выходы, заданное как вектор сигнал. Блок использует измеренные выходы объекта для улучшения оценок его состояния. Если ваш контроллер использует оценку состояния по умолчанию, вы должны подключить измеренные выходы объекта к mo входному порту. Если ваш контроллер использует пользовательскую оценку состояния, вы должны подключить предполагаемое состояние объекта к x[k|k] входному порту.
Чтобы включить этот порт, очистите параметр Use custom state estimation instead of using the built-in Kalman filter.
x[k|k]
- Оценка пользовательского состоянияПользовательская оценка состояния, заданная как вектор сигнал. Блок использует связанные оценки состояния вместо оценки состояний с помощью встроенного оценщика. Если ваш контроллер использует пользовательскую оценку состояния, вы должны подключить текущую оценку состояния к x[k|k] входному порту. Если ваш контроллер использует оценку состояния по умолчанию, вы должны подключить измеренный выход к mo входному порту.
Несмотря на то, что состояния модели шума (если таковые имеются) не используются в оптимизации MPC, пользовательский вектор состояния должен содержать все состояния, заданные в mpcstate
объект контроллера, включая объект, нарушения порядка и состояния шумовой модели.
Используйте пользовательские оценки состояния, когда альтернативный метод оценки рассматривается как превосходящий встроенный оценщик или когда состояния полностью измеримы.
Чтобы включить этот порт, выберите параметр Use custom state estimation instead of using the built-in Kalman filter.
ref
- Моделируйте выходные опорные значенияОбъект выходные ссылки значения, заданные как вектор-строка сигнал или матрица сигнал.
Чтобы использовать те же ссылки значения через горизонт предсказания, соедините ref с сигналом вектора-строки с NY элементами, где Ny количество переменных выходов. Каждый элемент задает ссылку для переменного выхода.
Чтобы варьировать ссылки на горизонте предсказания (предварительный просмотр) от времени k + 1 до времени k + p, соедините ref с матричным сигналом с Ny столбцами и до p строк. Здесь k - текущее время, а p - горизонт предсказания. Каждая строка содержит ссылки для одного шага горизонта предсказания. Если вы задаете меньше p строк, последние ссылки используются для остальных шагов горизонта предсказания.
md
- входЕсли ваша модель предсказания контроллера имеет измеренные нарушения порядка, вы должны включить этот порт и соединить с ним вектор-строку или матричный сигнал.
Чтобы использовать те же самые измеренные значения нарушения порядка через горизонт предсказания, соедините md с сигналом вектора-строки с Nmd элементами, где Nmd количество манипулируемых переменных. Каждый элемент задает значение для измеренного нарушения порядка.
Чтобы изменять нарушения порядка над горизонтом предсказания (предварительный просмотр) время k время k + p, соедините md с матричным сигналом с Nmd столбцами и до p + 1 строками. Здесь k - текущее время, а p - горизонт предсказания. Каждая строка содержит нарушения порядка для одного шага горизонта предсказания. Если вы задаете меньше p + 1 строк, конечные нарушения порядка используются для остальных шагов горизонта предсказания.
Чтобы включить этот порт, выберите параметр Measured disturbances.
ext.mv
- Управляющие сигналы, используемые на объекте в предыдущем контрольном интервалеУправляющие сигналы, используемые в объект на предыдущем контрольном интервале, задаются как вектор сигнал длины Nmv, где Nmv - количество манипулируемых переменных. Используйте этот входной порт, чтобы улучшить точность оценки состояния, когда:
Вы знаете, что ваш контроллер не всегда контролирует объект.
Фактические сигналы СН, подаваемые на объект, могут потенциально отличаться от значений, генерируемых контроллером, таких как насыщение сигнала управления.
Оценка состояния контроллера принимает, что MV являются кусочно-постоянными. Поэтому в tk времени значение ext.mv должно содержать эффективные MV между временем tk–1 и tk. Для примера, если MV фактически изменяются в течение этого интервала, можно задать усредненное по времени значение, рассчитанное в tk времени.
Примечание
Подключите ext.mv к сигналам СН, фактически примененным к объекту в предыдущем контрольном интервале. Обычно эти сигналы СН являются значениями, генерируемыми контроллером, хотя это не всегда так. Например, если ваш контроллер находится в автономном режиме и работает в режиме отслеживания (то есть контроллер выход не управляет объектом), то подача фактического управляющего сигнала на ext.mv может помочь достичь бесшумной передачи, когда контроллер переключается обратно в оперативном режиме.
Когда контроллер управляет объектом, вставьте блок Memory или Unit Delay блок, чтобы передать сигнал MV, приложенный к объекту в предыдущем контрольном интервале. Это также избегает прямого сквозного соединения от входного порта ext.mv к выходному порту mv, поэтому предотвращает алгебраические циклы в модели Simulink.
Для примера, который использует внешний управляемый входной порт переменной для бесшумной передачи, смотрите Контроллер Online и Offline с бесшумной передачей.
Чтобы включить этот порт, выберите параметр External manipulated variable.
switch
- Включить или отключить оптимизациюЧтобы выключить вычисление оптимизации контроллера, соедините switch с ненулевым сигналом.
Отключение вычислений оптимизации уменьшает вычислительные усилия, когда контроллер выход не нужен, например, когда система работает вручную или другой контроллер взял на себя. Однако контроллер продолжает обновлять свои оценки внутреннего состояния обычным способом. Поэтому он готов возобновить вычисления оптимизации, когда сигнал switch вернется к нулю. В то время как оптимизация контроллера отключена, блок передает текущий ext.mv сигнал на контроллер выход. Если порт ext.mv не включен, контроллер выход удерживается на значении, которое он имел, когда оптимизация была отключена.
Для примера, который использует внешний управляемый входной порт переменной для бесшумной передачи, смотрите Контроллер Online и Offline с бесшумной передачей.
Чтобы включить этот порт, выберите параметр Use external signal to enable or disable optimization.
mv.target
- Манипулируемые переменные целиЧтобы задать манипулируемые переменные цели, включите этот входной порт и соедините вектор-строку или матричный сигнал. Чтобы сделать заданную манипулируемую переменную отслеживающей ее заданное целевое значение, необходимо также задать ненулевой настройочный вес для этой манипулируемой переменной.
Чтобы использовать те же манипулируемые переменные цели через горизонт предсказания, соедините mv.target с сигналом вектора-строки с Nmv элементами, где Nmv количество манипулируемых переменных. Каждый элемент задает цель для манипулируемой переменной.
Чтобы варьировать цели над горизонтом предсказания (предварительный просмотр) от времени k времени k + p -1, соедините mv.target с матричным сигналом с Nmv столбцами и до p строк. Здесь k - текущее время, а p - горизонт предсказания. Каждая строка содержит цели для одного шага горизонта предсказания. Если вы задаете меньше p строк, конечные цели используются для остальных шагов горизонта предсказания.
Чтобы включить этот порт, выберите параметр Targets for manipulated variables.
ymin
- Минимальные ограничения выходной переменнойЧтобы задать минимальные ограничения выходных переменных во время выполнения, включите этот входной порт. Если этот порт отключен, блок использует нижние границы, указанные в OutputVariables.Min
свойство своей mpc
объект контроллера. Если переменный выход не имеет нижней границы, заданной в объекте контроллера, то во время выполнения блок игнорирует соответствующий подключенный сигнал.
Чтобы изменить границы над горизонтом предсказания от времени k + 1 до времени k + p, соедините ymin с матричным сигналом с Ny столбцами и до p строк. Здесь Ny количество выходов на объекте, k текущее время, и p является горизонтом предсказания. Каждая строка содержит ограничения для одного шага горизонта предсказания. Если вы задаете меньше p строк, границы в последней строке применяются для оставшейся части горизонта предсказания. Если существует только один переменный выход и соединяется сигнал вектора с не более чем p записями, то эти значения используются через горизонт предсказания.
The i
1й столбец ymin сигнала соответствует i
выход объекта и заменяет OutputVariables(i).Max
свойство mpc
объект во время выполнения. Поведение замещения зависит от размерностей обеих переменных.
Скалярные OutputVariables(i).Min
в mpc
объект (постоянная граница для i
выход объекта для применения ко всем этапам предсказания)
ymin размерности | Поведение при замене |
---|---|
Скалярный ymin (один выход, постоянная граница) | ymin заменяет постоянную границу, заданную в OutputVariables(i).Min |
Вектор-столбец ymin (один выход, изменяющаяся во времени граница) | ymin заменяет постоянную границу, заданную в OutputVariables(i).Min с изменяющейся во времени границей. |
Вектор-строка ymin (несколько выходов, постоянные границы) | The i первый элемент ymin заменяет постоянную границу, заданную в OutputVariables(i).Min |
Матричная ymin (несколько выходов, изменяющиеся во времени границы) | The i пятый столбец ymin заменяет постоянную границу, заданную в OutputVariables(i).Min с изменяющейся во времени границей. |
Векторные OutputVariables(i).Min
в mpc
объект (изменяющаяся во времени граница для i
выход объекта с различными значениями на разных шагах предсказания)
ymin размерности | Поведение при замене |
---|---|
Скалярный ymin (один выход, постоянная граница) | ymin заменяет первую конечную запись в OutputVariables.Min и оставшиеся записи в OutputVariables.Min сдвиг вверх или вниз с таким же количеством перемещений, чтобы сохранить профиль, заданный исходной OutputVariables.Min вектор. |
Вектор-столбец ymin (один выход, изменяющаяся во времени граница) | ymin заменяет изменяющуюся во времени границу, заданную в OutputVariables(i).Min , и исходный связанный профиль отбрасывается. |
Вектор-строка ymin (несколько выходов, постоянные границы) | The i первый элемент ymin заменяет первый конечный элемент в OutputVariables(i).Min и оставшиеся записи в OutputVariables(i).Min сдвиг вверх или вниз с таким же количеством перемещений, чтобы сохранить профиль, заданный исходной OutputVariables(i).Min вектор. |
Матричная ymin (несколько выходов, изменяющиеся во времени границы). | The i пятый столбец ymin заменяет изменяющуюся во времени границу, заданную в OutputVariables(i).Min , и исходный связанный профиль отбрасывается. |
Чтобы включить этот порт, выберите параметр Lower OV limits.
ymax
- Максимальный выход переменнойЧтобы задать ограничения максимальной выходной переменной во время выполнения, включите этот входной порт. Если этот порт отключен, блок использует верхние границы, указанные в OutputVariables.Max
свойство своей mpc
объект контроллера. Если переменный выход не имеет верхней границы, заданной в объекте контроллера, то во время выполнения блок игнорирует соответствующий подключенный сигнал.
Чтобы изменить границы над горизонтом предсказания от времени k + 1 до времени k + p, соедините ymax с матричным сигналом с Ny столбцами и до p строк. Здесь Ny количество выходов на объекте, k текущее время, и p является горизонтом предсказания. Каждая строка содержит ограничения для одного шага горизонта предсказания. Если вы задаете меньше p строк, границы в последней строке применяются для оставшейся части горизонта предсказания. Если существует только один переменный выход и соединяется сигнал вектора с не более чем p записями, то эти значения используются через горизонт предсказания.
The i
1й столбец ymax сигнала соответствует i
выход объекта и заменяет OutputVariables(i).Max
свойство mpc
объект во время выполнения. Поведение замещения зависит от размерностей обеих переменных.
Скалярные OutputVariables(i).Max
в mpc
объект (постоянная граница для i
выход объекта для применения ко всем этапам предсказания)
ymax размерности | Поведение при замене |
---|---|
Скалярный ymax (один выход, постоянная граница) | ymax заменяет постоянную границу, заданную в OutputVariables(i).Max |
Вектор-столбец ymax (один выход, изменяющаяся во времени граница) | ymax заменяет постоянную границу, заданную в OutputVariables(i).Max с изменяющейся во времени границей. |
Вектор-строка ymax (несколько выходов, постоянные границы) | The i первый элемент ymax заменяет постоянную границу, заданную в OutputVariables(i).Max |
Матричная ymax (несколько выходов, изменяющиеся во времени границы) | The i пятый столбец ymax заменяет постоянную границу, заданную в OutputVariables(i).Max с изменяющейся во времени границей. |
Векторные OutputVariables(i).Max
в mpc
объект (изменяющаяся во времени граница для i
выход объекта с различными значениями на разных шагах предсказания)
ymax размерности | Поведение при замене |
---|---|
Скалярный ymax (один выход, постоянная граница) | ymax заменяет первую конечную запись в OutputVariables.Max и оставшиеся записи в OutputVariables.Max сдвиг вверх или вниз с таким же количеством перемещений, чтобы сохранить профиль, заданный исходной OutputVariables.Max вектор. |
Вектор-столбец ymax (один выход, изменяющаяся во времени граница) | ymax заменяет изменяющуюся во времени границу, заданную в OutputVariables(i).Max , и исходный связанный профиль отбрасывается. |
Вектор-строка ymax (несколько выходов, постоянные границы) | The i первый элемент ymax заменяет первый конечный элемент в OutputVariables(i).Max и оставшиеся записи в OutputVariables(i).Max сдвиг вверх или вниз с таким же количеством перемещений, чтобы сохранить профиль, заданный исходной OutputVariables(i).Max вектор. |
Матричная ymax (несколько выходов, изменяющиеся во времени границы). | The i пятый столбец ymax заменяет изменяющуюся во времени границу, заданную в OutputVariables(i).Max , и исходный связанный профиль отбрасывается. |
Чтобы включить этот порт, выберите параметр Upper OV limits.
umin
- Минимальные манипулируемые переменные ограниченияЧтобы задать минимальные ограничения переменных во время выполнения, включите этот входной порт. Если этот порт отключен, блок использует нижние границы, указанные в ManipulatedVariables.Min
свойство своей mpc
объект контроллера. Если манипулируемая переменная не имеет нижней границы, заданной в объекте контроллера, то во время выполнения блок игнорирует соответствующий подключенный сигнал.
Чтобы изменить границы над горизонтом предсказания от времени k времени k + p -1, соедините umin с матричным сигналом с Nmv столбцами и до p строк. Здесь Nmv - количество манипулируемых переменных, k - текущее время и p - горизонт предсказания. Каждая строка содержит ограничения для одного шага горизонта предсказания. Если вы задаете меньше p строк, границы в последней строке применяются для оставшейся части горизонта предсказания. Если существует только одна манипулируемая переменная и соединяется сигнал вектора с не более чем p записями, то эти значения используются через горизонт предсказания.
The i
1й столбец umin сигнала соответствует i
вторая манипулированная переменная и заменяет ManipulatedVariables(i).Max
свойство mpc
объект во время выполнения. Поведение замещения зависит от размерностей обеих переменных.
Скалярные ManipulatedVariables(i).Min
в mpc
объект (постоянная граница для i
вторая манипулированная переменная, которая будет применена ко всем шагам предсказания)
umin размерности | Поведение при замене |
---|---|
Скалярный umin (один выход, постоянная граница) | umin заменяет постоянную границу, заданную в ManipulatedVariables(i).Min |
Вектор-столбец umin (один выход, изменяющаяся во времени граница) | umin заменяет постоянную границу, заданную в ManipulatedVariables(i).Min с изменяющейся во времени границей. |
Вектор-строка umin (несколько выходов, постоянные границы) | The i первый элемент umin заменяет постоянную границу, заданную в ManipulatedVariables(i).Min |
Матричная umin (несколько выходов, изменяющиеся во времени границы) | The i пятый столбец umin заменяет постоянную границу, заданную в ManipulatedVariables(i).Min с изменяющейся во времени границей. |
Векторные ManipulatedVariables(i).Min
в mpc
объект (изменяющаяся во времени граница для i
th-я манипулированная переменная с различными значениями на разных шагах предсказания)
umin размерности | Поведение при замене |
---|---|
Скалярный umin (один выход, постоянная граница) | umin заменяет первую конечную запись в ManipulatedVariables.Min и оставшиеся записи в ManipulatedVariables.Min сдвиг вверх или вниз с таким же количеством перемещений, чтобы сохранить профиль, заданный исходной ManipulatedVariables.Min вектор. |
Вектор-столбец umin (один выход, изменяющаяся во времени граница) | umin заменяет изменяющуюся во времени границу, заданную в ManipulatedVariables(i).Min , и исходный связанный профиль отбрасывается. |
Вектор-строка umin (несколько выходов, постоянные границы) | The i первый компонент umin заменяет первый конечный элемент в ManipulatedVariables(i).Min и оставшиеся записи в ManipulatedVariables(i).Min сдвиг вверх или вниз с таким же количеством перемещений, чтобы сохранить профиль, заданный исходной ManipulatedVariables(i).Min вектор. |
Матричная umin (несколько выходов, изменяющиеся во времени границы). | The i пятый столбец umin заменяет изменяющуюся во времени границу, заданную в ManipulatedVariables(i).Min , и исходный связанный профиль отбрасывается. |
Чтобы включить этот порт, выберите параметр Lower MV limits.
umax
- Максимальное количество манипулируемых переменных ограниченийЧтобы задать максимальное количество управляемых переменных во время выполнения, включите этот входной порт. Если этот порт отключен, блок использует верхние границы, указанные в ManipulatedVariables.Max
свойство своей mpc
объект контроллера. Если манипулируемая переменная не имеет верхней границы, заданной в объекте контроллера, то во время выполнения блок игнорирует соответствующий подключенный сигнал.
Чтобы изменить границы над горизонтом предсказания от времени k времени k + p -1, соедините umax с матричным сигналом с Nmv столбцами и до p строк. Здесь Nmv - количество манипулируемых переменных, k - текущее время и p - горизонт предсказания. Каждая строка содержит ограничения для одного шага горизонта предсказания. Если вы задаете меньше p строк, границы в последней строке применяются для оставшейся части горизонта предсказания. Если существует только одна манипулируемая переменная и соединяется сигнал вектора с не более чем p записями, то эти значения используются через горизонт предсказания.
The i
1й столбец umax сигнала соответствует i
вторая манипулированная переменная и заменяет ManipulatedVariables(i).Max
свойство mpc
объект во время выполнения. Поведение замещения зависит от размерностей обеих переменных.
Скалярные ManipulatedVariables(i).Max
в mpc
объект (постоянная граница для i
вторая манипулированная переменная, которая будет применена ко всем шагам предсказания)
umax размерности | Поведение при замене |
---|---|
Скалярный umax (один выход, постоянная граница) | umax заменяет постоянную границу, заданную в ManipulatedVariables(i).Max |
Вектор-столбец umax (один выход, изменяющаяся во времени граница) | umax заменяет постоянную границу, заданную в ManipulatedVariables(i).Max с изменяющейся во времени границей. |
Вектор-строка umax (несколько выходов, постоянные границы) | The i первый элемент umax заменяет постоянную границу, заданную в ManipulatedVariables(i).Max |
Матричная umax (несколько выходов, изменяющиеся во времени границы) | The i пятый столбец umax заменяет постоянную границу, заданную в ManipulatedVariables(i).Max с изменяющейся во времени границей. |
Векторные ManipulatedVariables(i).Max
в mpc
объект (изменяющаяся во времени граница для i
th-я манипулированная переменная с различными значениями на разных шагах предсказания)
umax размерности | Поведение при замене |
---|---|
Скалярный umax (один выход, постоянная граница) | umax заменяет первую конечную запись в ManipulatedVariables.Max и оставшиеся записи в ManipulatedVariables.Max сдвиг вверх или вниз с таким же количеством перемещений, чтобы сохранить профиль, заданный исходной ManipulatedVariables.Max вектор. |
Вектор-столбец umax (один выход, изменяющаяся во времени граница) | umax заменяет изменяющуюся во времени границу, заданную в ManipulatedVariables(i).Max , и исходный связанный профиль отбрасывается. |
Вектор-строка umax (несколько выходов, постоянные границы) | The i первый элемент umax заменяет первый конечный элемент в ManipulatedVariables(i).Max и оставшиеся записи в ManipulatedVariables(i).Max сдвиг вверх или вниз с таким же количеством перемещений, чтобы сохранить профиль, заданный исходной ManipulatedVariables(i).Max вектор. |
Матричная umax (несколько выходов, изменяющиеся во времени границы). | The i пятый столбец umax заменяет изменяющуюся во времени границу, заданную в ManipulatedVariables(i).Max , и исходный связанный профиль отбрасывается. |
Чтобы включить этот порт, выберите параметр Upper MV limits.
E
- Манипулируемая матрица ограничений переменнойМанипулируемая матрица ограничений переменной, заданная как Nc -by Nmv матричный сигнал, где Nc - количество смешанных входных/выходных ограничений, а Nmv - количество манипулируемых переменных.
Если вы задаете E
в mpc
объект, вы должны подключить сигнал к E входному порту. В противном случае соедините нулевую матрицу с правильным размером.
Чтобы задать смешанные входные/выходные ограничения во время выполнения, используйте E входной порт наряду с F, G и S портами. Эти ограничения заменяют смешанные ограничения ввода/вывода, ранее установленные с помощью setconstraint
. Для получения дополнительной информации о смешанных ограничениях ввода/вывода смотрите Ограничения на линейные комбинации входов и выходов.
Количество смешанных входных/выходных ограничений не может измениться во время исполнения. Поэтому Nc должны совпадать с количеством строк в E
матрица, которую вы задали используя setconstraint
.
Чтобы включить этот порт, выберите параметр Custom constraints.
F
- Матрица управляемых выходных ограниченийМатрица управляемых выходных ограничений, заданная как Nc-by Ny матричный сигнал, где Nc - количество смешанных входных/выходных ограничений, а Ny - количество выходов объекта. Если вы задаете F
в mpc
объект, вы должны подключить сигнал к F входному порту с одинаковым числом строк. В противном случае соедините нулевую матрицу с правильным размером.
Чтобы задать смешанные входные/выходные ограничения во время выполнения, используйте F входной порт наряду с E, G и S портами. Эти ограничения заменяют смешанные ограничения ввода/вывода, ранее установленные с помощью setconstraint
. Для получения дополнительной информации о смешанных ограничениях ввода/вывода смотрите Ограничения на линейные комбинации входов и выходов.
Количество смешанных входных/выходных ограничений не может измениться во время исполнения. Поэтому Nc должны совпадать с количеством строк в F
матрица, которую вы задали используя setconstraint
.
Чтобы включить этот порт, выберите параметр Custom constraints.
G
- Пользовательский вектор ограниченийПользовательский вектор ограничения, заданный как вектор-строка сигнал длины Nc, где Nc - количество смешанных входных/выходных ограничений. Если вы задаете G
в mpc
объект, вы должны подключить сигнал к G входному порту с одинаковым числом строк. В противном случае соедините нулевую матрицу с правильным размером.
Чтобы задать смешанные входные/выходные ограничения во время выполнения, используйте G входной порт наряду с E, F и S портами. Эти ограничения заменяют смешанные ограничения ввода/вывода, ранее установленные с помощью setconstraint
. Для получения дополнительной информации о смешанных ограничениях ввода/вывода смотрите Ограничения на линейные комбинации входов и выходов.
Количество смешанных входных/выходных ограничений не может измениться во время исполнения. Поэтому Nc должны совпадать с количеством строк в G
матрица, которую вы задали используя setconstraint
.
Чтобы включить этот порт, выберите параметр Custom constraints.
S
- Измеренная матрица ограничений нарушения порядкаИзмеренная матрица ограничений нарушения порядка, заданная как Nc -by nN матричный сигнал, где Nc - количество смешанных входных/выходных ограничений, и Nv - количество измеренных нарушений порядка. Если вы задаете S
в mpc
объект, вы должны подключить сигнал к S входному порту с одинаковым числом строк. В противном случае соедините нулевую матрицу с правильным размером.
Чтобы задать смешанные входные/выходные ограничения во время выполнения, используйте S входной порт наряду с E, F и G портами. Эти ограничения заменяют смешанные ограничения ввода/вывода, ранее установленные с помощью setconstraint
. Для получения дополнительной информации о смешанных ограничениях ввода/вывода смотрите Ограничения на линейные комбинации входов и выходов.
Количество смешанных входных/выходных ограничений не может измениться во время исполнения. Поэтому Nc должны совпадать с количеством строк в G
матрица, которую вы задали используя setconstraint
.
Чтобы включить этот порт, выберите параметр Custom constraints. Этот порт добавляется только в том случае, если mpc
Объект имеет измеренные нарушения порядка.
y.wt
- Выходные переменные веса настройкиЧтобы задать веса настройки выходных переменных во время выполнения, включите этот входной порт. Если этот порт отключен, блок использует веса настройки, указанные в Weights.OutputVariables
свойство его объекта контроллера. Эти веса настройки штрафуют отклонения от выходных ссылок.
Если объект контроллера MPC использует постоянные веса настройки выхода в горизонте предсказания, можно задать только постоянные веса настройки выхода во время выполнения. Точно так же, если объект контроллера MPC использует веса настройки выхода, которые варьируются в пределах горизонта предсказания, можно задать только изменяющиеся во времени веса настройки выхода во время выполнения
Чтобы использовать постоянные веса настройки над горизонтом предсказания, соедините y.wt с сигналом вектора-строки с Ny элементами, где Ny количество выходов. Каждый элемент задает неотрицательную настройку веса для переменного выхода. Дополнительные сведения об указании весов настройки см. в разделе Настройка весов.
Чтобы изменить веса настройки над горизонтом предсказания от времени k + 1 до времени k + p, соедините y.wt с матричным сигналом с Ny столбцами и до p строк. Здесь k - текущее время, а p - горизонт предсказания. Каждая строка содержит веса настройки для одного шага горизонта предсказания. Если вы задаете меньше p строк, веса настройки в последней строке применяются к оставшейся части горизонта предсказания. Для получения дополнительной информации о меняющихся весах над горизонтом предсказания, см. Изменяющиеся во времени веса и ограничения.
Чтобы включить этот порт, выберите параметр OV weights.
u.wt
- Манипулируемые переменные веса настройкиЧтобы задать управляемые во время выполнения веса настройки переменных, включите этот входной порт. Если этот порт отключен, блок использует веса настройки, указанные в Weights.ManipulatedVariables
свойство его объекта контроллера. Эти веса настройки штрафуют отклонения от целей СН.
Если объект контроллера MPC использует постоянные манипулируемые переменные веса настройки в горизонте предсказания, можно задать только постоянные манипулируемые переменные веса настройки во время выполнения. Точно так же, если объект контроллера MPC использует манипулируемые переменные веса настройки, которые варьируются в пределах горизонта предсказания, можно задать только изменяющиеся во времени изменяющиеся переменные веса настройки во время выполнения
Чтобы использовать те же веса настройки над горизонтом предсказания, соедините u.wt с сигналом вектора-строки с Nmv элементами, где Nmv количество манипулируемых переменных. Каждый элемент задает неотрицательную настройку веса для манипулируемой переменной. Дополнительные сведения об указании весов настройки см. в разделе Настройка весов.
Чтобы варьировать веса настройки над горизонтом предсказания от времени k времени k + p -1, соедините u.wt с матричным сигналом с Nmv столбцами и до p строк. Здесь k - текущее время, а p - горизонт предсказания. Каждая строка содержит веса настройки для одного шага горизонта предсказания. Если вы задаете меньше p строк, веса настройки в последней строке применяются к оставшейся части горизонта предсказания. Для получения дополнительной информации о меняющихся весах над горизонтом предсказания, см. Изменяющиеся во времени веса и ограничения.
Чтобы включить этот порт, выберите параметр MV weights.
du.wt
- Манипулируемые веса настройки переменной скоростиЧтобы задать управляемые во время выполнения веса настройки переменной скорости, включите этот входной порт. Если этот порт отключен, блок использует веса настройки, указанные в Weights.ManipulatedVariablesRate
свойство его объекта контроллера. Эти веса настройки штрафуют большие изменения в движениях управления.
Если объект контроллера MPC использует постоянные манипулируемые веса настройки переменной скорости в горизонте предсказания, можно задать только постоянные манипулируемые веса регулировки скорости во время выполнения. Точно так же, если объект контроллера MPC использует манипулируемые веса настройки переменной скорости, которые варьируются в пределах горизонта предсказания, можно задать только изменяющиеся во времени изменяющиеся веса настройки переменной скорости во время выполнения
Чтобы использовать те же веса настройки над горизонтом предсказания, соедините du.wt с сигналом вектора-строки с Nmv элементами, где Nmv количество манипулируемых переменных. Каждый элемент задает неотрицательную настройку веса для управляемой переменной скорости. Дополнительные сведения об указании весов настройки см. в разделе Настройка весов.
Чтобы варьировать веса настройки над горизонтом предсказания от времени k времени k + p -1, соедините du.wt с матричным сигналом с Nmv столбцами и до p строк. Здесь k - текущее время, а p - горизонт предсказания. Каждая строка содержит веса настройки для одного шага горизонта предсказания. Если вы задаете меньше p строк, веса настройки в последней строке применяются к оставшейся части горизонта предсказания. Для получения дополнительной информации о меняющихся весах над горизонтом предсказания, см. Изменяющиеся во времени веса и ограничения.
Чтобы включить этот порт, выберите параметр MVRate weights.
ecr.wt
- Шлак переменного веса настройкиЧтобы задать коэффициент настройки переменной задержки во время выполнения, включите этот входной порт и соедините скалярный сигнал. Если этот порт отключен, блок использует настройочный вес, указанный в Weights.ECR
свойство его объекта контроллера.
Вес настройки переменной slack не имеет эффекта, если ваш объект контроллера не задает мягкие ограничения, чьи связанные значения ECR не являются нулевыми. Если существуют мягкие ограничения, увеличение значения ecr.wt делает эти ограничения относительно труднее. Контроллер затем помещает более высокий приоритет на минимизацию величины предсказанного нарушения ограничений в худшем случае.
Чтобы включить этот порт, выберите параметр ECR weight.
p
- Горизонт предсказанияГоризонт предсказания, заданный как положительный целочисленный сигнал. Значения сигналов горизонта предсказания должны быть меньше или равны параметру Maximum prediction horizon.
Во время исполнения значения p
переопределяет горизонт предсказания по умолчанию, заданный в объекте контроллера. Для получения дополнительной информации смотрите Настроить горизонты во время выполнения.
Чтобы включить этот порт, выберите параметр Adjust prediction horizon and control horizon at run time.
m
- Горизонт управленияГоризонт управления, заданный как один из следующих:
Положительный целочисленный сигнал, меньше или равный горизонту предсказания.
Векторный сигнал положительных целых чисел, задающий длины интервалов блокировки. Для получения дополнительной информации см. Раздел «Манипулирование блокировкой переменных».
Во время исполнения значения m
переопределяет горизонт управления по умолчанию, заданный в объекте контроллера. Для получения дополнительной информации смотрите Настроить горизонты во время выполнения.
Чтобы включить этот порт, выберите параметр Adjust prediction horizon and control horizon at run time.
mv
- Оптимальное манипулируемое переменное действие управленияОптимальное манипулируемое действие управления, выхода как вектор-столбец сигнал длины Nmv, где Nmv - количество манипулируемых переменных.
Если решатель сходится к локальному оптимальному решению (qp.status положительно), то mv содержит оптимальное решение.
Если решатель отказывает (qp.status отрицательно), то mv остается при своем последнем успешном решении; то есть контроллер выход зависает.
Если решатель достигает максимального количества итераций, не найдя оптимального решения (qp.status равно нулю) и Optimization.UseSuboptimalSolution
свойство контроллера:
true
, затем mv содержит неоптимальное решение
false
затем mv затем mv остается при своем последнем успешном решении
cost
- Стоимость целевой функцииСтоимость целевой функции, выход как неотрицательный скалярный сигнал. Стоимость определяет степень достижения контроллером своих целей. Значение стоимости вычисляется с помощью масштабированной функции затрат MPC, в которой каждый термин не имеет смещения и не имеет размерностей.
Значение стоимости имеет значение только, когда выход qp.status неотрицателен.
Чтобы включить этот порт, выберите параметр Optimal cost.
qp.status
- Состояние оптимизацииСтатус оптимизации, выход как целочисленный сигнал.
Если контроллер решает задачу QP для заданного контрольного интервала, выход qp.status возвращает количество итераций решателя QP, используемых в расчетах. Это значение является конечным, положительным целым числом и пропорционально времени, необходимому для вычислений. Поэтому большое значение означает относительно медленное выполнение блока для этого временного интервала.
QP- решателя может не найти оптимальное решение по следующим причинам:
qp.status = 0
- Решатель QP не может найти решение в пределах максимального количества итераций, заданных в mpc
объект. В этом случае, если Optimizer.UseSuboptimalSolution
свойство контроллера false
блок сохраняет свой mv выход в самом последнем успешном решении. В противном случае он использует неоптимальное решение, найденное во время последней итерации решателя.
qp.status = -1
- Решатель QP обнаруживает недопустимую задачу QP. Смотрите Статус Оптимизации Мониторинга для Обнаружения Отказов Контроллера для примера, где большое устойчивое нарушение порядка управляет переменным выходом за пределами заданных границ. В этом случае блок сохраняет свой mv выход в самом последнем успешном решении.
qp.status = -2
- Решатель QP столкнулся с числовыми трудностями в решении сильно плохо обусловленной задачи QP. В этом случае блок сохраняет свой mv выход в самом последнем успешном решении.
В приложении реального времени можно использовать qp.status, чтобы задать предупреждение или предпринять другие специальные действия.
Чтобы включить этот порт, выберите параметр Optimization status.
est.state
- Предполагаемые состояния контроллераПредполагаемое состояние контроллера в каждый момент управления, возвращаемое как вектор сигнал. Предполагаемые состояния включают в себя объект, нарушение порядка и состояния модели шума. Если используется пользовательская оценка состояния, этот выходной сигнал имеет то же значение, что и x[k|k] входной сигнал.
Чтобы включить этот порт, выберите параметр Estimated controller states.
mv.seq
- Оптимальная манипулируемая переменная последовательностьОптимальная манипулированная переменная последовательность, возвращаемая как матричный сигнал с p + 1 строками и Nmv столбцами, где p - горизонт предсказания, а Nmv - количество манипулированных переменных.
Первые p строки mv.seq содержат вычисленные оптимальные манипулируемые значения переменных от текущего времени k ко времени k + p -1. Первая строка mv.seq содержит ток, управляемый значениями переменных (выходной mv). Поскольку контроллер не вычисляет оптимальные движения управления в момент времени k + p, последние две строки mv.seq идентичны.
Чтобы включить этот порт, выберите параметр Optimal control sequence.
x.seq
- Оптимальная последовательность состояний модели предсказанияОптимальная последовательность состояний модели предсказания, возвращенная как матричный сигнал с p + 1 строками и Nx столбцами, где p - горизонт предсказания, а Nx - количество состояний.
Первые p строки x.seq содержат вычисленные оптимальные значения состояний от текущего времени k до времени k + p -1. Первая строка x.seq содержит текущие оцененные значения состояния. Поскольку контроллер не вычисляет оптимальные состояния в момент времени k + p, последние две строки x.seq идентичны.
Чтобы включить этот порт, выберите параметр Optimal state sequence.
y.seq
- Оптимальная выходная переменная последовательностьОптимальный выход переменная последовательность, возвращенная как матричный сигнал с p + 1 строками и Ny столбцами, где p - горизонт предсказания, а Ny - количество выхода переменных.
Первые p строки y.seq содержат вычисленные оптимальные значения выхода от текущего времени k ко времени k + p -1. Первая строка y.seq вычисляется на основе текущих оцененных состояний и измеренных нарушений порядка тока (первая строка входа md). Поскольку контроллер не вычисляет оптимальные значения выхода в момент времени k + p, последние две строки y.seq идентичны.
Чтобы включить этот порт, выберите параметр Optimal output sequence.
MPC Controller
- Объект контроллераmpc
имя объектаЗадайте mpc
объект, который задает неявный контроллер MPC путем ввода имени mpc
объект из рабочего пространства MATLAB.
Параметры блоков:
mpcobj
|
Тип: строка, вектор символов |
По умолчанию:
""
|
Initial Controller State
- Начальное состояниеmpcstate
имя объектаЗадайте начальное состояние контроллера. Если вы оставляете этот параметр пустым, блок использует номинальные значения, определенные в Model.Nominal
свойство mpc
объект. Чтобы переопределить значение по умолчанию, создайте mpcstate
объект в рабочей рабочей области и введите его имя в поле.
Используйте этот параметр, чтобы состояния контроллера отражали истинный объект окружение в начале вашей симуляции до конца ваших знаний. Эти начальные состояния могут отличаться от номинальных состояний, определенных в mpc
объект.
Если включена пользовательская оценка состояния, блок игнорирует Initial Controller State параметр.
Параметры блоков: x0 |
Тип: строка, вектор символов |
По умолчанию: "" |
Design
- Интерактивно проектируйте контроллерЧтобы интерактивно изменить контроллер, указанный с помощью параметра MPC Controller, откройте приложение MPC Designer, нажав Design. Для примера можно:
Импортируйте новую модель предсказания.
Изменение горизонтов, ограничений и веса моделей.
Оцените эффективность MPC с помощью линейного объекта.
Экспортируйте обновленный контроллер в рабочее пространство MATLAB.
Если у вас есть существующий mpc
в рабочем пространстве MATLAB укажите имя этого объекта, используя параметр MPC Controller.
Если у вас нет существующего mpc
объект в рабочем пространстве MATLAB, оставьте параметр MPC Controller пустым. С блоком MPC Controller, соединенным с объектом, откройте MPC Designer, нажав Design. Используя приложение, линеаризируйте модель Simulink в заданной рабочей точке и разработайте свой контроллер. Чтобы использовать этот подход к проекту, вы должны иметь программное обеспечение Simulink Control Design™. Для получения дополнительной информации смотрите Проект Контроллер в Simulink и Линеаризация моделей Simulink с использованием MPC Designer.
Review
- Рассмотрите контроллер на предмет устойчивости и робастностиЕсли вы задаете контроллер, используя параметр MPC Controller, можно просмотреть ваш проект на проблемы устойчивости и робастности во время выполнения, нажав Review. Для получения дополнительной информации смотрите Review Model Predictive Controller для проблем устойчивости и робастности.
Measured disturbance
- Добавьте измеренный входной порт нарушения порядкаon
(по умолчанию) | off
Если ваш контроллер имеет измеренные нарушения порядка, необходимо выбрать этот параметр, чтобы добавить md выходной порт к блоку.
Параметры блоков:
md_inport
|
Тип: строка, вектор символов |
Значения:
"off" , "on" |
По умолчанию:
"on"
|
External manipulated variable
- Добавить внешний управляемый входной порт переменнойВыберите этот параметр, чтобы добавить ext.mv входной порт к блоку.
Параметры блоков: mv_inport |
Тип: строка, вектор символов |
Значения: "off" , "on" |
По умолчанию: "off" |
Targets for manipulated variables
- Добавьте манипулируемый целевой входной порт переменнойВыберите этот параметр, чтобы добавить mv.target входной порт к блоку.
Параметры блоков: uref_inport |
Тип: строка, вектор символов |
Значения: "off" , "on" |
По умолчанию: "off" |
Optimal cost
- Добавьте оптимальный выходной порт затратВыберите этот параметр, чтобы добавить cost выходной порт к блоку.
Параметры блоков:
return_cost
|
Тип: строка, вектор символов |
Значения:
"off" , "on" |
По умолчанию:
"off"
|
Optimization status
- Добавить выходной порт состояния оптимизацииВыберите этот параметр, чтобы добавить qp.status выходной порт к блоку.
Параметры блоков: return_qpstatus |
Тип: строка, вектор символов |
Значения: "off" , "on" |
По умолчанию: "off" |
Estimated controller states
- Добавить предполагаемые состояния выходного портаВыберите этот параметр, чтобы добавить est.state выходной порт к блоку.
Параметры блоков: return_state |
Тип: строка, вектор символов |
Значения: "off" , "on" |
По умолчанию: "off" |
Optimal control sequence
- Добавьте оптимальный выходной порт последовательности управленияВыберите этот параметр, чтобы добавить mv.seq выходной порт к блоку.
Параметры блоков: return_mvseq |
Тип: строка, вектор символов |
Значения: "off" , "on" |
По умолчанию: "off" |
Optimal state sequence
- Добавьте оптимальный выходной порт последовательности состоянийВыберите этот параметр, чтобы добавить x.seq выходной порт к блоку.
Параметры блоков: return_xseq |
Тип: строка, вектор символов |
Значения: "off" , "on" |
По умолчанию: "off" |
Optimal output sequence
- Добавьте оптимальный выход выходной последовательностиВыберите этот параметр, чтобы добавить y.seq выходной порт к блоку.
Параметры блоков:
return_ovseq
|
Тип: строка, вектор символов |
Значения: "off" , "on" |
По умолчанию: "off" |
Use custom state estimation instead of using the built-in Kalman filter
- Используйте пользовательский входной порт оценки состоянияВыберите этот параметр, чтобы удалить mo входной порт и добавить x[k|k] входной порт.
Параметры блоков: state_inport |
Тип: строка, вектор символов |
Значения: "off" , "on" |
По умолчанию: "off" |
Lower OV limits
- Добавьте минимальный входной порт ограничения OVВыберите этот параметр, чтобы добавить ymin входной порт к блоку.
Параметры блоков: ymin_inport |
Тип: строка, вектор символов |
Значения: "off" , "on" |
По умолчанию: "off" |
Upper OV limits
- Добавьте максимальный входной порт ограничения OVВыберите этот параметр, чтобы добавить ymax входной порт к блоку.
Параметры блоков: ymax_inport |
Тип: строка, вектор символов |
Значения: "off" , "on" |
По умолчанию: "off" |
Lower MV limits
- Добавьте минимальный входной порт ограничения СНВыберите этот параметр, чтобы добавить umin входной порт к блоку.
Параметры блоков: umin_inport |
Тип: строка, вектор символов |
Значения: "off" , "on" |
По умолчанию: "off" |
Upper MV limits
- Добавьте максимальный входной порт ограничения СНВыберите этот параметр, чтобы добавить umax входной порт к блоку.
Параметры блоков: umax_inport |
Тип: строка, вектор символов |
Значения: "off" , "on" |
По умолчанию: "off" |
Custom constraints
- Добавление пользовательских ограничивающих входных портовВыберите этот параметр, чтобы добавить E, F, G и S входные порты к блоку.
Параметры блоков: cc_inport |
Тип: строка, вектор символов |
Значения: "off" , "on" |
По умолчанию: "off" |
OV weights
- Добавьте входной порт настроек OVВыберите этот параметр, чтобы добавить y.wt входной порт к блоку.
Параметры блоков: ywt_inport |
Тип: строка, вектор символов |
Значения: "off" , "on" |
По умолчанию: "off" |
MV weights
- Добавьте входной порт масс настройки MVВыберите этот параметр, чтобы добавить u.wt входной порт к блоку.
Параметры блоков: uwt_inport |
Тип: строка, вектор символов |
Значения: "off" , "on" |
По умолчанию: "off" |
MVRate weights
- Добавьте входной порт настроек скорости MVВыберите этот параметр, чтобы добавить du.wt входной порт к блоку.
Параметры блоков: duwt_inport |
Тип: строка, вектор символов |
Значения: "off" , "on" |
По умолчанию: "off" |
Slack variable weight
- Добавьте входной порт настройки ECRВыберите этот параметр, чтобы добавить ecr.wt входной порт к блоку.
Параметры блоков: rhoeps_inport |
Тип: строка, вектор символов |
Значения: "off" , "on" |
По умолчанию: "off" |
Adjust prediction horizon and control horizon at run time
- Добавить входные порты горизонтаВыберите этот параметр, чтобы добавить p и m входной порт к блоку.
Параметры блоков: pm_inport |
Тип: строка, вектор символов |
Значения: "off" , "on" |
По умолчанию: "off" |
Maximum prediction horizon
- Добавить входные порты горизонта10
(по умолчанию) | положительное целое числоВыберите этот параметр, чтобы добавить p и m входной порт к блоку.
Чтобы включить этот параметр, выберите параметр Adjust prediction horizon and control horizon at run time.
Параметры блоков: MaximumP |
Тип: строка, вектор символов |
По умолчанию: "10" |
Sample time
- Время расчета блока по умолчанию1
(по умолчанию) | положительная скалярная величинаПо умолчанию блок определяет шаг расчета для выполнения симуляции, обрезки или линеаризации с помощью приложения MPC Designer. Вы должны задать шаг расчета, которое совместимо с проектом модели Simulink.
Этот параметр применяется только, когда параметр MPC Controller пуст, и вы открываете MPC Designer с помощью кнопки Design.
Параметры блоков:
n_ts
|
Тип: строка, вектор символов |
По умолчанию:
"1"
|
Prediction horizon
- Горизонт предсказания по умолчанию10
(по умолчанию) | положительное целое числоГоризонт прогноза по умолчанию для выполнения симуляции, обрезки или линеаризации с помощью приложения MPC Designer. Вы должны задать горизонт предсказания, который совместим с вашим проектом модели Simulink.
Этот параметр применяется только, когда параметр MPC Controller пуст, и вы открываете MPC Designer с помощью кнопки Design.
Параметры блоков:
n_p
|
Тип: строка, вектор символов |
По умолчанию:
"10"
|
Number of manipulated variables
- Количество манипулируемых переменных по умолчанию1
(по умолчанию) | положительное целое числоКоличество манипулируемых переменных по умолчанию для выполнения симуляции, обрезки или линеаризации с помощью приложения MPC Designer. Вы должны задать значение, которое совместимо с проектом модели Simulink.
Этот параметр применяется только, когда параметр MPC Controller пуст, и вы открываете MPC Designer с помощью кнопки Design.
Параметры блоков:
n_mv
|
Тип: строка, вектор символов |
По умолчанию:
"1"
|
Number of measured disturbances
- Количество измеренных нарушений порядка по умолчанию1
(по умолчанию) | неотрицательное целое числоКоличество измеренных нарушений порядка по умолчанию для выполнения симуляции, обрезки или линеаризации с помощью приложения MPC Designer. Вы должны задать значение, которое совместимо с проектом модели Simulink.
Этот параметр применяется только, когда параметр MPC Controller пуст, и вы открываете MPC Designer с помощью кнопки Design.
Чтобы использовать этот параметр, вы должны выбрать параметр Measured disturbance.
Параметры блоков:
n_md
|
Тип: строка, вектор символов |
По умолчанию:
"1"
|
Number of unmeasured disturbances
- Количество неизмеренных нарушений порядка по умолчанию0
(по умолчанию) | неотрицательное целое числоКоличество неизмеренных нарушений порядка по умолчанию для выполнения симуляции, обрезки или линеаризации с помощью приложения MPC Designer. Вы должны задать значение, которое совместимо с проектом модели Simulink.
Этот параметр применяется только, когда параметр MPC Controller пуст, и вы открываете MPC Designer с помощью кнопки Design.
Параметры блоков:
n_ud
|
Тип: строка, вектор символов |
По умолчанию:
"0"
|
Number of measured outputs
- Количество измеренных выходов по умолчанию1
(по умолчанию) | положительное целое числоКоличество измеренных выходов по умолчанию для выполнения симуляции, обрезки или линеаризации с помощью приложения MPC Designer. Вы должны задать значение, которое совместимо с проектом модели Simulink.
Этот параметр применяется только, когда параметр MPC Controller пуст, и вы открываете MPC Designer с помощью кнопки Design.
Параметры блоков:
n_mo
|
Тип: строка, вектор символов |
По умолчанию:
"1"
|
Number of unmeasured outputs
- Количество невыполненных выходов по умолчанию0
(по умолчанию) | неотрицательное целое числоКоличество невынесенных выходов по умолчанию для выполнения симуляции, обрезки или линеаризации с помощью приложения MPC Designer. Вы должны задать значение, которое совместимо с проектом модели Simulink.
Этот параметр применяется только, когда параметр MPC Controller пуст, и вы открываете MPC Designer с помощью кнопки Design.
Параметры блоков:
n_uo
|
Тип: строка, вектор символов |
По умолчанию:
"0"
|
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) или Triggered Subsystem (Simulink) блоков. Для получения примера смотрите Использование MPC Контроллера Блока Inside Function-Call и Триггируемых подсистем.
Примечание
Вы должны выполнить Function-Call Subsystem или Triggered Subsystem блоки с частотой дискретизации контроллера. В противном случае можно увидеть неожиданные результаты.
Если вы очистите этот параметр, шаг расчета блока наследуется от объекта контроллера.
Чтобы просмотреть шаг расчета блока, в окне модели Simulink, на вкладке Debug, под Information Overlays, выберите colors или Text. Для получения дополнительной информации смотрите View Sample Time Information (Simulink).
Параметры блоков:
SampleTimeInherited
|
Тип: строка, вектор символов |
Значения:
"off" , "on" |
По умолчанию:
"off"
|
Use external signal to enable or disable optimization
- Добавить входной порт коммутатораВыберите этот параметр, чтобы добавить switch входной порт к блоку.
Параметры блоков: switch_inport |
Тип: строка, вектор символов |
Значения: "off" , "on" |
По умолчанию: "off" |
mv.seq
Выходы размерностей сигнала порта изменилисьПоведение изменено в R2018b
Сигнальные размерности mv.seq
выход блока MPC Controller изменился. Ранее этот сигнал был p -by - Nmv матрицей, где p - горизонт предсказания, а Nmv - количество манипулируемых переменных. Теперь, mv.seq
является (p + 1) -by- Nmv матрицей, где p строка + 1 дублирует p строка.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.