Сохраните и восстановите рабочую точку симуляции

Примечание

В R2019a, SimState объект был переименован в ModelOperatingPoint.

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

  1. Симулируйте фазу запуска однажды.

  2. Сохраните снимок состояния симуляции в конце фазы запуска.

  3. Используйте этот снимок состояния в качестве начального состояния для каждого набора условий или маневров.

Используйте ModelOperatingPoint возразите, чтобы сохранить снимок состояния симуляции. Если вы сохраняете снимок состояния, в будущих симуляциях, восстанавливаете ModelOperatingPoint объект и использование это, чтобы установить начальные условия.

ModelOperatingPoint объект содержит информацию о:

  • Регистрируемые состояния

  • Состояние решателя и механизма выполнения

  • Пересечение нулем сигнализирует для блоков о том нуле регистра пересечения

  • Выходные значения определенных блоков в модели

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

ModelOperatingPoint возразите также хранит скрытые состояния этих блоков:

  • Transport Delay

  • Variable Transport Delay

  • From Workspace

  • Для Каждой подсистемы

  • Условно выполняемые подсистемы

  • Stateflow

  • MATLAB System

  • Второе поколение Simscape™ Multibody™

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

Преимущества Использования рабочей точки

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

  • Можно сохранить несколько рабочих точек во время симуляции, затем возобновить симуляцию от любой из тех рабочих точек.

  • ModelOperatingPoint возразите восстанавливает состояние блоков, которые обычно затрудняют, чтобы восстановить к конкретному состоянию, например, Транспортному блоку задержки. Состояние блока Transport Delay не сохранено в формате структуры или формате массивов когда вы данные логов с помощью параметра конфигурации Final states.

Можно также использовать опцию Final states в Параметрах конфигурации панель Data Import/Export, чтобы сохранить состояние симуляции. Однако эта опция сохраняет только регистрируемые состояния — непрерывные и дискретные состояния блоков. Эти состояния являются только подмножествами полного состояния симуляции модели. Они не включают информацию о скрытых состояниях блоков, которые потребовали для соответствующего выполнения блока.

Сохраните рабочую точку

Сохраните рабочую точку в начале последнего шага с помощью одной из этих опций:

  • В итоговом Stop time.

  • Когда вы прерываете симуляцию с кнопкой Pause или Stop. Можно также сохранить рабочую точку, когда вы приостанавливаете симуляцию с помощью get_param('modelName','CurrentOperatingPoint').

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

Интерактивное сохранение

  1. В диалоговом окне Configuration Parameters, в панели Data Import/Export, устанавливают флажок Final states. Флажок Save final Operating Point становится доступным.

  2. Установите флажок Save final Operating Point.

  3. В текстовом поле Final states введите имя переменной для ModelOperatingPoint объект.

  4. Симулируйте модель.

Программируемое сохранение

Используйте sim команда с set_param. Установите SaveOperatingPoint параметр к 'on'.

fuelsys
set_param('fuelsys','SaveFinalState','on','FinalStateName',...
'myOperPoint','SaveOperatingPoint','on');
simOut = sim('fuelsys','StopTime','10')
myOperPoint = simOut.myOperPoint

Совет

Прежде чем вы сохраните рабочую точку, отключите параметр Block Reduction в Configuration Settings> Simulation Target> Advanced Parameters.

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

Восстановите снимок состояния симуляции с помощью ModelOperatingPoint объект после изменения модели. Start time не изменяется от значения в симуляции, которая сгенерировала рабочую точку. Это - ссылочное значение навсегда и зависящие от времени переменные и в оригинале и в текущей симуляции. Например, блок может сохранить и восстановить количество хитов шага расчета, которые произошли с начала симуляции как ее ModelOperatingPoint объект.

Рассмотрите модель, которую вы запустили от 0 to100 s и что вы теперь хотите запуститься с 100 до 200 с. Start time составляет 0 с и для исходной симуляции и для текущей симуляции. Начальное время текущей симуляции составляет 100 с. Кроме того, если блок имел 10 хитов шага расчета во время исходной симуляции, Simulink распознает, что следующий хит шага расчета является 11-м, относительно 0, не 100 с.

Примечание

Если вы изменяете Start time прежде, чем восстановить ModelOperatingPoint, Simulink перезаписывает Start time со значением, сохраненным в ModelOperatingPoint.

Интерактивное восстановление

  1. В диалоговом окне Configuration Parameters, в панели Data Import/Export, под Load from workspace, устанавливают флажок Initial state. Текстовое поле становится доступным.

  2. Введите имя переменной, содержащей ModelOperatingPoint в текстовом поле.

  3. Установите Stop time на значение, больше, чем время, в которое рабочая точка была сохранена.

Программируемое восстановление

Конфигурировать моделирование, чтобы восстановить рабочую точку что вы сохраненный в примере выше:

set_param('fuelsys','LoadInitialState','on','InitialState',...
'myOperPoint');
myOperPoint = simOut.myOperPoint

ModelOperatingPoint объект восстанавливается, когда вы симулируете модель.

Восстановите от различных версий Simulink

Можно использовать ModelOperatingPoint объекты, сохраненные в релизах начиная с R2010a, чтобы восстановить ModelOperatingPoint из модели. Однако эта опция восстанавливает только регистрируемые состояния модели. Видеть версию Simulink раньше сохраняло ModelOperatingPoint, исследуйте параметр version ModelOperatingPoint объект.

Simulink обнаруживает если ModelOperatingPoint возразите, что вы обеспечили, когда начальное состояние было сохранено в текущем релизе. По умолчанию Simulink отображает сообщение об ошибке если ModelOperatingPoint не было сохранено в текущем релизе. Можно сконфигурировать диагностику, чтобы позволить Simulink отображать сообщение как предупреждение и попытку восстановить как можно больше значений. Чтобы включить это восстановление максимальных усилий, в диалоговом окне Configuration Parameters устанавливает сообщение для Operating Point object from earlier release к warning. Ранее названный SimState объекты загружаются как ModelOperatingPoint объекты в 19a.

Похожие темы