Simulink. Класс SimulationMetadata

Пакет: Simulink
Суперклассы:

Доступ к метаданным выполнений симуляции

Описание

Класс SimulationMetadata содержит информацию о выполнении симуляции включая:

  • Информация модели

  • Синхронизация информации

  • Выполнение и диагностическая информация

  • Пользовательский вектор символов, чтобы пометить симуляцию

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

SimulationMetadata группирует эту информацию с объектом SimulationOutput. Чтобы использовать SimulationMetadata, используйте один из этих подходов:

  • В Configuration Parameters> Data Import/Export, под Save options, выбирают Single simulation output.

  • Используйте set_param, чтобы установить ReturnWorkspaceOutputs на on.

    set_param(model_name,'ReturnWorkspaceOutputs','on');

Чтобы получить объект SimulationMetadata, используйте метод getSimulationMetadata на объекте SimulationOutput.

Свойства

развернуть все

Структура ModelInfo имеет эти поля.

Имя поляВводОписание
ModelName'char'Имя модели
ModelVersion'char'Версия модели
ModelFilePath'char'Абсолютное местоположение .mdl/.slx файл
UserID'char'ID пользователя системы машины используется для симуляции
MachineName'char'Имя узла машины используется для симуляции
Platform'char'Операционная система машины используется для симуляции
ModelStructuralChecksum4 1 uint32Структурная контрольная сумма модели вычисляется после схемы обновления
SimulationMode'char'Режим Simulation
StartTime'double'Время начала симуляции
StopTime'double'Время, в которое была отключена симуляция
SolverInfoструктураИнформация о решателе:
  • Решатели фиксированного шага – тип Решателя, имя и зафиксированный размер шага

  • Переменные решатели – тип Решателя, имя, и макс. продвигаются размер (установка начальной буквы)

SimulinkVersionструктураВерсия Simulink®
LoggingInfoструктураМетаданные о журналировании к персистентному устройству хранения данных:
  • Поле LoggingToFile — Указывает, включено ли журналирование к персистентному устройству хранения данных ('on' или 'off')

  • Поле LoggingFileName — Задает разрешенное имя файла для персистентного MAT-файла устройства хранения данных (если LoggingToFile является 'on').

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

Имя поляВводОписание
StopEventНепереведенный вектор символовОбоснуйте симуляцию, остановленную, представленную одним из следующего:
  • ReachedStopTime – О симуляции, остановленной на достигающее время остановки и никакие ошибки, сообщили во время выполнения. StopEvent имеет значение ReachedStopTime, даже если об ошибках сообщают в коллбэках остановки, которые выполняются после того, как симуляция заканчивается.

  • ModelStop – Симуляция зашла в блок или решателем перед достигающим временем остановки.

  • StopCommand – Симуляция, остановленная вручную путем нажатия кнопки Stop или использования команды set_param.

  • DiagnosticError – Симуляция остановилась, потому что об ошибке сообщили во время симуляции.

  • KeyboardControlC – Симуляция прекратила использовать нажатие клавиши Ctrl+C.

  • PauseCommand – Симуляция, приостановленная вручную путем нажатия кнопки Pause или использования команды set_param.

  • ConditionalPause – Симуляция приостановила использование условной точки останова.

  • PauseTime – Симуляция, приостановленная в или, после того, как задано, приостанавливает время.

  • StepForward – Симуляция приостановлена после щелкающего шага вперед.

  • StepBackward – Симуляция, приостановленная после щелкающего шага назад.

  • Тайм-аут Симуляция остановилась, потому что время выполнения превысило тайм-аут, заданный TimeOut.

StopEventSourceSimulink.SimulationData.BlockPathИсточник события остановки, если это - допустимый объект Simulink.
StopEventDescriptionПереведенный вектор символовНадмножество информации сохранено в StopEvent и StopEventSource.
ErrorDiagnosticstruct ()Об ошибке сообщают во время симуляции, представленной следующими полями:
  • Объект Diagnostic - MSLDiagnostic, который включает контуры объектов, ID, сообщение, причину и стек.

  • SimulationPhase – Представленный одним из них: Initialization, Execution или Termination.

  • SimulationTime – Время симуляции, представленное как двойное, если сообщается во время Выполнения; еще, представленный как [].

