exponenta event banner

canMessageTimetable

Преобразование сообщений CAN в расписание

Описание

пример

msgtimetable = canMessageTimetable(msg) создает расписание сообщений CAN из существующих необработанных сообщений. Расписание выходных сообщений содержит исходную информацию сообщений (ID, Extended, Data и т.д.). Если вводятся объекты сообщения CAN, которые содержат декодированную информацию, то декодирование сохраняется в расписании сообщения CAN. Расписание передачи данных сообщений CAN часто может обеспечить более высокую производительность, чем использование объектов сообщений CAN.

пример

msgtimetable = canMessageTimetable(msg,database) использует базу данных для декодирования имен сообщений и сигналов для расписания вместе с исходной информацией сообщения. Укажите несколько баз данных в массиве для декодирования имен сообщений и сигналов в расписании в рамках одного вызова.

Вход msg также может быть расписанием данных, созданных с помощью read на mdf объект. В этом случае функция преобразует расписание данных стандартного формата регистрации ASAM в расписание сообщений CAN Toolbox™ сети транспортных средств.

Примеры

свернуть все

Преобразование выходных данных блока регистрации в расписание сообщений CAN.

 load LogBlockOutput.mat
 db = canDatabase('myDatabase.dbc')
 msgTimetable = canMessageTimetable(canMsgs,db)

Преобразование устаревших объектов сообщений CAN в расписание сообщений CAN.

msgTimetable = canMessageTimetable(canMsgs);

Декодирование существующего расписания сообщений CAN с помощью базы данных.

db = canDatabase('myDatabase.dbc')
msgTimetable = canMessageTimetable(msgTimetable,db)

Преобразование существующего расписания сообщений формата ASAM и декодирование с использованием базы данных.

m = mdf('mdfFiles\CANonly.MF4');
db = canDatabase('dbFiles\dGenericVehicle.dbc');
mdfData = read(m);
msgTimetable = canMessageTimetable(mdfData{1},db);

Сравните два расписания.

 mdfData{1}(1:4,1:6)
ans =

  4×6 timetable

        Time        CAN_DataFrame_DataLength    CAN_DataFrame_WakeUp    CAN_DataFrame_SingleWire    CAN_DataFrame_IDE    CAN_DataFrame_ID    CAN_DataFrame_Flags
    ____________    ________________________    ____________________    ________________________    _________________    ________________    ___________________

    0.019968 sec               4                         0                         0                        0                  100                    0         
    0.029964 sec               4                         0                         0                        0                  100                    0         
    0.039943 sec               4                         0                         0                        0                  100                    0         
    0.049949 sec               4                         0                         0                        0                  100                    0         

msgTimetable(1:4,1:6)
ans =

  4×6 timetable

        Time        ID     Extended    Name       Data        Length      Signals   
    ____________    ___    ________    ____    ___________    ______    ____________

    0.019968 sec    100     false       ''     [1×4 uint8]      4       [0×0 struct]
    0.029964 sec    100     false       ''     [1×4 uint8]      4       [0×0 struct]
    0.039943 sec    100     false       ''     [1×4 uint8]      4       [0×0 struct]
    0.049949 sec    100     false       ''     [1×4 uint8]      4       [0×0 struct]

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

свернуть все

Данные сообщения CAN, определенные как расписание сообщения CAN, массив объектов сообщения CAN или структура сообщения CAN из блока регистрации CAN.

База данных CAN, указанная как дескриптор базы данных.

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

свернуть все

Сообщения CAN, возвращенные в виде расписания.

См. также

Функции

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