exponenta event banner

Нелинейный контроллер MPC

Моделирование прогнозирующих контроллеров нелинейной модели

  • Библиотека:
  • Панель инструментов управления прогнозом модели

  • Nonlinear MPC Controller block

Описание

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

Для использования этого блока необходимо сначала создать nlmpc в рабочей области MATLAB ®.

Ограничения

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

Порты

Вход

развернуть все

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

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

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

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

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

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

Примечание

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

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

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

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

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

Зависимости

Для активизации этого порта выберите параметр Measured ristances.

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

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

Зависимости

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

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

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

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

Зависимости

Чтобы включить этот порт, выберите параметр Targets for manufulated 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 свойство объекта контроллера.

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

Зависимости

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

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

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

Чтобы использовать те же самые начальные догадки на горизонте прогнозирования, подключите 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 или положительное скалярное значение.

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

  • start> 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 идентичны.

Зависимости

Для активизации этого порта выберите параметр Optimum control sequence.

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

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

Зависимости

Для активизации этого порта выберите параметр Optimum state sequence.

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

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

Зависимости

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

Параметры

развернуть все

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

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

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

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

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

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

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

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

Зависимости

Чтобы включить этот параметр, снимите флажок Использовать образец времени модели прогнозирования (Use prediction model sample time parameter).

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

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

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

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

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

Этот параметр используется для указания имени функции MEX, используемой при моделировании. Для создания функции MEX используйте buildMEX функция.

Зависимости

Чтобы включить этот параметр, выберите параметр Use MEX для ускорения моделирования.

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

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

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

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

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

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

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

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

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

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

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

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

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

Выберите этот параметр для добавления порта вывода затрат в блок.

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

Параметр блока: 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_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