Линеаризация моделей Simulink с помощью MPC Designer

В этой теме показано, как линеаризировать Simulink® моделирует с использованием MPC Designer. Для этого откройте приложение из модели Simulink, которая содержит блок MPC Controller. В данном примере используйте CSTR_ClosedLoop модель.

sys = 'CSTR_ClosedLoop';
open_system(sys)

В окне модели дважды кликните блок MPC Controller.

В диалоговом окне Параметров блоков убедитесь, что поле MPC Controller пусто, и нажмите Design, чтобы открыть MPC Designer.

Используя MPC Designer, можно задать структуру MPC путем линеаризации модели Simulink. После определения начальной структуры MPC можно также линеаризировать модель в различных рабочих точках и импортировать линеаризированные объекты.

Примечание

Если контроллер из MATLAB® рабочая область задана в поле MPC Controller, приложение импортирует указанный контроллер. В этом случае структура MPC определяется из импортированного контроллера. В этом случае все еще можно линеаризировать модель Simulink и импортировать линеаризированные объекты.

Определите структуру MPC путем линеаризации

В этом примере показано, как определить входную/выходную структуру объекта управления в MPC Designer путем линеаризации модели Simulink.

На вкладке MPC Designer, в разделе Structure, нажмите MPC Structure.

Задайте размерности сигнала

В диалоговом окне Define MPC Structure By Linearization, в разделе MPC Structure, если отображаемые размерности сигнала не соответствуют вашей модели, нажмите Change I/O Sizes, чтобы сконфигурировать размерности. Любые неизмеренные нарушения порядка или неизмеренные выходы в вашей модели не обнаруживаются блоком MPC Controller. Задайте размерности для этих сигналов.

Совет

В диалоговом окне MPC Controller Block Parameters, на вкладке Default Conditions, можно задать шаг расчета контроллера и размерности сигнала перед открытием MPC Designer.

Выбор входных/выходных сигналов объекта

Перед линеаризацией модели назначьте сигнальные линии Simulink каждому типу сигнала MPC в вашей модели. Приложение использует эти сигналы в качестве входов и выходов линеаризации.

В разделах Simulink Signals for Plant Inputs и Simulink Signals for Plant Outputs Block Path автоматически определяется для манипулируемых переменных, измеренных выходов и измеренных нарушений порядка. MPC Designer обнаруживает эти сигналы, так как они соединяются с блоком MPC Controller. Если ваше приложение имеет неизмеренные нарушения порядка или неизмеренные выходы, выберите соответствующие им сигнальные линии Simulink.

Чтобы выбрать тип сигнала, используйте кнопки опций Selected.

Нажмите Select Signals.

В окне модели щелкните сигнальную линию, соответствующую выбранному типу сигнала.

Сигнал подсвечивается, и его блочный путь добавляется в диалоговое окно Select signals.

В диалоговом окне Select signals нажмите Add Signal(s).

В диалоговом окне Define MPC Structure By Linearization (Задайте структуру MPC путем линеаризации) Block Path для выбранного типа сигнала обновляется.

Примечание

Если ваша модель имеет измеренные нарушения порядка, вы должны подключить соответствующие входы объекта к сигнальной линии, соединенной с md порт MPC Controller block. Для получения дополнительной информации смотрите Соединить измеренные нарушения порядка для линеаризации.

Задайте рабочую точку

В Simulink Operating Point разделе в раскрывающемся списке выберите рабочую точку, в которой можно линеаризировать модель.

Для получения информации о различных опциях рабочей точки см. Раздел «Определение рабочих точек».

Примечание

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

Определите структуру и линеаризируйте модель

Нажмите Define and Linearize.

Приложение линеаризирует модель Simulink в заданной рабочей точке с помощью заданных входных/выходных сигналов и добавляет линеаризированный объект к Data Browser.

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

MPC Designer использует входные / выходные значения сигналов в выбранной рабочей точке в качестве номинальных значений.

Линеаризация модели

После определения начальной структуры MPC можно линеаризировать модель Simulink в различных рабочих точках и импортировать линеаризированные объекты. Это полезно для проверки эффективности контроллера на соответствие ошибкам моделирования.

На вкладке MPC Designer, в разделе Import, нажмите Linearize Model.

Выбор входных/выходных сигналов объекта

В разделах Simulink Signals for Plant Inputs и Simulink Signals for Plant Outputs строение входного/выходного сигнала такая же, как вы задали при первоначальном определении структуры MPC.

