Несколько явных контроллеров MPC

Моделируйте переключение между несколькими явными контроллерами MPC

Библиотека

Библиотека Simulink MPC

Описание

Блок Multiple Explicit MPC Controllers использует следующие входные сигналы:

  • Измеренный объект выходные параметры (mo)

  • Ссылка или заданное значение (ref)

  • Измеренное воздействие объекта (md), если любой

  • Переключение сигнала (switch)

Переключающийся сигнал выбирает активный контроллер из числа списка двух или больше контроллеров кандидата. Однако для блока Multiple Explicit MPC Controllers, кандидаты являются явными диспетчерами MPC. Эти контроллеры уменьшают онлайновое вычислительное усилие при помощи закона о надзоре поиска по таблице во время каждого интервала управления вместо того, чтобы решить квадратичную программу. Для получения дополнительной информации смотрите Явный Контроллер MPC.

Блок Multiple Explicit MPC Controllers позволяет переходу между несколькими явными контроллерами MPC в режиме реального времени на основе текущих условий работы. Как правило, вы разрабатываете каждый контроллер для конкретной области операционного пробела. Используя доступные измерения, вы обнаруживаете текущую операционную область и выбираете соответствующий активный контроллер через импорт switch.

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

Как для блока Multiple MPC Controllers, вы не можете отключить оценку для Нескольких Явных Контроллеров MPC. Один контроллер должен всегда быть активным.

Как блок Explicit MPC Controller, Несколько Явных Контроллеров MPC поддерживают только подмножество дополнительных функций MPC, как обрисовано в общих чертах в следующей таблице.

Поддерживавшие функцииНеподдерживаемые функции
  • Пользовательская оценка состояния (оценка состояния по умолчанию использует статический Фильтр Калмана),

  • Выходной порт для результатов оценки состояния

  • Внешняя переменная обратная связь, которой управляют, сигнализирует об импорте

  • Данные о блоке с одинарной точностью (значением по умолчанию является двойная точность),

  • Наследованный шаг расчета

  • Онлайн настраиваясь (корректировки веса штрафа)

  • Онлайновые ограничительные корректировки

  • Онлайн переменные целевые корректировки, которыми управляют,

  • Ссылка и/или измеренный предварительный просмотр воздействия

Диалоговое окно

Блок Multiple Explicit MPC Controller имеет следующие группировки параметра:

Параметры

Cell Array of Explicit MPC Controllers

Контроллеры кандидата, заданные как:

  • Массив ячеек Явного контроллера MPC объекты. Используйте команду generateExplicitMPC, чтобы создать эти объекты.

  • Массив ячеек из символьных векторов, где каждый элемент является именем явного контроллера MPC объект в рабочей области MATLAB®.

Заданный массив должен содержать по крайней мере два контроллера кандидата. Первая запись в массиве ячеек является контроллером, который соответствует входному значению переключателя 1, второе соответствует входному значению переключателя 2 и так далее.

Массив ячеек начальных состояний контроллера

Дополнительные начальные состояния для каждого контроллера кандидата, заданного как:

  • Массив ячеек объектов mpcstate.

  • Массив ячеек из символьных векторов, где каждый элемент является именем объекта mpcstate в рабочем пространстве MATLAB.

  • {[],[],...} или {'[]','[]',...} — Используйте номинальное условие, заданное в Model.Nominal как начальное состояние для каждого контроллера.

Требуемый Inports

Controller Selection

Входной сигнал switch должен быть скалярным целым числом между 1 и n c, где n c является количеством заданных контроллеров кандидата. В каждый момент управления этот сигнал определяет активный контроллер. Значение переключателя 1 соответствует первой записи в массиве ячеек контроллеров кандидата, значение 2 соответствует второму контроллеру и так далее.

Если сигнал switch за пределами области значений 1 и n c, предыдущий контроллер, вывод сохраняется.

Measured output или State estimate

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

Если ваши диспетчеры кандидата используют пользовательскую оценку состояния, проверяйте Use custom estimated states instead of measured outputs в раздел General. Проверка этой опции изменяет метку на этом импорте в x[k|k]. Соедините сигнал, обеспечивающий оценки состояния контроллера. (Состояние контроллера включает объект, воздействие и шумовые образцовые состояния.) Оценки предоставили во время, tk должен быть основан на измерениях и других доступных данных во время tk.

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

Reference

