Эта тема показывает, как линеаризовать модели Simulink® с помощью MPC Designer. Для этого откройте приложение из модели Simulink, которая содержит блок MPC Controller. В данном примере используйте CSTR_ClosedLoop
модель.
sys = 'CSTR_ClosedLoop';
open_system(sys)
В окне модели дважды кликните блок MPC Controller.
В диалоговом окне Block Parameters гарантируйте, что поле MPC Controller пусто, и нажмите Design, чтобы открыть MPC Designer.
Используя MPC Designer, можно задать структуру MPC путем линеаризации модели Simulink. После того, как вы зададите начальную структуру MPC, можно также линеаризовать модель в различных рабочих точках и импортировать линеаризовавшие объекты.
Если контроллер из рабочей области MATLAB® задан в поле MPC Controller, приложение импортирует заданный контроллер. В этом случае структура MPC выведена от импортированного диспетчера. В этом случае можно все еще линеаризовать модель Simulink и импортировать линеаризовавшие объекты.
В этом примере показано, как задать структуру ввода/вывода объекта в 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.
Выберите Plant Input/Output Signals
Прежде, чем линеаризовать модель, присвойте линии Сигнала Simulink каждому типу сигнала MPC в вашей модели. Приложение использует эти сигналы в качестве вводов и выводов линеаризации.
В Simulink Signals for Plant Inputs и разделах Simulink Signals for Plant Outputs, Block Path автоматически задан для переменных, которыми управляют, измерил выходные параметры и измерил воздействия. MPC Designer обнаруживает эти сигналы, поскольку они соединяются с блоком MPC Controller. Если ваше приложение имеет неизмеренные воздействия или неизмеренные выходные параметры, выберите их соответствующие линии Сигнала Simulink.
Чтобы выбрать тип сигнала, используйте переключатели Selected.
Нажмите Select Signals.
В окне модели Simulink кликните по сигнальной линии, соответствующей выбранному типу сигнала.
Сигнал подсвечен, и его блок path добавляется к диалоговому окну сигналов Выбора.
В диалоговом окне сигналов Выбора нажмите Add Signal(s).
В диалоговом окне Define MPC Structure By Linearization, 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.
Выберите Plant Input/Output Signals
В 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).
Чтобы линеаризовать модель с помощью начальных условий, заданных в модели Simulink как рабочая точка, выберите Model Initial Condition.
Начальным условием модели является рабочая точка по умолчанию для линеаризации в MPC Designer.
Чтобы линеаризовать модель в заданные времена снимка состояния симуляции, выберите Linearize At. Линеаризация во времена снимка состояния полезна, когда вы знаете, что ваша модель достигает состояния равновесия после определенного времени симуляции.
Во Ввести времена снимка состояния, чтобы линеаризовать диалоговое окно, в поле Simulation snapshot times, входят один или несколько раз снимка состояния симуляции. Войдите несколько раз снимка состояния как вектор.
Нажмите OK.
Если вы входите несколько раз снимка состояния, и вы выбрали Linearize At из:
Задайте диалоговое окно MPC Structure By Linearization, 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 Structure By Linearization, MPC Designer линеаризует модель с помощью только первую рабочую точку в массиве. Номинальная стоимость контроллера MPC задана с помощью значений сигналов ввода/вывода в этой рабочей точке.
Линеаризуйте диалоговое окно Simulink Model, MPC Designer линеаризует модель во всех рабочих точках в массиве. Линеаризовавшие модели объекта управления добавляются к Data Browser в том же порядке как массив рабочей точки.
В MPC Designer Linearize At и опции Take Simulation Snapshot обычно производят тот же линеаризовавший объект и номинальные значения сигналов. Однако, поскольку опция Take Simulation Snapshot сначала вычисляет рабочую точку из снимка состояния, прежде чем линеаризация, результаты смогут отличаться.
Под Existing Operating Points выберите ранее заданную рабочую точку, в которой можно линеаризовать модель Simulink. Эта опция доступна, если одна или несколько ранее созданных рабочих точек доступны в выпадающем списке.
Если выбранная рабочая точка представляет созданное использование массива рабочей точки несколько раз снимка состояния, и вы выбрали рабочую точку из:
Задайте диалоговое окно MPC Structure By Linearization, MPC Designer линеаризует модель с помощью только первую рабочую точку в массиве. Номинальная стоимость контроллера MPC задана с помощью значений сигналов ввода/вывода в этой рабочей точке.
Линеаризуйте диалоговое окно Simulink Model, MPC Designer линеаризует модель во всех рабочих точках в массиве. Линеаризовавшие модели объекта управления добавляются к Data Browser в том же порядке как массив рабочей точки.
Чтобы линеаризовать модель Simulink в нескольких существующих рабочих точках, выберите Linearize at Multiple Points. Эта опция доступна, если существует больше чем одна ранее созданная рабочая точка в выпадающем списке.
В Задавании нескольких диалогового окна рабочих точек выберите рабочие точки, в которых можно линеаризовать модель.
Чтобы изменить порядок рабочей точки, кликните по рабочей точке в списке и нажмите Up или Down, чтобы переместить подсвеченную рабочую точку в рамках списка.
Нажмите OK.
Если вы выбрали Linearize at Multiple Points из:
Задайте диалоговое окно MPC Structure By Linearization, MPC Designer линеаризует модель с помощью только первую заданную рабочую точку. Номинальная стоимость контроллера MPC задана с помощью значений сигналов ввода/вывода в этой рабочей точке.
Линеаризуйте диалоговое окно Simulink Model, MPC Designer линеаризует модель во всех заданных рабочих точках. Линеаризовавшие модели объекта управления добавляются к Data Browser в порядке, заданном в Задавании нескольких диалогового окна рабочих точек.
Чтобы просмотреть или отредактировать выбранную рабочую точку, под View/Edit, кликают по опции Edit.
В диалоговом окне Edit, если вы создали выбранную рабочую точку из снимка состояния симуляции, можно отредактировать значения рабочей точки.
Если выбранная рабочая точка представляет массив рабочей точки в Select Operating Point выпадающий список, выберите рабочую точку, чтобы просмотреть.
Если вы получили рабочую точку путем обрезки модели, можно только просмотреть значения рабочей точки.
Чтобы установить начальные условия модели Simulink к состояниям в рабочей точке, нажмите Initialize model. Можно затем симулировать модель в заданной рабочей точке.
При устанавливании начальных условий модели MPC Designer экспортирует рабочую точку в рабочее пространство MATLAB. Кроме того, в диалоговом окне Simulink Configuration Parameters, в разделе Data Import/Export, это выбирает Input и параметры Initial state и конфигурирует их, чтобы использовать состояния и входные параметры в экспортируемой рабочей точке.
Чтобы сбросить начальные условия модели, например, если вы удаляете экспортируемую рабочую точку, очищают параметры Initial state и Input.
Если ваша модель Simulink измерила сигналы воздействия, соедините их с соответствующими входными портами объекта и с md
порт блока MPC Controller. Если вы имеете несколько измеренных воздействий, соединяете их с MPC Controller с помощью векторного сигнала. Как обсуждено в Задают Структуру MPC Линеаризацией, MPC Designer автоматически обнаруживает измеренные воздействия, соединенные с блоком MPC Controller, и устанавливает их, когда объект вводит для линеаризации.
Начиная с измеренных воздействий, соединенных с md
порт выбран, когда линеаризация вводит, необходимо соединиться, объект измерил входные порты воздействия к выбранной сигнальной линии, как показано в следующем:
Правильная связь MD
Если вы соединяетесь, объект измерил входные порты воздействия к соответствующим сигналам перед блоком Mux, как показано в следующем, нет никакого пути к линеаризации от сигналов в md
порт к объекту. В результате, когда вы линеаризуете объект с помощью MPC Designer, измеренные каналы воздействия линеаризуют, чтобы обнулить.
Неправильная связь MD