Вы не можете изменить типы сигналов и размерности, когда структура была определена. Однако для каждого типа сигнала можно выбрать различные сигнальные линии из модели Simulink. Выбранные линии должны иметь те же размерности, что и в текущей структуре MPC.

Задайте рабочую точку

В Simulink Operating Point разделе в раскрывающемся списке выберите рабочие точки, в которых можно линеаризировать модель.

Для получения информации о различных опциях рабочей точки см. Раздел «Определение рабочих точек».

Линеаризация модели и импорт объекта

Нажмите Linearize and Import.

MPC Designer линеаризирует модель Simulink в заданной рабочей точке с помощью заданных входных/выходных сигналов и добавляет линеаризированный объект к Data Browser.

Если вы выбираете опцию Use selected operating point to update nominal values as well, приложение обновляет номинальные значения контроллера, используя значения сигналов рабочей точки.

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

Определение рабочих точек

В Simulink Operating Point разделе в раскрывающемся списке можно выбрать или создать рабочие точки для линеаризации модели. Для получения дополнительной информации о нахождении статических рабочих точек смотрите О рабочих точках (Simulink Control Design) и Вычислении статических рабочих точек из спецификаций (Simulink Control Design).

При использовании MPC Designer в Online™ MATLAB необходимо линеаризировать модель в начальных условиях модели.

Выберите начальное условие модели

Чтобы линеаризировать модель с помощью начальных условий, заданных в модели Simulink в качестве рабочей точки, выберите Model Initial Condition.

Начальное условие модели является рабочей точкой по умолчанию для линеаризации в MPC Designer.

Линеаризация во время симуляции снимка

Чтобы линеаризировать модель при заданном времени моментального снимка симуляции, выберите Linearize At. Линеаризация во времени моментального снимка полезна, когда вы знаете, что ваша модель достигает равновесного состояния после определенного времени симуляции.

В диалоговом окне Ввод времени моментального снимка для линеаризации, в поле Simulation snapshot times, введите одно или несколько раз моментального снимка симуляции. Введите несколько моментальных снимков в качестве вектора.

Нажмите OK.

Если вы вводите несколько моментальных снимков и выбрали Linearize At из:

  • Задайте структуру MPC путем линеаризации, MPC Designer линеаризирует модель, используя только время первого снимка. Номинальные значения контроллера MPC определяются с помощью входных/выходных значений сигналов для этого моментального снимка.

  • Линеаризируйте диалоговое окно Simulink Model, MPC Designer линеаризирует модель во все заданные моменты времени. Линеаризированные модели объекта управления добавляются к Data Browser в порядке, заданном во временном массиве моментальных снимков. Если вы выбрали опцию Use selected operating point to update nominal values as well, номинальные значения устанавливаются с помощью значений сигналов ввода/вывода из первого снимка.

Вычисление установившейся рабочей точки

Чтобы вычислить установившуюся рабочую точку с помощью численных методов оптимизации, чтобы соответствовать вашим спецификациям, выберите Trim Model.

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

Нажмите Start Trimming.

MPC Designer создает рабочую точку для заданных спецификаций. Вычисленная рабочая точка добавляется в раскрывающийся список Simulink Operating Point и выбирается.

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

Вычисление рабочей точки во времени моментального снимка симуляции

Чтобы вычислить рабочие точки с помощью снимков симуляции, выберите Take Simulation Snapshot. Линеаризация модели использование рабочих точек, вычисленных из моментальных снимков симуляции, полезна, когда вы знаете, что ваша модель достигает равновесного состояния после определенного времени симуляции.

В диалоговом окне Ввод времени моментального снимка для линеаризации, в поле Simulation snapshot times, введите одно или несколько раз моментального снимка симуляции. Введите несколько моментальных снимков в качестве вектора.

Нажмите Take Snapshots.

MPC Designer моделирует модель Simulink. В каждом моментальном снимке текущее состояние модели используется для создания рабочей точки, которая добавляется в выпадающий список и выбирается.

Если вы ввели несколько моментальных снимков, рабочие точки сохраняются вместе как массив. Если вы выбрали Take Simulation Snapshot из:

  • Задайте структуру MPC путем линеаризации, MPC Designer линеаризирует модель, используя только первую рабочую точку массива. Номинальные значения контроллера MPC определяются с помощью входных / выходных значений сигналов для этой рабочей точки.

  • Линеаризируйте диалоговое окно Simulink Model, MPC Designer линеаризирует модель во всех рабочих точках массива. Линеаризированные модели объекта управления добавляются к Data Browser в том же порядке, что и массив рабочих точек.