В каждый момент управления сигнал ref должен содержать текущие ссылочные значения (цели или заданные значения) для выходных переменных ny, где ny является общим количеством выходных параметров, включая измеренные и неизмеренные выходные параметры. Поскольку этот блок не поддерживает ссылочный предварительный просмотр, ref не может быть задан как матрица.

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

Переменные, которыми управляют,

Выходной порт mv обеспечивает сигнал, задающий nu1 переменные, которыми управляют, для управления объектом. Активный контроллер обновляет свой переменный вывод, которым управляют, в каждый момент управления использование закона о надзоре, содержавшегося в его явном контроллере MPC объект. Если оценка закона о надзоре перестала работать, этот сигнал неизменен; то есть, это сохранено в предыдущем успешном результате. Блок Multiple Explicit MPC Controller передает вывод активного контроллера к выходному порту mv.

Дополнительный Inports (общий раздел)

Измеренное воздействие

Добавьте импорт (md), с которым можно соединить векторный сигнал, содержащий элементы nmd, где nmd является количеством измеренных воздействий.

Поскольку этот блок не поддерживает измеренный предварительный просмотр воздействия, md не может быть задан как матрица.

Внешняя переменная, которой управляют,

Добавьте импорт (ext.mv), с которым вы соединяете векторный сигнал, который содержит фактические переменные, которыми управляют, (MV), используемые на объекте. Все диспетчеры кандидата используют этот сигнал обновить их оценки состояния контроллера в каждом интервале управления. Используя этот импорт улучшает точность оценки состояния, когда MVS, используемый на объекте, отличается от MVS, вычисленного блоком, например, должным сигнализировать о насыщении или условии переопределения.

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

Дополнительные выходные порты (общий раздел)

Состояние кусочной аффинной функциональной оценки

Добавьте выходной порт (status), который указывает ли последняя явная оценка закона о надзоре MPC, за которой следуют. Выходной порт обеспечивает скалярный сигнал, который имеет одно из следующих значений:

  • 1 — Успешная явная оценка закона о надзоре

  • 0 — Отказ: Один или несколько параметров закона о надзоре из области значений.

  • – 1 — Неопределенный: параметры Закона о надзоре были в допустимой области значений, но экстраполяция была необходима.

Если status или 0 или –1, выходной порт mv остается в последнем известном хорошем значении.

Количество области выполненной кусочной аффинной функции

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

Предполагаемый объект, воздействие и шумовые образцовые состояния

Добавьте выходной порт (est.state) для оценок состояния контроллера, x[k|k], в каждый момент управления. Эти оценки включают объект, воздействие и шумовые образцовые состояния.

Оценка состояния (общий раздел)

Используйте пользовательские предполагаемые состояния вместо измеренных выходных параметров

Замените mo на импорт x[k|k] для пользовательской оценки состояния, как описано в Необходимом Inports. Все диспетчеры кандидата должны использовать ту же опцию оценки состояния, или значение по умолчанию или пользовательский. Когда вы используете пользовательскую оценку состояния, у всех контроллеров кандидата должна быть та же размерность.

Раздел других

Блокируйте тип данных

Задайте тип данных блока переменных, которыми управляют, как одно из следующего:

  • 'double' Плавающая точка двойной точности (значение по умолчанию)

  • единственный Плавающая точка с одинарной точностью

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

Для примера симуляции с одинарной точностью и с двойной точностью и генерации кода для контроллера MPC, смотрите Симуляцию и Генерацию кода Используя Simulink Coder.

Чтобы просмотреть типы данных порта в модели, в Редакторе Simulink®, выбирают Display > Signals & Ports Port Data Types.

Наследуйте шаг расчета

Используйте шаг расчета родительской подсистемы как шаг расчета блока. Выполнение так позволяет вам условно выполнять этот блок в Подсистеме вызова функций или Инициированных блоках Subsystem. Для примера смотрите Используя диспетчера MPC Блока В Вызове функции и Инициированных Подсистемах.

Примечание

Необходимо выполнить Подсистему вызова функций или Инициированные блоки Subsystem на уровне частоты дискретизации контроллера. В противном случае вы видите неожиданные результаты.

Чтобы просмотреть шаг расчета блока, в Редакторе Simulink, выбирают Display > Sample Time. Выберите Colors, Annotations или All. Для получения дополнительной информации, информация о Шаге расчета вида на море (Simulink).

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

Генерация кода C/C++
Генерация кода C и C++ с помощью Simulink® Coder™.

Генерация кода PLC
Сгенерируйте код Структурированного текста с помощью Simulink® PLC Coder™.

Введенный в R2017b