Nonlinear MPC Controller

Симулируйте нелинейные прогнозирующие контроллеры модели

  • Библиотека:
  • Model Predictive Control Toolbox

  • Nonlinear MPC Controller block

Описание

Блок Nonlinear MPC Controller моделирует нелинейный прогнозирующий контроллер модели. На каждом контрольном интервале блок вычисляет оптимальные движения управления путем решения нелинейной задачи программирования. Для получения дополнительной информации о нелинейном MPC смотрите Нелинейный MPC.

Чтобы использовать этот блок, вы должны сначала создать nlmpc объект в MATLAB® рабочей области.

Ограничения

  • Ни один из Nonlinear MPC Controller параметров блоков не настраивается.

Порты

Вход

расширить все

Необходимые входные параметры

Состояния модели предсказания тока, заданные как вектор сигнал длины Nx, где Nx - количество состояний модели предсказания. Поскольку нелинейный контроллер MPC не выполняет оценку состояния, необходимо либо измерить, либо оценить текущие состояния модели предсказания на каждом контрольном интервале.

Объект выходные ссылки значения, заданные как вектор-строка сигнал или матрица сигнал.

Чтобы использовать те же ссылки значения через горизонт предсказания, соедините ref с сигналом вектора-строки с NY элементами, где Ny количество переменных выходов. Каждый элемент задает ссылку для переменного выхода.

Чтобы варьировать ссылки на горизонте предсказания (предварительный просмотр) от времени k + 1 до времени k + p, соедините ref с матричным сигналом с Ny столбцами и до p строк. Здесь k - текущее время, а p - горизонт предсказания. Каждая строка содержит ссылки для одного шага горизонта предсказания. Если вы задаете меньше p строк, последние ссылки используются для остальных шагов горизонта предсказания.

Управляющие сигналы, используемые в объекте в предыдущем контрольном интервале, задаются как векторный сигнал длины Nmv, где Nmv - количество манипулируемых переменных.

Примечание

Подключите last_mv к сигналам СН, фактически примененным к объекту в предыдущем контрольном интервале. Обычно эти сигналы СН являются значениями, генерируемыми контроллером, хотя это не всегда так. Например, если ваш контроллер работает в автономном режиме и работает в режиме отслеживания; то есть контроллер выход не приводит объект в действие, тогда подача фактического управляющего сигнала на last_mv может помочь достичь бесшумной передачи, когда контроллер переключается назад в оперативном режиме.

Дополнительные входы

Если ваша модель предсказания контроллера имеет измеренные нарушения порядка, вы должны включить этот порт и соединить с ним вектор-строку или матричный сигнал.

Чтобы использовать те же самые измеренные значения нарушения порядка через горизонт предсказания, соедините md с сигналом вектора-строки с Nmd элементами, где Nmd количество манипулируемых переменных. Каждый элемент задает значение для измеренного нарушения порядка.

Чтобы изменять нарушения порядка над горизонтом предсказания (предварительный просмотр) время k время k + p, соедините md с матричным сигналом с Nmd столбцами и до p + 1 строками. Здесь k - текущее время, а p - горизонт предсказания. Каждая строка содержит нарушения порядка для одного шага горизонта предсказания. Если вы задаете меньше p + 1 строк, конечные нарушения порядка используются для остальных шагов горизонта предсказания.

Зависимости

Чтобы включить этот порт, выберите параметр Measured disturbances.

Если ваш контроллер использует дополнительные параметры в своей модели предсказания, пользовательской функции стоимости или пользовательских функциях ограничения, включите этот входной порт и соедините сигнал шины параметра с Np элементами, где Np количество параметров. Для получения дополнительной информации о создании сигнала шины параметра см. createParameterBus. Контроллер передает эти параметры своим функциям модели, функции стоимости, ограничительным функциям и якобианским функциям.

Если ваш контроллер не использует дополнительные параметры, необходимо отключить params.

Зависимости

Чтобы включить этот порт, выберите параметр Model parameters.

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

Чтобы использовать те же манипулируемые переменные цели через горизонт предсказания, соедините mv.target с сигналом вектора-строки с Nmv элементами, где Nmv количество манипулируемых переменных. Каждый элемент задает цель для манипулируемой переменной.