В MPC Designer, опции Linearize At и Take Simulation Snapshot обычно производят одинаковые линеаризированные значения объекта и номинальных сигналов. Однако, поскольку опция Take Simulation Snapshot сначала вычисляет рабочую точку из моментального снимка перед линеаризацией, результаты могут отличаться.

Выберите существующую рабочую точку

В разделе Existing Operating Points выберите ранее заданную рабочую точку, в которой можно линеаризировать модель Simulink. Эта опция доступна, если одна или несколько ранее созданных рабочих точек доступны в раскрывающемся списке.

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

  • Задайте структуру MPC путем линеаризации, MPC Designer линеаризирует модель, используя только первую рабочую точку массива. Номинальные значения контроллера MPC определяются с помощью входных / выходных значений сигналов для этой рабочей точки.

  • Линеаризируйте диалоговое окно Simulink Model, MPC Designer линеаризирует модель во всех рабочих точках массива. Линеаризированные модели объекта управления добавляются к Data Browser в том же порядке, что и массив рабочих точек.

Выберите несколько рабочих точек

Чтобы линеаризировать модель Simulink в нескольких существующих рабочих точках, выберите Linearize at Multiple Points. Эта опция доступна, если в раскрывающемся списке имеется несколько ранее созданных рабочих точек.

В диалоговом окне Задать несколько рабочих точек выберите рабочие точки, в которых можно линеаризировать модель.

Чтобы изменить порядок рабочей точки, щелкните рабочую точку в списке и щелкните Up или Down, чтобы переместить подсвеченную рабочую точку в список.

Нажмите OK.

Если вы выбрали Linearize at Multiple Points из:

  • Задайте структуру MPC путем линеаризации, MPC Designer линеаризирует модель, используя только первую заданную рабочую точку. Номинальные значения контроллера MPC определяются с помощью входных / выходных значений сигналов для этой рабочей точки.

  • Линеаризируйте диалоговое окно Simulink Model, MPC Designer линеаризирует модель во всех заданных рабочих точках. Линеаризированные модели объекта управления добавляются к Data Browser в порядке, заданном в диалоговом окне Задать несколько рабочих точек.

Просмотр/редактирование рабочей точки

Чтобы просмотреть или отредактировать выбранную рабочую точку, в разделе View/Edit щелкните Edit опции.

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

Если выбранная рабочая точка представляет массив рабочих точек, в раскрывающемся списке Select Operating Point выберите рабочую точку для просмотра.

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

Чтобы задать начальные условия модели Simulink состояниям в рабочей точке, нажмите Initialize model. Затем можно симулировать модель в заданной рабочей точке.

При установке начальных условий модели MPC Designer экспортирует рабочую точку в рабочее пространство MATLAB. Кроме того, в диалоговом окне Параметров конфигурации Simulink, в разделе Data Import/Export, он выбирает параметры Input и Initial state и конфигурирует их, чтобы использовать состояния и входы в экспортированной рабочей точке.

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

Соедините измеренные нарушения порядка для линеаризации

Если ваша модель Simulink имеет измеренные сигналы нарушения порядка, соедините их с соответствующими входными портами объекта и с md порт блока MPC Controller. Если у вас есть несколько измеренных нарушений порядка, соедините их с MPC Controller с помощью сигнала вектора. Как обсуждалось в разделе Define MPC Structure By Linearization, MPC Designer автоматически обнаруживает измеренные нарушения порядка, соединенные с блоком MPC Controller, и устанавливает их в качестве входных параметров объекта для линеаризации.

Поскольку измеренные нарушения порядка соединяются с md порт выбран в качестве входных параметров линеаризации, необходимо подключить входные порты измеренного нарушения порядка объекта к выбранной сигнальной линии, как показано на следующем:

Правильное соединение MD

Если вы соединяете входные порты измеренного нарушения порядка объекта к соответствующим сигналам перед блоком Mux, как показано на следующем, пути линеаризации от сигналов в md нет порт на объект. В результате, когда вы линеаризируете объект с помощью MPC Designer, измеренные каналы нарушения порядка линеаризируются до нуля.

Неправильное соединение MD

См. также

Похожие темы