主要内容

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 格式报文时间表,并使用数据库解码。

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

比较两个时间表。

 mdfData{1}
ans =

  795×9 timetable with 0 events

             t          CAN_DataFrame.DataLength    CAN_DataFrame.WakeUp    CAN_DataFrame.SingleWire    CAN_DataFrame.IDE    CAN_DataFrame.ID    CAN_DataFrame.Flags    CAN_DataFrame.DLC    CAN_DataFrame.DataBytes    CAN_DataFrame.BusChannel
        ____________    ________________________    ____________________    ________________________    _________________    ________________    ___________________    _________________    _______________________    ________________________

        0.019968 sec               4                         0                         0                        0                  100                    0                     4                 {[100 0 0 0]}                    1            
        0.029964 sec               4                         0                         0                        0                  100                    0                     4                 {[108 0 0 0]}                    1            
        0.039943 sec               4                         0                         0                        0                  100                    0                     4                 {[116 0 0 0]}                    1            
        0.049949 sec               4                         0                         0                        0                  100                    0                     4                 {[124 0 0 0]}                    1            
        0.059945 sec               4                         0                         0                        0                  100                    0                     4                 {[132 0 0 0]}                    1            
        0.070001 sec               4                         0                         0                        0                  100                    0                     4                 {[140 0 0 0]}                    1            

             :                     :                         :                         :                        :                   :                     :                     :                       :                          :            

        7.9003 sec                 4                         0                         0                        0                  100                    0                     4                 {[ 44 3 0 0]}                    1            
        7.9204 sec                 4                         0                         0                        0                  100                    0                     4                 {[ 52 3 0 0]}                    1            
        7.9303 sec                 4                         0                         0                        0                  100                    0                     4                 {[ 60 3 0 0]}                    1            
        7.9305 sec                 4                         0                         0                        0                  100                    0                     4                 {[ 68 3 0 0]}                    1            
        7.9404 sec                 4                         0                         0                        0                  100                    0                     4                 {[ 76 3 0 0]}                    1            
        7.9604 sec                 4                         0                         0                        0                  100                    0                     4                 {[ 84 3 0 0]}                    1            
msgTimetable
msgTimetable =

  795×8 timetable

        Time        ID     Extended       Name           Data         Length      Signals       Error    Remote
    ____________    ___    ________    __________    _____________    ______    ____________    _____    ______

    0.019968 sec    100     false      {0×0 char}    {[100 0 0 0]}      4       {0×0 struct}    false    false 
    0.029964 sec    100     false      {0×0 char}    {[108 0 0 0]}      4       {0×0 struct}    false    false 
    0.039943 sec    100     false      {0×0 char}    {[116 0 0 0]}      4       {0×0 struct}    false    false 
    0.049949 sec    100     false      {0×0 char}    {[124 0 0 0]}      4       {0×0 struct}    false    false 
    0.059945 sec    100     false      {0×0 char}    {[132 0 0 0]}      4       {0×0 struct}    false    false 
    0.070001 sec    100     false      {0×0 char}    {[140 0 0 0]}      4       {0×0 struct}    false    false 

         :           :        :            :               :            :            :            :        :   

    7.9003 sec      100     false      {0×0 char}    {[ 44 3 0 0]}      4       {0×0 struct}    false    false 
    7.9204 sec      100     false      {0×0 char}    {[ 52 3 0 0]}      4       {0×0 struct}    false    false 
    7.9303 sec      100     false      {0×0 char}    {[ 60 3 0 0]}      4       {0×0 struct}    false    false 
    7.9305 sec      100     false      {0×0 char}    {[ 68 3 0 0]}      4       {0×0 struct}    false    false 
    7.9404 sec      100     false      {0×0 char}    {[ 76 3 0 0]}      4       {0×0 struct}    false    false 
    7.9604 sec      100     false      {0×0 char}    {[ 84 3 0 0]}      4       {0×0 struct}    false    false 

输入参数

全部折叠

CAN 报文数据,指定为以下项之一:

  • can.Message 对象数组

  • CAN 报文时间表

  • ASAM MDF CAN 报文时间表

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

ARXML 或 CAN 数据库,指定为 Database 对象。您可以使用 canDatabasearxmlDatabase 函数创建该对象。

输出参量

全部折叠

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

版本历史记录

在 R2017a 中推出

全部展开