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 диалогового окна Параметры конфигурации.

Введенный в R2021a