simscape.logging.timestamp

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

Описание

пример

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

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

Примеры

свернуть все

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

Откройте Моторную модель Постоянного электромагнита в качестве примера, которой уже включили регистрацию данных, и запустите симуляцию, чтобы создать логарифмическую переменную simlog_ssc_dcmotor симуляции (как задано параметром конфигурации модели Workspace variable name) в вашей текущей рабочей области:

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 диалогового окна Configuration Parameters.

Введенный в R2021a