В R2019a, SimState
объект был переименован в ModelOperatingPoint
.
Чтобы эффективно спроектировать систему, вы симулируете модель итеративно, таким образом, можно анализировать систему на основе различных входных параметров, граничных условий или условий работы. Во многих приложениях, при выполнении нескольких симуляций, фаза запуска со значительным динамическим поведением распространена. Например, холодный взлет запуска газотурбинного двигателя происходит перед каждым набором маневров самолета. В нескольких симуляциях, вы идеально:
Симулируйте фазу запуска однажды.
Сохраните снимок состояния симуляции в конце фазы запуска.
Используйте этот снимок состояния в качестве начального состояния для каждого набора условий или маневров.
Используйте 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, чтобы остановить симуляцию.
В диалоговом окне Configuration Parameters, в панели Data Import/Export, устанавливают флажок Final states. Флажок Save final Operating Point становится доступным.
Установите флажок Save final Operating Point.
В текстовом поле Final states введите имя переменной для ModelOperatingPoint
объект.
Симулируйте модель.
Используйте 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
.
В диалоговом окне Configuration Parameters, в панели Data Import/Export, под Load from workspace, устанавливают флажок Initial state. Текстовое поле становится доступным.
Введите имя переменной, содержащей ModelOperatingPoint
в текстовом поле.
Установите Stop time на значение, больше, чем время, в которое рабочая точка была сохранена.
Конфигурировать моделирование, чтобы восстановить рабочую точку что вы сохраненный в примере выше:
set_param('fuelsys','LoadInitialState','on','InitialState',... 'myOperPoint'); myOperPoint = simOut.myOperPoint
ModelOperatingPoint
объект восстанавливается, когда вы симулируете модель.
Можно использовать ModelOperatingPoint
объекты, сохраненные в релизах начиная с R2010a, чтобы восстановить ModelOperatingPoint
из модели. Однако эта опция восстанавливает только регистрируемые состояния модели. Видеть версию Simulink раньше сохраняло ModelOperatingPoint
, исследуйте параметр version ModelOperatingPoint
объект.
Simulink обнаруживает если ModelOperatingPoint
возразите, что вы обеспечили, когда начальное состояние было сохранено в текущем релизе. По умолчанию Simulink отображает сообщение об ошибке если ModelOperatingPoint
не было сохранено в текущем релизе. Можно сконфигурировать диагностику, чтобы позволить Simulink отображать сообщение как предупреждение и попытку восстановить как можно больше значений. Чтобы включить это восстановление максимальных усилий, в диалоговом окне Configuration Parameters устанавливает сообщение для Operating Point object from earlier release к warning
. Ранее названный SimState
объекты загружаются как ModelOperatingPoint
объекты в 19a.