exponenta event banner

simscape.logging.timestamp

Определение текущего или устаревшего журнала моделирования

Описание

пример

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

Вы можете определить, simlog объект в рабочей области является текущим или устаревшим путем сравнения его метки времени с меткой времени модели.

Примеры

свернуть все

Вы можете определить, simlog объект в рабочей области является текущим или устаревшим, сравнивая его временную метку с временной меткой модели.

Откройте пример модели двигателя постоянного тока с постоянным магнитом, в котором уже включена регистрация данных, и запустите моделирование для создания переменной журнала моделирования. simlog_ssc_dcmotor (как указано параметром конфигурации модели имени переменной рабочей области) в текущей рабочей области:

ssc_dcmotor
sim('ssc_dcmotor');

Получение метки времени, связанной с журналом моделирования:

 simscape.logging.timestamp(simlog_ssc_dcmotor)
ans =

  int64

   530635937

Теперь получите временную метку, связанную с моделью:

 get_param(bdroot, 'RTWModifiedTimeStamp')
ans =

   530635937

Номера совпадают, что означает, что данные моделирования являются текущими.

При изменении модели ее временная метка изменяется. Откройте один из блоков в модели и измените значение параметра. Получение метки времени, связанной с моделью:

 get_param(bdroot, 'RTWModifiedTimeStamp')
ans =

   530640461

Сравните это число с отметкой времени журнала моделирования:

 simscape.logging.timestamp(simlog_ssc_dcmotor)
ans =

  int64

   530635937

Теперь номера отличаются, что означает, что данные моделирования устарели и должны быть восстановлены.

Функция возвращает значение simlog отметка времени как int64. Для программного сравнения с меткой времени модели преобразуйте ее в double, например:

modelName = 'ssc_dcmotor';
simlog = simlog_ssc_dcmotor;
ts = simscape.logging.timestamp(simlog);
    if get_param(modelName,'RTWModifiedTimeStamp') == double(ts)
        updateSimlog = false;
    else
        updateSimlog = true;
    end

Входные аргументы

свернуть все

переменная рабочей области журнала моделирования, содержащая записанные данные моделирования модели, или узел в пределах этой переменной, указанный как Node объект. Имя переменной журнала моделирования задается с помощью параметра Имя переменной рабочего пространства (Workspace variable name) на панели Simscape (Simscape) диалогового окна Параметры конфигурации (Configuration Parameters).

Представлен в R2021a