exponenta event banner

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

Примечание

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

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

  1. Один раз смоделировать фазу запуска.

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

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

Используйте ModelOperatingPoint для сохранения снимка моделирования. После сохранения снимка в последующих моделированиях восстановите ModelOperatingPoint и использовать его для задания начальных условий.

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

  • Зарегистрированные состояния

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

  • Сигналы пересечения нуля для блоков, регистрирующих пересечения нуля

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

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

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

  • Задержка транспортировки

  • Переменная задержка транспортировки

  • Из рабочей области

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

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

  • Stateflow

  • Система MATLAB

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

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

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

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

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

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

Для сохранения состояния моделирования можно также использовать опцию Конечные состояния (Final states) на панели Импорт/экспорт данных параметров конфигурации (Configuration Parameters Data Import/Export). Однако эта опция сохраняет только протоколированные состояния - непрерывное и дискретное состояния блоков. Эти состояния являются только подмножествами полного состояния моделирования модели. Они не включают информацию о скрытых состояниях блоков, что требуется для правильного выполнения блока.

Сохранить операционную точку

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

  • В конечное время остановки.

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

  • При использовании set_param или блок, например блок «Стоп», для остановки моделирования.

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

  1. В диалоговом окне Параметры конфигурации (Configuration Parameters) на панели Импорт/экспорт данных (Data Import/Export) установите флажок Конечные состояния (Final states). Появится флажок Сохранить конечную операционную точку (Save final Operating Point).

  2. Установите флажок Сохранить конечную операционную точку.

  3. В текстовом поле «Конечные состояния» введите имя переменной для ModelOperatingPoint объект.

  4. Моделирование модели.

Сохранить и восстановить операционную точку

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

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

Чтобы настроить моделирование для восстановления сохраненной рабочей точки, используйте LoadInitialState. Simulink ® восстанавливает ModelOperatingPoint при моделировании модели.

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

Совет

Перед сохранением рабочей точки отключите параметр «Сокращение блока» в меню «Настройка» > «Цель моделирования» > «Дополнительные параметры».

Восстановить операционную точку

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

Рассмотрим модель, которая выполнялась от 0 до 100 с и которую теперь нужно запустить от 100 до 200 с. Время начала равно 0 с как для исходного моделирования, так и для текущего моделирования. Начальное время текущего моделирования составляет 100 с. Также, если блок во время первоначального моделирования имел 10 попаданий по времени выборки, Simulink распознаёт, что следующее попадание по времени выборки - 11-е, относительно 0, а не 100 с.

Примечание

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

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

  1. В диалоговом окне Параметры конфигурации (Configuration Parameters) на панели Импорт/экспорт данных (Data Import/Export) в разделе Загрузка из рабочей области (Load from workspace) установите флажок Начальное состояние (Initial state). Появится текстовое поле.

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

  3. Установите для параметра Время остановки значение, превышающее время сохранения рабочей точки.

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

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

Simulink обнаруживает, если ModelOperatingPoint предоставленный в качестве начального состояния объект был сохранен в текущей версии. По умолчанию Simulink отображает сообщение об ошибке, если ModelOperatingPoint не был сохранен в текущей версии. Можно настроить диагностику так, чтобы Simulink отображал сообщение как предупреждение и пытался восстановить как можно больше значений. Чтобы включить восстановление с наибольшим усилием, в диалоговом окне «Параметры конфигурации» установите для объекта Operating Point значение warning. Ранее именовался SimState объекты загружаются как ModelOperatingPoint объекты в 19а.

Связанные темы