Чтобы варьировать цели над горизонтом предсказания (предварительный просмотр) от времени k времени k + p -1, соедините mv.target с матричным сигналом с Nmv столбцами и до p строк. Здесь k - текущее время, а p - горизонт предсказания. Каждая строка содержит цели для одного шага горизонта предсказания. Если вы задаете меньше p строк, конечные цели используются для остальных шагов горизонта предсказания.

Зависимости

Чтобы включить этот порт, выберите параметр Targets for manipulated variables.

Онлайн-ограничения

Чтобы задать минимальные ограничения выходных переменных во время выполнения, включите этот входной порт. Если этот порт отключен, блок использует нижние границы, указанные в OutputVariables.Min свойство его объекта контроллера.

Чтобы использовать те же границы над горизонтом предсказания, соедините y.min с сигналом вектора-строки с Ny элементами, где Ny количество выходов. Каждый элемент задает нижнюю границу для переменного выхода.

Чтобы изменить границы над горизонтом предсказания от времени k + 1 до времени k + p, соедините y.min с матричным сигналом с Ny столбцами и до p строк. Здесь k - текущее время, а p - горизонт предсказания. Каждая строка содержит ограничения для одного шага горизонта предсказания. Если вы задаете меньше p строк, границы в последней строке применяются для оставшейся части горизонта предсказания.

Зависимости

Чтобы включить этот порт, выберите параметр Lower OV limits.

Чтобы задать ограничения максимальной выходной переменной во время выполнения, включите этот входной порт. Если этот порт отключен, блок использует верхние границы, указанные в OutputVariables.Min свойство его объекта контроллера.

Чтобы использовать те же границы над горизонтом предсказания, соедините y.max с сигналом вектора-строки с Ny элементами, где Ny количество выходов. Каждый элемент задает верхнюю границу для переменного выхода.

Чтобы изменить границы над горизонтом предсказания от времени k + 1 до времени k + p, соедините y.max с матричным сигналом с Ny столбцами и до p строк. Здесь k - текущее время, а p - горизонт предсказания. Каждая строка содержит ограничения для одного шага горизонта предсказания. Если вы задаете меньше p строк, границы в последней строке применяются для оставшейся части горизонта предсказания.

Зависимости

Чтобы включить этот порт, выберите параметр Upper OV limits.

Чтобы задать минимальные ограничения переменных во время выполнения, включите этот входной порт. Если этот порт отключен, блок использует нижние границы, указанные в ManipulatedVariables.Min свойство его объекта контроллера.

Чтобы использовать те же границы над горизонтом предсказания, соедините mv.min с сигналом вектора-строки с Nmv элементами, где Nmv количество выходов. Каждый элемент задает нижнюю границу для управляемой переменной.

Чтобы изменить границы над горизонтом предсказания от времени k времени k + p -1, соедините mv.min с матричным сигналом с Ny столбцами и до p строк. Здесь k - текущее время, а p - горизонт предсказания. Каждая строка содержит ограничения для одного шага горизонта предсказания. Если вы задаете меньше p строк, границы в последней строке применяются для оставшейся части горизонта предсказания.

Зависимости

Чтобы включить этот порт, выберите параметр Lower MV limits.

Чтобы задать максимальное количество управляемых переменных во время выполнения, включите этот входной порт. Если этот порт отключен, блок использует верхние границы, указанные в ManipulatedVariables.Max свойство его объекта контроллера.

Чтобы использовать те же границы над горизонтом предсказания, соедините mv.max с сигналом вектора-строки с Nmv элементами, где Nmv количество выходов. Каждый элемент задает верхнюю границу для управляемой переменной.

Чтобы изменить границы над горизонтом предсказания от времени k времени k + p -1, соедините mv.max с матричным сигналом с Ny столбцами и до p строк. Здесь k - текущее время, а p - горизонт предсказания. Каждая строка содержит ограничения для одного шага горизонта предсказания. Если вы задаете меньше p строк, границы в последней строке применяются для оставшейся части горизонта предсказания.

