Nonlinear MPC Controller

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

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

Описание

Блок 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, итоговые ссылки используются в остающихся шагах горизонта прогноза.

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

Примечание

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

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

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

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

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

Если ваш диспетчер использует дополнительные параметры в ее модели прогноза, пользовательской функции стоимости или пользовательских ограничительных функциях, включите этот входной порт и соедините сигнал шины параметра с элементами 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 ко времени k +p-1, соедините y.min с матричным сигналом со столбцами Ny и до строк p. Здесь, k является текущим временем, и p является горизонтом прогноза. Каждая строка содержит границы для одного шага горизонта прогноза. Если вы задаете меньше, чем строки p, границы в итоговой строке запрашивают остаток от горизонта прогноза.

Зависимости

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

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

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

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

Зависимости

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

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

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

Чтобы варьироваться границы по горизонту прогноза со времени k ко времени k +p-1, соедините 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 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.

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

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

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

Зависимости

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

Состояние Optimization, выход как одно из следующего:

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

  • 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.

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

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

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

Зависимости

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

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

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

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

Если ваш контроллер измерил воздействия, необходимо выбрать этот параметр, чтобы добавить выходной порт 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