В R2019a объект SimState
был переименован к ModelOperatingPoint
.
Чтобы эффективно разработать систему, вы моделируете модель итеративно, таким образом, можно анализировать систему на основе различных входных параметров, граничных условий или условий работы. Во многих приложениях, при выполнении нескольких симуляций, фаза запуска со значительным динамическим поведением распространена. Например, холодный взлет запуска газотурбинного двигателя происходит перед каждым набором маневров самолета. В нескольких симуляциях, вы идеально:
Моделируйте фазу запуска однажды.
Сохраните снимок состояния симуляции в конце фазы запуска.
Используйте этот снимок состояния в качестве начального состояния для каждого набора условий или маневров.
Используйте объект ModelOperatingPoint
сохранить снимок состояния симуляции. Если вы сохраняете снимок состояния, в будущих симуляциях, восстанавливаете объект ModelOperatingPoint
и используете его, чтобы установить начальные условия.
Объект ModelOperatingPoint
содержит информацию о:
Регистрируемые состояния
Состояние решателя и механизма выполнения
Пересечение нулем сигнализирует для блоков о том нуле регистра пересечения
Выходные значения определенных блоков в модели
Simulink® анализирует связи блока и другую информацию, чтобы определить, использует ли это выходные значения эффективно в качестве информации состояния.
Объект ModelOperatingPoint
также хранит скрытые состояния этих блоков:
Транспортная задержка
Переменная транспортная задержка
Из рабочей области
Для Каждой подсистемы
Условно выполняемые подсистемы
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.