Зависимости

Чтобы включить этот порт, выберите параметр Upper MV limits.

Чтобы задать минимальные ограничения переменной скорости во время выполнения, включите этот входной порт. Если этот порт отключен, блок использует нижние границы, указанные в ManipulatedVariable.RateMin свойство его объекта контроллера. dmv.min границы должны быть непозитивными.

Чтобы использовать те же границы над горизонтом предсказания, соедините dmv.min с сигналом вектора-строки с Nmv элементами, где Nmv количество выходов. Каждый элемент задает нижнюю границу для управляемой переменной скорости изменения.

Чтобы изменить границы над горизонтом предсказания от времени k времени k + p -1, соедините dmv.min с матричным сигналом с Ny столбцами и до p строк. Здесь k - текущее время, а p - горизонт предсказания. Каждая строка содержит ограничения для одного шага горизонта предсказания. Если вы задаете меньше p строк, границы в последней строке применяются для оставшейся части горизонта предсказания.

Зависимости

Чтобы включить этот порт, выберите параметр Lower MVRate limits.

Чтобы задать ограничения переменной скорости во время выполнения, включите этот входной порт. Если этот порт отключен, блок использует верхние границы, указанные в ManipulatedVariables.RateMax свойство его объекта контроллера. dmv.max границы должны быть неотрицательными.

Чтобы использовать те же границы над горизонтом предсказания, соедините dmv.max с сигналом вектора-строки с Nmv элементами, где Nmv количество выходов. Каждый элемент задает верхнюю границу для управляемой переменной скорости изменения.

Чтобы изменить границы над горизонтом предсказания от времени k времени k + p -1, соедините dmv.max с матричным сигналом с Ny столбцами и до p строк. Здесь k - текущее время, а p - горизонт предсказания. Каждая строка содержит ограничения для одного шага горизонта предсказания. Если вы задаете меньше p строк, границы в последней строке применяются для оставшейся части горизонта предсказания.

Зависимости

Чтобы включить этот порт, выберите параметр Upper MVRate limits.

Чтобы задать ограничения минимального состояния во время выполнения, включите этот входной порт. Если этот порт отключен, блок использует нижние границы, указанные в States.Min свойство его объекта контроллера.

Чтобы использовать те же границы над горизонтом предсказания, соедините x.min с сигналом вектора-строки с Nx элементами, где Nx количество выходов. Каждый элемент задает нижнюю границу для состояния.

Чтобы изменить границы над горизонтом предсказания от времени k + 1 до времени k + p, соедините x.min с матричным сигналом с Ny столбцами и до p строк. Здесь k - текущее время, а p - горизонт предсказания. Каждая строка содержит ограничения для одного шага горизонта предсказания. Если вы задаете меньше p строк, границы в последней строке применяются для оставшейся части горизонта предсказания.

Зависимости

Чтобы включить этот порт, выберите параметр Lower state limits.

Чтобы задать ограничения максимального состояния во время выполнения, включите этот входной порт. Если этот порт отключен, блок использует верхние границы, указанные в States.Max свойство его объекта контроллера.

Чтобы использовать те же границы над горизонтом предсказания, соедините x.max с сигналом вектора-строки с Nx элементами, где Nx количество выходов. Каждый элемент задает верхнюю границу для состояния.

Чтобы изменить границы над горизонтом предсказания от времени k + 1 до времени k + p, соедините x.max с матричным сигналом с Ny столбцами и до p строк. Здесь k - текущее время, а p - горизонт предсказания. Каждая строка содержит ограничения для одного шага горизонта предсказания. Если вы задаете меньше p строк, границы в последней строке применяются для оставшейся части горизонта предсказания.

Зависимости

Чтобы включить этот порт, выберите параметр Upper state limits.

Сетевые веса настройки

Чтобы задать веса настройки выходных переменных во время выполнения, включите этот входной порт. Если этот порт отключен, блок использует веса настройки, указанные в Weights.OutputVariables свойство его объекта контроллера. Эти веса настройки штрафуют отклонения от выходных ссылок.

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

