Main Content

canMessageTimetable

将 CAN 报文转换为时间表

说明

示例

msgtimetable = canMessageTimetable(msg) 基于现有原始报文创建 CAN 报文时间表。输出报文时间表包含报文中的原始报文信息(ID、Extended、Data 等)。如果 CAN 报文对象是包含解码信息的输入,则该解码信息保留在 CAN 报文时间表中。相比使用 CAN 报文对象,CAN 报文数据的时间表通常提供更好的性能。

示例

msgtimetable = canMessageTimetable(msg,database) 使用数据库解码时间表的报文名称和信号以及原始报文信息。使用数组指定多个数据库,以在单个调用中解码时间表中的报文名称和信号。

输入 msg 也可以是通过对 MDF 文件使用 mdfRead 创建的数据时间表。在本例中,函数将 ASAM 标准记录格式数据的时间表转换为 Vehicle Network Toolbox™ CAN 报文时间表。

示例

全部折叠

将日志模块输出转换为 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.Message 对象数组

  • CAN 报文时间表

  • ASAM MDF CAN 报文时间表

  • 来自 CAN Log 模块的 CAN 报文结构体

CAN 数据库,指定为数据库句柄。

输出参量

全部折叠

以时间表形式返回的 CAN 报文。

版本历史记录

在 R2017a 中推出

另请参阅

函数