Путем передачи пары "имя-значение" 'CaptureErrors', 'on' команде sim об ошибках, сгенерированных во время симуляции, сообщают в ExecutionInfo.ErrorDiagnostic. Команда sim не фиксирует сгенерированные ошибки.

WarningDiagnosticsМассив structО массиве всех предупреждений сообщают во время симуляции. Каждый элемент массивов представлен следующими полями:
  • Объект Diagnostic - MSLDiagnostic, который включает контуры объектов, ID, сообщение, причину и стек.

  • SimulationPhase – Представленный как: Initialization, Execution или Termination.

  • SimulationTime – Время симуляции, представленное как двойное, если сообщается во время Execution; еще, представленный как [].

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

Имя поляВводОписание
WallClockTimestampStartсимвольный векторСтена показывает время когда запущенная симуляция в формате YYYY-MM-DD HH:MI:SS с разрешением микросекунды
WallClockTimestampStopсимвольный векторСтена показывает время когда остановленная симуляция в формате YYYY-MM-DD HH:MI:SS с разрешением микросекунды
InitializationElapsedWallTime'double'Время проведено перед выполнением в секундах
ExecutionElapsedWallTime'double'Время проведено во время выполнения в секундах
TerminationElapsedWallTime'double'Время проведено после выполнения в секундах
TotalElapsedWallTime'double'Общее время проведено в инициализации, выполнении и завершении, в секундах

ExecutionElapsedWallTime включает время, когда Simulink потратил, чтобы откатывать или отступить в симуляции. ExecutionElapsedWallTime не включает время, проведенное между шагами. Например, если вы используете Степпер, чтобы продвинуться посредством симуляции, время ExecutionElapsedWallTime не включает время, когда симуляция находится в приостановленном состоянии. Для получения дополнительной информации об использовании Степпера смотрите, Как Степпер Симуляции Помогает С Анализом модели.

Используйте Simulink.SimulationOutput.setUserString, чтобы непосредственно сохранить вектор символов в объекте SimulationMetadata, который содержится в объекте SimulationOutput.

Используйте Simulink.SimulationOutput.setUserData, чтобы хранить пользовательские данные в объекте SimulationMetadata, который содержится в объекте SimulationOutput.

Копировать семантику

Значение. Чтобы изучить, как классы значения влияют на операции копии, смотрите Копирование Объектов (MATLAB).

Примеры

свернуть все

Моделируйте модель vdp. Получите метаданные из объекта SimulationMetadata симуляции.

Моделируйте модель vdp. Сохраните результаты объекта Simulink.SimulationOutput в simout.

 open_system('vdp');
 simout = sim(bdroot,'ReturnWorkspaceOutputs','on');

Получите информацию о метаданных об этой симуляции с помощью mData. Это - объект SimulationMetadata, который содержит simout.

 mData=simout.getSimulationMetadata()
mData = 

  SimulationMetadata with properties:

        ModelInfo: [1x1 struct]
       TimingInfo: [1x1 struct]
    ExecutionInfo: [1x1 struct]
       UserString: ''
         UserData: []

Храните пользовательские данные или строку в simout.

 simout=simout.setUserData(struct('param1','value1','param2','value2','param3','value3'));
 simout=simout.setUserString('Store first simulation results');

Получите пользовательские данные, которые вы хранили от mData.

 mData=simout.getSimulationMetadata()
 disp(mData.UserData)
mData = 

  SimulationMetadata with properties:

        ModelInfo: [1x1 struct]
       TimingInfo: [1x1 struct]
    ExecutionInfo: [1x1 struct]
       UserString: 'Store first simulation results'
         UserData: [1x1 struct]

    param1: 'value1'
    param2: 'value2'
    param3: 'value3'

Получите пользовательскую строку, которую вы сохранили от mData.

 mData=simout.getSimulationMetadata()
 disp(mData.UserString)
mData = 

  SimulationMetadata with properties:

        ModelInfo: [1x1 struct]
       TimingInfo: [1x1 struct]
    ExecutionInfo: [1x1 struct]
       UserString: 'Store first simulation results'
         UserData: [1x1 struct]

Store first simulation results

Представленный в R2015a