Чтобы использовать постоянные веса настройки над горизонтом предсказания, соедините y.wt с сигналом вектора-строки с Ny элементами, где Ny количество выходов. Каждый элемент задает неотрицательную настройку веса для переменного выхода. Дополнительные сведения об указании весов настройки см. в разделе Настройка весов.

Чтобы изменить веса настройки над горизонтом предсказания от времени k + 1 до времени k + p, соедините y.wt с матричным сигналом с Ny столбцами и до p строк. Здесь k - текущее время, а p - горизонт предсказания. Каждая строка содержит веса настройки для одного шага горизонта предсказания. Если вы задаете меньше p строк, веса настройки в последней строке применяются к оставшейся части горизонта предсказания. Для получения дополнительной информации о меняющихся весах над горизонтом предсказания, см. Изменяющиеся во времени веса и ограничения.

Зависимости

Чтобы включить этот порт, выберите параметр OV weights.

Чтобы задать управляемые во время выполнения веса настройки переменных, включите этот входной порт. Если этот порт отключен, блок использует веса настройки, указанные в Weights.ManipulatedVariables свойство его объекта контроллера. Эти веса настройки штрафуют отклонения от целей СН.

Чтобы использовать те же веса настройки над горизонтом предсказания, соедините mv.wt с сигналом вектора-строки с Nmv элементами, где Nmv количество манипулируемых переменных. Каждый элемент задает неотрицательную настройку веса для манипулируемой переменной. Дополнительные сведения об указании весов настройки см. в разделе Настройка весов.

Чтобы варьировать веса настройки над горизонтом предсказания от времени k времени k + p -1, соедините mv.wt с матричным сигналом с Nmv столбцами и до p строк. Здесь k - текущее время, а p - горизонт предсказания. Каждая строка содержит веса настройки для одного шага горизонта предсказания. Если вы задаете меньше p строк, веса настройки в последней строке применяются к оставшейся части горизонта предсказания. Для получения дополнительной информации о меняющихся весах над горизонтом предсказания, см. Изменяющиеся во времени веса и ограничения.

Зависимости

Чтобы включить этот порт, выберите параметр MV weights.

Чтобы задать управляемые во время выполнения веса настройки переменной скорости, включите этот входной порт. Если этот порт отключен, блок использует веса настройки, указанные в Weights.ManipulatedVariablesRate свойство его объекта контроллера. Эти веса настройки штрафуют большие изменения в движениях управления.

Чтобы использовать те же веса настройки над горизонтом предсказания, соедините dmv.wt с сигналом вектора-строки с Nmv элементами, где Nmv количество манипулируемых переменных. Каждый элемент задает неотрицательную настройку веса для управляемой переменной скорости. Дополнительные сведения об указании весов настройки см. в разделе Настройка весов.

Чтобы варьировать веса настройки над горизонтом предсказания от времени k времени k + p -1, соедините dmv.wt с матричным сигналом с Nmv столбцами и до p строк. Здесь k - текущее время, а p - горизонт предсказания. Каждая строка содержит веса настройки для одного шага горизонта предсказания. Если вы задаете меньше p строк, веса настройки в последней строке применяются к оставшейся части горизонта предсказания. Для получения дополнительной информации о меняющихся весах над горизонтом предсказания, см. Изменяющиеся во времени веса и ограничения.

Зависимости

Чтобы включить этот порт, выберите параметр MVRate weights.

Чтобы задать коэффициент настройки переменной задержки во время выполнения, включите этот входной порт и соедините скалярный сигнал. Если этот порт отключен, блок использует настройочный вес, указанный в Weights.ECR свойство его объекта контроллера.

Вес настройки переменной slack не имеет эффекта, если ваш объект контроллера не задает мягкие ограничения, чьи связанные значения ECR не являются нулевыми. Если существуют мягкие ограничения, увеличение значения ecr.wt делает эти ограничения относительно труднее. Контроллер затем помещает более высокий приоритет на минимизацию величины предсказанного нарушения ограничений в худшем случае.

Зависимости

Чтобы включить этот порт, выберите параметр ECR weight.

Начальные догадки

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

