Simulink. Класс SimulationMetadata

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

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

Описание

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

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

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

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

  • Пользовательский вектор символа, чтобы пометить моделирование

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

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

  • В Параметрах конфигурации> Импорт/Экспорт Данных, в соответствии с опциями Сохранения, выбирают моделирование Single вывод.

  • Используйте 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
Время начала'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 включает время, когда Симулинк потратил, чтобы откатывать или отступить в моделировании. 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

Была ли эта тема полезной?