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