Чтобы использовать те же начальные догадки над горизонтом предсказания, соедините mv.init с сигналом вектора с Nmv элементами, где Nmv количество манипулируемых переменных. Каждый элемент задает начальное предположение для манипулируемой переменной.

Чтобы варьировать начальные догадки над горизонтом предсказания от времени k времени k + p -1, соедините mv.init с матричным сигналом с Nmv столбцами и до p строк. Здесь k - текущее время, а p - горизонт предсказания. Каждая строка содержит начальные предположения для одного шага горизонта предсказания. Если вы задаете меньше p строк, догадки в последней строке применяются к оставшейся части горизонта предсказания.

Зависимости

Чтобы включить этот порт, выберите параметр Initial guess.

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

Чтобы использовать те же начальные догадки над горизонтом предсказания, соедините x.init с сигналом вектора с Nx элементами, где Nx количество состояний. Каждый элемент задает начальное предположение для состояния.

Чтобы варьировать начальные догадки над горизонтом предсказания от времени k времени k + p -1, соедините x.init с матричным сигналом с Nx столбцами и до p строк. Здесь k - текущее время, а p - горизонт предсказания. Каждая строка содержит начальные предположения для одного шага горизонта предсказания. Если вы задаете меньше p строк, догадки в последней строке применяются к оставшейся части горизонта предсказания.

Зависимости

Чтобы включить этот порт, выберите параметр Initial guess.

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

Зависимости

Чтобы включить этот порт, выберите параметр Initial guess.

Выход

расширить все

Необходимый выход

Оптимальное манипулируемое действие управления, выхода как вектор-столбец сигнал длины Nmv, где Nmv - количество манипулируемых переменных.

Если решатель сходится к локальному оптимальному решению (nlp.status положительно), то mv содержит оптимальное решение.

Если решатель достигает максимального количества итераций, не найдя оптимального решения (nlp.status равно нулю) и Optimization.UseSuboptimalSolution свойство контроллера:

  • true, затем mv содержит неоптимальное решение

  • false, тогда mv так же, как last_mv

Если решатель отказывает (nlp.status отрицательно), то mv так же, как last_mv.

Дополнительные выходы

Стоимость целевой функции, выход как неотрицательный скалярный сигнал. Стоимость определяет степень достижения контроллером своих целей.

Значение стоимости имеет значение только, когда выход nlp.status неотрицателен.

Зависимости

Чтобы включить этот порт, выберите параметр Optimal cost.

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

  • .r= 0 - Все мягкие ограничения выполняются на протяжении всего горизонта предсказания.

  • .r> 0 - нарушается по крайней мере одно мягкое ограничение. Когда больше чем одно ограничение нарушено, ε представляет худший случай мягкое нарушение ограничений (измеренный значениями ECR для каждого ограничения).

Зависимости

Чтобы включить этот порт, выберите параметр Slack variable.

Статус оптимизации, выход как один из следующих:

  • Положительное целое число - решатель сходился к оптимальному решению

  • 0 - Максимальное количество итераций, достигнутых без сходимости к оптимальному решению

  • Отрицательное целое число - ошибка решателя

Зависимости

Чтобы включить этот порт, выберите параметр Optimization status.

Оптимальные последовательности

Оптимальная манипулированная переменная последовательность, возвращаемая как матричный сигнал с p + 1 строками и Nmv столбцами, где p - горизонт предсказания, а Nmv - количество манипулированных переменных.

Первые p строки mv.seq содержат вычисленные оптимальные манипулируемые значения переменных от текущего времени k ко времени k + p -1. Первая строка mv.seq содержит ток, управляемый значениями переменных (выходной mv). Поскольку контроллер не вычисляет оптимальные движения управления в момент времени k + p, последние две строки mv.seq идентичны.

Зависимости

Чтобы включить этот порт, выберите параметр Optimal control sequence.

Оптимальная последовательность состояний модели предсказания, возвращенная как матричный сигнал с p + 1 строками и Nx столбцами, где p - горизонт предсказания, а Nx - количество состояний.

