Simulink.SimulationMetadata class

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

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

Описание

The 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 объект.

Свойства

расширить все

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

Имя поляНапечататьОписание
ModelNamecharИмя модели
ModelVersioncharВерсия модели
ModelFilePathcharАбсолютное расположение .mdl/ .slx файл
UserIDcharИдентификатор пользователя системы машины, используемой для симуляции
MachineNamecharИмя хоста машины, используемой для симуляции
PlatformcharОперационная система машины, используемая для симуляции
ModelStructuralChecksum4 на 1 uint32Структурная контрольная сумма модели, рассчитанная после схемы обновления
SimulationModecharРежим симуляции
StartTimeдваждыВремя начала симуляции
StopTimeдваждыВремя, в которое симуляция была завершена
SolverInfoструктураИнформация о решателе:
  • Решатели с фиксированным шагом - Тип решателя, имя и фиксированный размер шага

  • Решатели переменных - Тип решателя, имя и максимальный размер шага (начальная настройка)

SimulinkVersionструктураВерсия Simulink®
LoggingInfoструктураМетаданные о логгировании в постоянном хранилище:
  • LoggingToFile field - Указывает, включена ли регистрация в постоянном хранилище ('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 - Симуляция остановлена, поскольку время выполнения превысило тайм-аут, заданный TimeOut.

StopEventSourceSimulink.SimulationData.BlockPathИсточник события stop, если он является допустимым объектом Simulink.
StopEventDescriptionПереведенный вектор символовСупермножество информации, хранящейся в StopEvent и StopEventSource.
ErrorDiagnosticstructОшибка, сообщенная во время симуляции, представленная следующими полями:
  • DiagnosticMSLDiagnostic объект, который включает пути к объектам, идентификатор, сообщение, причину и стек.

  • SimulationPhase - Представлено одним из следующих: Initialization, Execution, или Termination.

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

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

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

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

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

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

Имя поляНапечататьОписание
WallClockTimestampStartвектор символовНастенное время, когда симуляция началась, в YYYY-MM-DD HH:MI:SS формат с микросекундным разрешением
WallClockTimestampStopвектор символовНастенное время, когда симуляция остановилась, в YYYY-MM-DD HH:MI:SS формат с микросекундным разрешением
InitializationElapsedWallTimeдваждыВремя, проведенное перед выполнением, в секундах
ExecutionElapsedWallTimeдваждыВремя, потраченное во время выполнения, в секундах
TerminationElapsedWallTimeдваждыВремя, потраченное после выполнения, в секундах
TotalElapsedWallTimeдваждыОбщее время, потраченное на инициализацию, выполнение и прекращение в секундах
ProfilerDataSimulink.profiler.Data

Результаты профилирования модели, возвращенные как Simulink.profiler.Data объект

Примечание

The ProfilerData поле отображается только тогда, когда Profile и ReturnWorkspaceOutputs параметры модели включены

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

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

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

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

Значение. Чтобы узнать, как классы значений влияют на операции копирования, см. раздел «Копирование объектов».

Примеры

свернуть все

Симулируйте 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