Симулируйте переключение между несколькими неявными контроллерами MPC
Model Predictive Control Toolbox
В каждый момент управления блок Multiple MPC Controllers получает текущий измеренный объект выход, ссылка и измеренное воздействие объекта (если таковые имеются). Кроме того, это получает переключающийся сигнал, который выбирает активный контроллер из списка кандидата контроллеры MPC, спроектированные в различных рабочих точках в рабочем диапазоне. Активный контроллер затем решает квадратичную программу, чтобы решить, что оптимальный объект управлял переменными для текущих входных сигналов.
Блок Multiple MPC Controllers позволяет вам достигнуть лучшего управления, когда условия работы изменяются. Используя доступные измерения, можно обнаружить текущую операционную область во время выполнения и выбрать соответствующий активный контроллер через switch
входной порт. Переключение контроллеров для различных операционных областей является общим подходом к решению нелинейных проблем управления с помощью линейных методов управления.
Чтобы повысить эффективность, неактивные контроллеры не вычисляют перемещения оптимального управления. Однако, чтобы обеспечить передачу bumpless между контроллерами, неактивные контроллеры продолжают выполнять оценку состояния.
Блок Multiple MPC Controllers испытывает недостаток в нескольких дополнительных функциях, найденных в блоке MPC Controller, можно следующим образом:
Вы не можете отключить оптимизацию. Один контроллер должен всегда быть активным.
Вы не можете инициировать проектирование контроллера из диалогового окна блока; то есть, нет никакой кнопки Design. Спроектируйте все контроллеры кандидата прежде, чем сконфигурировать блок Multiple MPC Controllers.
Точно так же нет никакой кнопки Review. Вместо этого используйте review
команда или приложение MPC Designer.
Вы не можете обновить пользовательские ограничения на линейные комбинации вводов и выводов во время выполнения.
И блок Multiple MPC Controllers и блок Adaptive MPC Controller позволяют вашей системе управления адаптироваться к изменению условий работы во время выполнения. В следующей таблице перечислены преимущества использования каждого блока.
Блок | Адаптивный контроллер MPC | Несколько контроллеров MPC |
---|---|---|
Подход адаптации | Обновите модель прогноза для одного контроллера, когда условия работы изменяются | Переключитесь между несколькими контроллерами, спроектированными для различных операционных областей |
Преимущества |
|
|
ref
— Выходные значения ссылки моделиОбъект выходные значения ссылки, заданные как вектор-строка, сигнализирует или матричный сигнал.
Чтобы использовать те же ссылочные значения через горизонт прогноза, соедините ref с сигналом вектора-строки с элементами NY, где Ny является количеством выходных переменных. Каждый элемент задает ссылку для выходной переменной.
Чтобы варьироваться ссылки по горизонту прогноза (предварительный просмотр) со времени k +1 ко времени k +p, соедините ref с матричным сигналом со столбцами Ny и до строк p. Здесь, k является текущим временем, и p является горизонтом прогноза. Каждая строка содержит ссылки для одного шага горизонта прогноза. Если вы задаете меньше, чем строки p, итоговые ссылки используются в остающихся шагах горизонта прогноза.
switch
— Выбор контроллераИспользуйте входной порт switch, чтобы выбрать активный контроллер. Входной сигнал switch должен быть скалярным целым числом от 1
к N c, где N c является количеством заданных контроллеров кандидата. В каждый момент управления этот сигнал определяет активный контроллер. Значение переключателя 1
соответствует первой записи в массиве ячеек контроллеров кандидата, значении 2
соответствует второму контроллеру, и так далее.
Если switch
сигнал за пределами области значений 1 к N c, блок сохраняет предыдущий выход контроллера.
mo
— Измеренный выходИзмеренные выходные сигналы, заданные как векторный сигнал. Диспетчеры кандидата используют измеренный объект выходные параметры, чтобы улучшить их оценки состояния.
Все диспетчеры кандидата должны использовать ту же опцию оценки состояния, или значение по умолчанию или пользовательский. Если ваши диспетчеры кандидата используют оценку состояния по умолчанию, необходимо соединить измеренный объект выходные параметры с входным портом mo. Если ваши диспетчеры кандидата используют пользовательскую оценку состояния, необходимо соединить сигнал с входным портом x[k|k].
Чтобы включить этот порт, очистите параметр Use custom state estimation instead of using the built-in Kalman filter.
x[k|k]
— Пользовательская оценка состоянияПользовательская оценка состояния, заданная как векторный сигнал. Диспетчеры кандидата используют связанные оценки состояния вместо того, чтобы оценить состояния с помощью его встроенного средства оценки. Используйте пользовательские оценки состояния, когда альтернативный метод оценки рассматривается выше встроенного средства оценки или когда состояния полностью измеримы.
Все диспетчеры кандидата должны использовать ту же опцию оценки состояния, или значение по умолчанию или пользовательский. Если ваши диспетчеры кандидата используют пользовательскую оценку состояния, необходимо соединить оценки текущего состояния с входным портом x[k|k]. Если ваши диспетчеры кандидата используют оценку состояния по умолчанию, необходимо соединить сигнал с входным портом mo.
Когда вы используете пользовательскую оценку состояния, у всех контроллеров кандидата должны быть те же размерности. Все диспетчеры кандидата должны использовать те же определения состояния (номер и порядок состояний) для их соответствующего объекта, воздействия и моделей шума измерения.
Чтобы включить этот порт, выберите параметр Use custom state estimation instead of using the built-in Kalman filter.
ymin
— Минимальные ограничения выходной переменнойМинимальные ограничения выходной переменной, заданные как вектор-строка, который содержит Ny конечные значения, где Ny является количеством выходных параметров. Каждый элемент задает нижнюю границу для выходной переменной. i
элемент th ymin заменяет OutputVariables(i).Min
свойство контроллера во время выполнения.
Если выходной переменной не задали нижнюю границу в объекте контроллера, то соответствующее связанное значение сигналов проигнорировано.
Если этот параметр не выбран, блок использует постоянные ограничительные значения, сохраненные в его mpc
объект.
Вы не можете задать изменяющиеся во времени ограничения во время выполнения с помощью матричного сигнала.
Если OutputVariables(i).Min
свойство контроллера задано как вектор (то есть, ограничение варьируется по горизонту прогноза), i
элемент th ymin заменяет первую конечную запись в этом векторе и остающийся сдвиг значений, чтобы сохранить тот же ограничительный профиль.
Чтобы включить этот порт, выберите параметр Lower OV limits.
ymax
— Максимальные ограничения выходной переменнойМаксимальные ограничения выходной переменной, заданные как вектор-строка, который содержит Ny конечные значения, где Ny является количеством выходных параметров. Каждый элемент задает верхнюю границу для выходной переменной. i
элемент th ymax заменяет OutputVariables(i).Max
свойство контроллера во время выполнения.
Если выходной переменной не задали верхнюю границу в объекте контроллера, то соответствующее связанное значение сигналов проигнорировано.
Если этот параметр не выбран, блок использует постоянные ограничительные значения, сохраненные в его mpc
объект.
Вы не можете задать изменяющиеся во времени ограничения во время выполнения с помощью матричного сигнала.
Если OutputVariables(i).Max
свойство контроллера задано как вектор (то есть, ограничение варьируется по горизонту прогноза), i
элемент th ymax заменяет первую конечную запись в этом векторе и остающийся сдвиг значений, чтобы сохранить тот же ограничительный профиль.
Чтобы включить этот порт, выберите параметр Upper OV limits.
umin
— Минимальные переменные ограничения, которыми управляют,Минимальные переменные ограничения, которыми управляют, заданные как вектор-строка, который содержит Nmv конечные значения, где Nmv является количеством переменных, которыми управляют. Каждый элемент задает нижнюю границу для переменной, которой управляют. i
элемент th umin заменяет ManipulatedVariables(i).Min
свойство контроллера во время выполнения.
Если переменной, которой управляют, не задали нижнюю границу в объекте контроллера, то соответствующее связанное значение сигналов проигнорировано.
Если этот параметр не выбран, блок использует постоянные ограничительные значения, сохраненные в его mpc
объект.
Вы не можете задать изменяющиеся во времени ограничения во время выполнения с помощью матричного сигнала.
Если ManipulatedVariables(i).Min
свойство контроллера задано как вектор (то есть, ограничение варьируется по горизонту прогноза), i
элемент th umin заменяет первую конечную запись в этом векторе и остающийся сдвиг значений, чтобы сохранить тот же ограничительный профиль.
Чтобы включить этот порт, выберите параметр Lower MV limits.
umax
— Максимальные переменные ограничения, которыми управляют,Максимальные переменные ограничения, которыми управляют, заданные как вектор-строка, который содержит Nmv конечные значения, где Nmv является количеством переменных, которыми управляют. Каждый элемент задает верхнюю границу для переменной, которой управляют. i
элемент th umax заменяет ManipulatedVariables(i).Max
свойство контроллера во время выполнения.
Если переменной, которой управляют, не задали верхнюю границу в объекте контроллера, то соответствующее связанное значение сигналов проигнорировано.
Если этот параметр не выбран, блок использует постоянные ограничительные значения, сохраненные в его mpc
объект.
Вы не можете задать изменяющиеся во времени ограничения во время выполнения с помощью матричного сигнала.
Если ManipulatedVariables(i).Max
свойство контроллера задано как вектор (то есть, ограничение варьируется по горизонту прогноза), i
элемент th umax заменяет первую конечную запись в этом векторе и остающийся сдвиг значений, чтобы сохранить тот же ограничительный профиль.
Чтобы включить этот порт, выберите параметр Upper MV limits.
y.wt
— Настраивающие веса выходной переменнойЧтобы задать переменную вывода во время выполнения настраивающиеся веса, включите этот входной порт. Если этот порт отключен, блок использует настраивающиеся веса, заданные в Weights.OutputVariables
свойство его объекта контроллера. Эти настраивающие веса штрафуют отклонения от выходных ссылок.
Если диспетчер MPC возражает, использует постоянные выходные настраивающие веса по горизонту прогноза, можно задать только постоянные выходные настраивающие веса во времени выполнения. Точно так же, если диспетчер MPC возражает использованию выходные настраивающие веса, которые варьируются по горизонту прогноза, можно задать только изменяющиеся во времени выходные настраивающие веса во времени выполнения
Чтобы использовать постоянные настраивающие веса по горизонту прогноза, соедините y.wt с сигналом вектора-строки с элементами Ny, где Ny является количеством выходных параметров. Каждый элемент задает неотрицательный настраивающий вес для выходной переменной. Для получения дополнительной информации об определении настраивающихся весов смотрите Веса Мелодии.
Чтобы варьироваться настраивающиеся веса по горизонту прогноза со времени k +1 ко времени k +p, соедините y.wt с матричным сигналом со столбцами Ny и до строк p. Здесь, k является текущим временем, и p является горизонтом прогноза. Каждая строка содержит настраивающиеся веса для одного шага горизонта прогноза. Если вы задаете меньше, чем строки p, настраивающиеся веса в итоговой строке запрашивают остаток от горизонта прогноза. Для получения дополнительной информации о различных весах по горизонту прогноза смотрите Изменяющиеся во времени Веса и Ограничения.
Чтобы включить этот порт, выберите параметр OV weights.
u.wt
— Переменные настраивающие веса, которыми управляют,Задавать время выполнения управляло переменными настраивающими весами, включите этот входной порт. Если этот порт отключен, блок использует настраивающиеся веса, заданные в Weights.ManipulatedVariables
свойство его объекта контроллера. Эти настраивающие веса штрафуют отклонения от целей мВ.
Если диспетчер MPC возражает, использует постоянные переменные настраивающие веса, которыми управляют, по горизонту прогноза, можно задать только постоянные переменные настраивающие веса, которыми управляют, во времени выполнения. Точно так же, если контроллер MPC, объектное использование управляло переменными настраивающими весами, которые варьируются по горизонту прогноза, можно задать только изменяющиеся во времени переменные настраивающие веса, которыми управляют, во времени выполнения
Чтобы использовать те же настраивающие веса по горизонту прогноза, соедините u.wt с сигналом вектора-строки с элементами Nmv, где Nmv является количеством переменных, которыми управляют. Каждый элемент задает неотрицательный настраивающий вес для переменной, которой управляют. Для получения дополнительной информации об определении настраивающихся весов смотрите Веса Мелодии.
Чтобы варьироваться настраивающиеся веса по горизонту прогноза со времени k ко времени k +p-1, соедините u.wt с матричным сигналом со столбцами Nmv и до строк p. Здесь, k является текущим временем, и p является горизонтом прогноза. Каждая строка содержит настраивающиеся веса для одного шага горизонта прогноза. Если вы задаете меньше, чем строки p, настраивающиеся веса в итоговой строке запрашивают остаток от горизонта прогноза. Для получения дополнительной информации о различных весах по горизонту прогноза смотрите Изменяющиеся во времени Веса и Ограничения.
Чтобы включить этот порт, выберите параметр MV weights.
du.wt
— Настраивающие веса с плавающей ставкой, которыми управляют,Задавать время выполнения управляло настраивающими весами с плавающей ставкой, включите этот входной порт. Если этот порт отключен, блок использует настраивающиеся веса, заданные в Weights.ManipulatedVariablesRate
свойство его объекта контроллера. Эти настраивающие веса штрафуют большие изменения в перемещениях управления.
Если диспетчер MPC возражает, использует постоянные настраивающие веса с плавающей ставкой, которыми управляют, по горизонту прогноза, можно задать только постоянные переменные настраивающие веса уровня, которыми управляют, во времени выполнения. Точно так же, если диспетчер MPC возражает использованию настраивающие веса с плавающей ставкой, которыми управляют, которые варьируются по горизонту прогноза, можно задать только изменяющиеся во времени настраивающие веса с плавающей ставкой, которыми управляют, во времени выполнения
Чтобы использовать те же настраивающие веса по горизонту прогноза, соедините du.wt с сигналом вектора-строки с элементами Nmv, где Nmv является количеством переменных, которыми управляют. Каждый элемент задает неотрицательный настраивающий вес для плавающего курса, которым управляют. Для получения дополнительной информации об определении настраивающихся весов смотрите Веса Мелодии.
Чтобы варьироваться настраивающиеся веса по горизонту прогноза со времени k ко времени k +p-1, соедините du.wt с матричным сигналом со столбцами Nmv и до строк p. Здесь, k является текущим временем, и p является горизонтом прогноза. Каждая строка содержит настраивающиеся веса для одного шага горизонта прогноза. Если вы задаете меньше, чем строки p, настраивающиеся веса в итоговой строке запрашивают остаток от горизонта прогноза. Для получения дополнительной информации о различных весах по горизонту прогноза смотрите Изменяющиеся во времени Веса и Ограничения.
Чтобы включить этот порт, выберите параметр MVRate weights.
ecr.wt
— Ослабьте переменный настраивающий весЧтобы задать время выполнения ослабляют переменный настраивающий вес, включают этот входной порт и соединяют скалярный сигнал. Если этот порт отключен, блок использует настраивающийся вес, заданный в Weights.ECR
свойство его объекта контроллера.
Слабый переменный настраивающий вес не оказывает влияния, если ваш объект контроллера не задает мягкие ограничения, чьи связанные значения ECR являются ненулевыми. Если существуют мягкие ограничения, увеличивание значения ecr.wt делает эти ограничения относительно тяжелее. Контроллер затем помещает более высокий приоритет в минимизацию величины предсказанного ограничительного нарушения худшего случая.
Чтобы включить этот порт, выберите параметр ECR weight.
mv
— Оптимальное действие управления переменными, которым управляют,Оптимальное действие управления переменными, которым управляют, выход как сигнал вектор-столбца длины Nmv, где Nmv является количеством переменных, которыми управляют. Блок Multiple MPC Controllers передает выход активного контроллера к выходному порту mv.
Если решатель активного контроллера сходится к решению для локального оптимума (qp.status положителен), то mv содержит оптимальное решение.
Если решатель перестал работать (qp.status отрицателен), то mv остается в своем новом успешном решении; то есть, контроллер вывел замораживания.
Если решатель достигает максимального количества итераций, не находя оптимальное решение (qp.status является нулем), и Optimization.UseSuboptimalSolution
свойство активного контроллера:
true
, затем mv содержит субоптимальное решение
false
, затем mv затем mv остается в его новом успешном решении
cost
— Целевая функция стоитсяСтоимость целевой функции, выход как неотрицательный скалярный сигнал. Стоимость определяет количество степени, до которой контроллер достиг ее целей. Величина затрат вычисляется с помощью масштабированной функции стоимости MPC, в которой каждый термин является без смещений и безразмерным.
Величина затрат только значима, когда qp.status выход является неотрицательным.
Чтобы включить этот порт, выберите параметр Optimal cost.
qp.status
— Состояние OptimizationСостояние Optimization активного контроллера, выход как целочисленный сигнал.
Если активный контроллер решает задачу QP для данного интервала контроля, qp.status, выход возвращает количество итераций решателя QP, используемых в расчете. Это значение является конечным, положительным целым числом и пропорционально времени, требуемому для вычислений. Поэтому большое значение означает относительно медленное выполнение блока для этого временного интервала.
Решатель QP может не найти оптимальное решение по следующим причинам:
qp.status = 0
— Решатель QP не может найти решение в максимальном количестве итераций заданным в mpc
объект. В этом случае, если Optimizer.UseSuboptimalSolution
свойством активного контроллера является false
, блок содержит свой mv выход в новом успешном решении. В противном случае это использует субоптимальное решение, найденное во время последней итерации решателя.
qp.status = -1
— Решатель QP обнаруживает неосуществимую проблему QP. Смотрите Контролирующее Состояние Оптимизации, чтобы Обнаружить Отказы контроллера для примера, где большое, длительное воздействие управляет выходной переменной вне своих заданных границ. В этом случае блок содержит свой mv выход в новом успешном решении.
qp.status = -2
— Решатель QP столкнулся с числовыми трудностями при решении сильно плохо обусловленной задачи QP. В этом случае блок содержит свой mv выход в новом успешном решении.
В приложении реального времени можно использовать qp.status, чтобы поставить будильник или принять другие специальные меры.
Чтобы включить этот порт, выберите параметр Optimization status.
est.state
— Предполагаемые состояния контроллераПредполагаемые состояния контроллера активного контроллера, выход как векторный сигнал. Предполагаемые состояния включают объект, воздействие и шумовые состояния модели.
Чтобы включить этот порт, выберите параметр Estimated controller states.
mv.seq
— Оптимальная переменная последовательность, которой управляют,Оптимальная переменная последовательность, которой управляют, возвращенная как матричный сигнал с p +1 строка и столбцы Nmv, где p является горизонтом прогноза и Nmv, является количеством переменных, которыми управляют.
Первые строки p mv.seq содержат расчетные оптимальные значения переменных, которыми управляют, с текущего времени k ко времени k +p-1. Первая строка mv.seq содержит текущие значения переменных, которыми управляют (выход mv). Поскольку контроллер не вычисляет перемещения оптимального управления во время k +p, итоговые две строки mv.seq идентичны.
Чтобы включить этот порт, выберите параметр Optimal control sequence.
x.seq
— Оптимальная модель прогноза утверждает последовательностьОптимальная модель прогноза утверждает последовательность, возвращенный как матричный сигнал с p +1 столбец строк и Nx, где p является горизонтом прогноза и Nx, является количеством состояний.
Первые строки p x.seq содержат расчетные оптимальные значения состояния с текущего времени k ко времени k +p-1. Первая строка x.seq содержит текущие предполагаемые значения состояния. Поскольку контроллер не вычисляет оптимальные состояния во время k +p, итоговые две строки x.seq идентичны.
Чтобы включить этот порт, выберите параметр Optimal state sequence.
y.seq
— Оптимальная последовательность выходной переменнойОптимальная последовательность выходной переменной, возвращенная как матричный сигнал с p +1 строка и столбцы Ny, где p является горизонтом прогноза и Ny, является количеством выходных переменных.
Первые строки p y.seq содержат расчетные оптимальные выходные значения с текущего времени k ко времени k +p-1. Первая строка y.seq вычисляется на основе текущих предполагаемых состояний и текущих измеренных воздействий (первая строка входа md). Поскольку контроллер не вычисляет оптимальные выходные значения во время k +p, итоговые две строки y.seq идентичны.
Чтобы включить этот порт, выберите параметр Optimal output sequence.
Cell Array of MPC Controllers
— Контроллеры кандидатаmpc
объекты | массив ячеек строк | массив ячеек из символьных векторовКонтроллеры кандидата, заданные как одно из следующего:
Заданный массив должен содержать по крайней мере два контроллера кандидата. Первая запись в массиве ячеек является контроллером, который соответствует входному значению переключателя 1, второе соответствует входному значению переключателя 2 и так далее.
Параметры блоков:
mpcobjs |
Ввод: строка, вектор символов, массив ячеек строк, массива ячеек из символьных векторов |
Значение по умолчанию:
"" |
Cell Array of Initial Controller States
— Начальное состояниеmpcstate
объекты | массив ячеек строк | массив ячеек из символьных векторовНачальные состояния для контроллеров кандидата, заданных как одно из следующего:
Массив ячеек mpcstate
объекты.
Массив ячеек строк или массива ячеек из символьных векторов, где каждый элемент является именем mpcstate
объект в рабочем пространстве MATLAB.
{[],[],...}
, {'[]','[]',...}
, или {"[]","[]",...}
— Используйте номинальное условие, заданное в Model.Nominal
свойство каждого контроллера кандидата как его начальное состояние.
Использование этот параметр заставляет состояния контроллера отразить истинную среду объекта в начале вашей симуляции в меру вашего знания. Это начальные состояния может отличаться от номинальных состояний, заданных в mpc
объекты.
Если пользовательская оценка состояния включена, блок игнорирует параметр Cell Array of Initial Controller States.
Параметры блоков:
x0s |
Ввод: строка, вектор символов, массив ячеек строк, массива ячеек из символьных векторов |
Значение по умолчанию:
"" |
Measured disturbances
— Добавьте измеренный входной порт воздействияЕсли ваш контроллер измерил воздействия, необходимо выбрать этот параметр, чтобы добавить выходной порт md в блок.
Параметры блоков:
md_inport_multiple |
Ввод: строка, вектор символов |
Значения:
"off" , "on" |
Значение по умолчанию:
"on" |
External manipulated variable
— Добавьте внешний порт ввода переменной, которым управляют,Выберите этот параметр, чтобы добавить входной порт ext.mv в блок.
Параметры блоков:
mv_inport_multiple |
Ввод: строка, вектор символов |
Значения:
"off" , "on" |
Значение по умолчанию:
"off" |
Targets for manipulated variables
— Добавьте переменный целевой входной порт, которым управляют,Выберите этот параметр, чтобы добавить входной порт mv.target в блок.
Параметры блоков:
uref_inport_multiple |
Ввод: строка, вектор символов |
Значения:
"off" , "on" |
Значение по умолчанию:
"off" |
Optimal cost
— Нечетный оптимальный выходной порт стоимостиВыберите этот параметр, чтобы добавить выходной порт cost в блок.
Параметры блоков:
return_cost_multiple |
Ввод: строка, вектор символов |
Значения:
"off" , "on" |
Значение по умолчанию:
"off" |
Optimization status
— Добавьте выходной порт состояния оптимизацииВыберите этот параметр, чтобы добавить выходной порт qp.status в блок.
Параметры блоков:
return_qpstatus_multiple |
Ввод: строка, вектор символов |
Значения:
"off" , "on" |
Значение по умолчанию:
"off" |
Estimated controller states
— Добавьте оцененный выходной порт состоянийВыберите этот параметр, чтобы добавить выходной порт est.state в блок.
Параметры блоков:
return_state_multiple |
Ввод: строка, вектор символов |
Значения:
"off" , "on" |
Значение по умолчанию:
"off" |
Optimal control sequence
— Добавьте выходной порт последовательности оптимального управленияВыберите этот параметр, чтобы добавить выходной порт mv.seq в блок.
Параметры блоков:
return_mvseq_multiple |
Ввод: строка, вектор символов |
Значения:
"off" , "on" |
Значение по умолчанию:
"off" |
Optimal state sequence
— Добавьте оптимальный выходной порт последовательности состоянияВыберите этот параметр, чтобы добавить выходной порт x.seq в блок.
Параметры блоков:
return_xseq_multiple |
Ввод: строка, вектор символов |
Значения:
"off" , "on" |
Значение по умолчанию:
"off" |
Optimal output sequence
— Добавьте оптимальный выходной выходной порт последовательностиВыберите этот параметр, чтобы добавить выходной порт y.seq в блок.
Параметры блоков:
return_ovseq_multiple |
Ввод: строка, вектор символов |
Значения:
"off" , "on" |
Значение по умолчанию:
"off" |
Use custom state estimation instead of using the built-in Kalman filter
— Используйте пользовательский оценочный входной порт состоянияВыберите этот параметр, чтобы удалить входной порт mo и добавить входной порт x[k|k].
Параметры блоков:
state_inport_multiple |
Ввод: строка, вектор символов |
Значения:
"off" , "on" |
Значение по умолчанию:
"off" |
Lower OV limits
— Добавьте минимальный ограничительный входной порт OVВыберите этот параметр, чтобы добавить входной порт ymin в блок.
Параметры блоков:
ymin_inport_multiple |
Ввод: строка, вектор символов |
Значения:
"off" , "on" |
Значение по умолчанию:
"off" |
Upper OV limits
— Добавьте максимальный ограничительный входной порт OVВыберите этот параметр, чтобы добавить входной порт ymax в блок.
Параметры блоков:
ymax_inport_multiple |
Ввод: строка, вектор символов |
Значения:
"off" , "on" |
Значение по умолчанию:
"off" |
Lower MV limits
— Добавьте минимальный ограничительный входной порт мВВыберите этот параметр, чтобы добавить входной порт umin в блок.
Параметры блоков:
umin_inport_multiple |
Ввод: строка, вектор символов |
Значения:
"off" , "on" |
Значение по умолчанию:
"off" |
Upper MV limits
— Добавьте максимальный ограничительный входной порт мВВыберите этот параметр, чтобы добавить входной порт umax в блок.
Параметры блоков:
umax_inport_multiple |
Ввод: строка, вектор символов |
Значения:
"off" , "on" |
Значение по умолчанию:
"off" |
Custom constraints
— Добавьте пользовательские ограничительные входные портыВыберите этот параметр, чтобы добавить E, F, G и входные порты S с блоком.
Параметры блоков:
cc_inport_multiple |
Ввод: строка, вектор символов |
Значения:
"off" , "on" |
Значение по умолчанию:
"off" |
OV weights
— Добавьте OV настраивающийся входной порт весовВыберите этот параметр, чтобы добавить входной порт y.wt в блок.
Параметры блоков:
ywt_inport_multiple |
Ввод: строка, вектор символов |
Значения:
"off" , "on" |
Значение по умолчанию:
"off" |
MV weights
— Добавьте мВ, настраивающий входной порт весовВыберите этот параметр, чтобы добавить входной порт u.wt в блок.
Параметры блоков:
uwt_inport_multiple |
Ввод: строка, вектор символов |
Значения:
"off" , "on" |
Значение по умолчанию:
"off" |
MVRate weights
— Добавьте уровень мВ, настраивающий входной порт весовВыберите этот параметр, чтобы добавить входной порт du.wt в блок.
Параметры блоков:
duwt_inport_multiple |
Ввод: строка, вектор символов |
Значения:
"off" , "on" |
Значение по умолчанию:
"off" |
Slack variable weight
— Добавьте ECR настраивающийся входной порт весаВыберите этот параметр, чтобы добавить входной порт ecr.wt в блок.
Параметры блоков:
rhoeps_inport_multiple |
Ввод: строка, вектор символов |
Значения:
"off" , "on" |
Значение по умолчанию:
"off" |
Inherit sample time
— Наследуйте шаг расчета блока от родительской подсистемыВыберите этот параметр, чтобы наследовать шаг расчета родительской подсистемы как шаг расчета блока. Выполнение так позволяет вам условно выполнять этот блок в блоки Triggered Subsystem или Function-Call Subsystem. Для примера смотрите Используя диспетчера MPC Блока В Вызове функции и Инициированных Подсистемах.
Необходимо выполнить Function-Call Subsystem или блоки Triggered Subsystem на уровне частоты дискретизации контроллера. В противном случае вы видите неожиданные результаты.
Чтобы просмотреть шаг расчета блока, в Редакторе Simulink®, выбирают Display > Sample Time. Выберите Colors, Annotations или All. Для получения дополнительной информации, информация о Шаге расчета вида на море (Simulink).
Параметры блоков:
SampleTimeInherited_multiple |
Ввод: строка, вектор символов |
Значения:
"off" , "on" |
Значение по умолчанию:
"off" |
Поведение изменяется в R2018b
Размерности сигнала mv.seq
выходной порт блока Multiple MPC Controllers изменился. Ранее этим сигналом был p-by-Nmv матрица, где p является горизонтом прогноза, и Nmv является количеством переменных, которыми управляют. Теперь mv.seq
(p +1)-by-Nmv матрица, где строка p +1 строка копий p.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.