Первые p строки x.seq содержат вычисленные оптимальные значения состояний от текущего времени k до времени k + p -1. Первая строка x.seq содержит текущие оцененные значения состояния. Поскольку контроллер не вычисляет оптимальные состояния в момент времени k + p, последние две строки x.seq идентичны.

Зависимости

Чтобы включить этот порт, выберите параметр Optimal state sequence.

Оптимальный выход переменная последовательность, возвращенная как матричный сигнал с p + 1 строками и Ny столбцами, где p - горизонт предсказания, а Ny - количество выхода переменных.

Первые p строки y.seq содержат вычисленные оптимальные значения выхода от текущего времени k ко времени k + p -1. Первая строка y.seq вычисляется на основе текущих оцененных состояний и измеренных нарушений порядка тока (первая строка входа md). Поскольку контроллер не вычисляет оптимальные значения выхода в момент времени k + p, последние две строки y.seq идентичны.

Зависимости

Чтобы включить этот порт, выберите параметр Optimal output sequence.

Параметры

расширить все

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

Программное использование

Параметры блоков: nlmpcobj
Тип: строка, вектор символов
По умолчанию: ""

Выберите этот параметр, чтобы запустить контроллер, используя тот же шаг расчета, что и его модель предсказания. Чтобы использовать другой шаг расчета контроллера, очистите этот параметр и укажите шаг расчета с помощью параметра Make block run at a different sample time.

Чтобы ограничить количество переменных принятия решений и улучшить вычислительную эффективность, можно запустить контроллер с шагом расчета, который отличается от горизонта предсказания. Например, рассмотрим случай нелинейного контроллера MPC, работающего на частоте 10 Гц. Если шаги расчета объекта управления и контроллера совпадают, для предсказания поведения объекта в течение десяти секунд требуется горизонт предсказания длины 100, который создает большое количество переменных принятия решений. Чтобы уменьшить количество переменных принятия решений, можно использовать шаг расчета объекта 1 секунду и горизонт предсказания длины 10.

Программное использование

Параметры блоков: UseObjectTs
Тип: строка, вектор символов
Значения: "off", "on"
По умолчанию: "on"

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

Зависимости

Чтобы включить этот параметр, очистите параметр Use prediction model sample time.

Программное использование

Параметры блоков: TsControl
Тип: строка, вектор символов
По умолчанию: ""

Выберите этот параметр, чтобы симулировать контроллер с помощью MEX-функции, сгенерированной buildMEX. Это сокращает время симуляции контроллера. Чтобы задать имя MEX-функции, используйте параметр Specify MEX function name.

Программное использование

Параметры блоков: UseMEX
Тип: строка, вектор символов
Значения: "off", "on"
По умолчанию: "off"

Используйте этот параметр, чтобы задать имя MEX-функции для использования во время симуляции. Чтобы создать MEX-функцию, используйте buildMEX функция.

Зависимости

Чтобы включить этот параметр, выберите параметр Use MEX to speed up simulation.

Программное использование

Параметры блоков: mexname
Тип: строка, вектор символов
По умолчанию: ""

Вкладка Общие

Если ваш контроллер имеет измеренные нарушения порядка, необходимо выбрать этот параметр, чтобы добавить md выходной порт к блоку.

Программное использование

Параметры блоков: md_enabled
Тип: строка, вектор символов
Значения: "off", "on"
По умолчанию: "off"

Выберите этот параметр, чтобы добавить mv.target входной порт к блоку.

Программное использование

Параметры блоков: mvtarget_enabled
Тип: строка, вектор символов
Значения: "off", "on"
По умолчанию: "off"

Если ваш контроллер использует дополнительные параметры, необходимо выбрать этот параметр, чтобы добавить params выходной порт к блоку.

Для получения дополнительной информации о создании сигнала шины параметра см. createParameterBus.

Программное использование

Параметры блоков: param_enabled
Тип: строка, вектор символов
Значения: "off", "on"
По умолчанию: "off"

Выберите этот параметр, чтобы добавить cost выходной порт к блоку.

Программное использование

Параметры блоков: cost_enabled
Тип: строка, вектор символов
Значения: "off", "on"
По умолчанию: "off"

Выберите этот параметр, чтобы добавить mv.seq выходной порт к блоку.

