canFDMessageTimetable

Преобразуйте сообщения CAN или CAN FD в расписание

Описание

пример

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

пример

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

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

Примеры

свернуть все

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

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

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

msgTimetable = canFDMessageTimetable(canMsgs);

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

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

Результат возвращается к исходной переменной timetable.

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

m = mdf('CANandCANFD.MF4');
db = canDatabase('CustomerDatabase.dbc');
mdfData = read(m);
msgTimetable = canFDMessageTimetable(mdfData{2},db);

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

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

  4×6 timetable

       Time        CAN_DataFrame_BusChannel    CAN_DataFrame_FlagsEx    CAN_DataFrame_Dir    CAN_DataFrame_SingleWire    CAN_DataFrame_WakeUp    CAN_DataFrame_SRR
    ___________    ________________________    _____________________    _________________    ________________________    ____________________    _________________

    0.30022 sec               1                     2.1095e+06                  1                       0                         0                      0        
    0.45025 sec               1                     2.0972e+06                  1                       0                         0                      0        
    0.60022 sec               1                     2.1095e+06                  1                       0                         0                      0        
    0.75013 sec               1                     2.1095e+06                  1                       0                         0                      0        
msgTimetable(1:4,1:8)
ans =

  4×8 timetable

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

    0.30022 sec     768     false       ''       'CAN FD'      [1×64 uint8]      64      15     [0×0 struct]
    0.45025 sec    1104     false       ''       'CAN'         [1×8  uint8]       8       8     [0×0 struct]
    0.60022 sec     768     false       ''       'CAN FD'      [1×64 uint8]      64      15     [0×0 struct]
    0.75013 sec    1872     false       ''       'CAN FD'      [1×24 uint8]      24      12     [0×0 struct]

Входные параметры

свернуть все

Необработанные сообщения CAN, заданные как расписание сообщений CAN FD, массив объектов сообщений CAN, структура сообщений CAN из блока журнала CAN или asam.MDF объект..

Пример: canFDMessage()

База данных CAN, заданная как объект базы данных.

Пример: database = canDatabase('CANDatabase.dbc')

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

свернуть все

Сообщения CAN FD возвращаются как расписание.

Введенный в R2018b