Программное использование

Параметры блоков: mvseq_enabled
Тип: строка, вектор символов
Значения: "off", "on"
По умолчанию: "off"

Выберите этот параметр, чтобы добавить x.seq выходной порт к блоку.

Программное использование

Параметры блоков: stateseq_enabled
Тип: строка, вектор символов
Значения: "off", "on"
По умолчанию: "off"

Выберите этот параметр, чтобы добавить y.seq выходной порт к блоку.

Программное использование

Параметры блоков: ovseq_enabled
Тип: строка, вектор символов
Значения: "off", "on"
По умолчанию: "off"

Выберите этот параметр, чтобы добавить slack выходной порт к блоку.

Программное использование

Параметры блоков: slack_enabled
Тип: строка, вектор символов
Значения: "off", "on"
По умолчанию: "off"

Выберите этот параметр, чтобы добавить nlp.status выходной порт к блоку.

Программное использование

Параметры блоков: status_enabled
Тип: строка, вектор символов
Значения: "off", "on"
По умолчанию: "off"

Вкладка Оперативные функции

Выберите этот параметр, чтобы добавить ov.min входной порт к блоку.

Программное использование

Параметры блоков: ov_min
Тип: строка, вектор символов
Значения: "off", "on"
По умолчанию: "off"

Выберите этот параметр, чтобы добавить ov.max входной порт к блоку.

Программное использование

Параметры блоков: ov_max
Тип: строка, вектор символов
Значения: "off", "on"
По умолчанию: "off"

Выберите этот параметр, чтобы добавить mv.min входной порт к блоку.

Программное использование

Параметры блоков: mv_min
Тип: строка, вектор символов
Значения: "off", "on"
По умолчанию: "off"

Выберите этот параметр, чтобы добавить mv.max входной порт к блоку.

Программное использование

Параметры блоков: mv_max
Тип: строка, вектор символов
Значения: "off", "on"
По умолчанию: "off"

Выберите этот параметр, чтобы добавить dmv.min входной порт к блоку.

Программное использование

Параметры блоков: mvrate_min
Тип: строка, вектор символов
Значения: "off", "on"
По умолчанию: "off"

Выберите этот параметр, чтобы добавить dmv.max входной порт к блоку.

Программное использование

Параметры блоков: mvrate_max
Тип: строка, вектор символов
Значения: "off", "on"
По умолчанию: "off"

Выберите этот параметр, чтобы добавить x.min входной порт к блоку.

Программное использование

Параметры блоков: state_min
Тип: строка, вектор символов
Значения: "off", "on"
По умолчанию: "off"

Выберите этот параметр, чтобы добавить x.max входной порт к блоку.

Программное использование

Параметры блоков: state_max
Тип: строка, вектор символов
Значения: "off", "on"
По умолчанию: "off"

Выберите этот параметр, чтобы добавить y.wt входной порт к блоку.

Программное использование

Параметры блоков: ov_weight
Тип: строка, вектор символов
Значения: "off", "on"
По умолчанию: "off"

Выберите этот параметр, чтобы добавить mv.wt входной порт к блоку.

Программное использование

Параметры блоков: mv_weight
Тип: строка, вектор символов
Значения: "off", "on"
По умолчанию: "off"

Выберите этот параметр, чтобы добавить dmv.wt входной порт к блоку.

Программное использование

Параметры блоков: mvrate_weight
Тип: строка, вектор символов
Значения: "off", "on"
По умолчанию: "off"

Выберите этот параметр, чтобы добавить ecr.wt входной порт к блоку.

Программное использование

Параметры блоков: ecr_weight
Тип: строка, вектор символов
Значения: "off", "on"
По умолчанию: "off"

Выберите этот параметр, чтобы добавить mv.init, x.init и e.init входные порты к блоку.

Примечание

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

Включите начальные порты догадок, только если это необходимо для вашего приложения.

Программное использование

Параметры блоков: nlp_initialize
Тип: строка, вектор символов
Значения: "off", "on"
По умолчанию: "off"

Примеры моделей

Расширенные возможности

.
Введенный в R2018b