canFDMessageTimetable
将 CAN 或 CAN FD 报文转换为时间表
说明
基于现有 CAN FD 报文时间表、CAN 报文对象数组或 CAN FD Log 模块中的 CAN FD 报文结构体创建一个 CAN FD 报文时间表。输出报文时间表包含报文中的原始报文信息(ID、Extended、Data 等)。如果 CAN 报文对象是包含解码信息的输入,则该解码信息保留在 CAN FD 报文时间表中。msgtimetable
= canFDMessageTimetable(msg
)
使用数据库解码时间表的报文名称和信号以及原始报文信息。使用数组指定多个数据库,以在单个调用中解码时间表中的报文名称和信号。msgtimetable
= canFDMessageTimetable(msg
,database
)
输入 msg
也可以是通过对 mdfDatastore
对象使用 read
创建的数据时间表。在本例中,函数将 ASAM 标准记录格式数据的时间表转换为 Vehicle Network Toolbox™ CAN FD 报文时间表。
示例
将日志模块输出转换为 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)
结果将返回到原始时间表变量。
转换现有 ASAM 格式报文时间表,并使用数据库解码。
db = canDatabase("CustomerDatabase.dbc"); mdfData = mdfRead("CANandCANFD.MF4"); msgTimetable = canFDMessageTimetable(mdfData{2},db);
比较两个时间表。
mdfData{2}
ans = 131×27 timetable with 0 events t CAN_DataFrame.BusChannel CAN_DataFrame.FlagsEx CAN_DataFrame.Dir CAN_DataFrame.SingleWire CAN_DataFrame.WakeUp CAN_DataFrame.SRR CAN_DataFrame.R0 CAN_DataFrame.R1 CAN_DataFrame.EDL CAN_DataFrame.BRS CAN_DataFrame.ESI CAN_DataFrame.ID CAN_DataFrame.IDE CAN_DataFrame.FrameDuration CAN_DataFrame.BitCount CAN_DataFrame.DLC CAN_DataFrame.DataLength CAN_DataFrame.DataBytes CAN_DataFrame.TimeOffsetBRS CAN_DataFrame.TimeOffsetCRCDel CAN_DataFrame.TxAttemptsReq CAN_DataFrame.TxAttemptsMax CAN_DataFrame.CRC CAN_DataFrame.BtrExtCfg CAN_DataFrame.StuffBitCount CAN_DataFrame.StuffBitCountParityBit CAN_DataFrame.StuffBitCountValidBit ___________ ________________________ _____________________ _________________ ________________________ ____________________ _________________ ________________ ________________ _________________ _________________ _________________ ________________ _________________ ___________________________ ______________________ _________________ ________________________ ________________________________________________________________________________________________________________________ ___________________________ ______________________________ ___________________________ ___________________________ _________________ _______________________ ___________________________ ____________________________________ ___________________________________ 0.30022 sec 1 2109504 "Tx" 0 0 0 0 0 1 1 0 768 0 219000 683 15 64 {[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 … ] (1×64 uint8)} 0 0 0 0 0 {[54 23 1 32 5 2 1 32]} 0 0 1 0.45025 sec 1 2097216 "Tx" 0 0 0 0 0 0 0 0 1104 0 246000 126 8 8 {[ 0 0 0 0 0 0 0 0]} 0 0 0 0 0 {[54 23 1 32 5 2 1 32]} 0 0 0 0.60022 sec 1 2109504 "Tx" 0 0 0 0 0 1 1 0 768 0 219000 683 15 64 {[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 … ] (1×64 uint8)} 0 0 0 0 0 {[54 23 1 32 5 2 1 32]} 0 0 1 0.75013 sec 1 2109504 "Tx" 0 0 0 0 0 1 1 0 1872 0 121000 298 12 24 {[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]} 0 0 0 0 0 {[54 23 1 32 5 2 1 32]} 0 0 1 0.90022 sec 1 2109504 "Tx" 0 0 0 0 0 1 1 0 768 0 219000 683 15 64 {[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 … ] (1×64 uint8)} 0 0 0 0 0 {[54 23 1 32 5 2 1 32]} 0 0 1 0.90048 sec 1 2228288 "Tx" 0 0 0 0 0 0 0 0 1104 0 246000 126 8 8 {[ 0 0 0 0 0 0 0 0]} 0 0 0 0 0 {[54 23 1 32 5 2 1 32]} 0 0 0 : : : : : : : : : : : : : : : : : : : : : : : : : : : : 18.45 sec 1 2097216 "Tx" 0 0 0 0 0 0 0 0 1104 0 246000 126 8 8 {[ 0 0 0 0 0 0 0 0]} 0 0 0 0 0 {[54 23 1 32 5 2 1 32]} 0 0 0 18.6 sec 1 2109504 "Tx" 0 0 0 0 0 1 1 0 768 0 219000 683 15 64 {[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 … ] (1×64 uint8)} 0 0 0 0 0 {[54 23 1 32 5 2 1 32]} 0 0 1 18.75 sec 1 2109504 "Tx" 0 0 0 0 0 1 1 0 1872 0 121000 298 12 24 {[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]} 0 0 0 0 0 {[54 23 1 32 5 2 1 32]} 0 0 1 18.9 sec 1 2109504 "Tx" 0 0 0 0 0 1 1 0 768 0 219000 683 15 64 {[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 … ] (1×64 uint8)} 0 0 0 0 0 {[54 23 1 32 5 2 1 32]} 0 0 1 18.9 sec 1 2228288 "Tx" 0 0 0 0 0 0 0 0 1104 0 246000 126 8 8 {[ 0 0 0 0 0 0 0 0]} 0 0 0 0 0 {[54 23 1 32 5 2 1 32]} 0 0 0 19.2 sec 1 2109504 "Tx" 0 0 0 0 0 1 1 0 768 0 219000 683 15 64 {[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 … ] (1×64 uint8)} 0 0 0 0 0 {[54 23 1 32 5 2 1 32]} 0 0 1
msgTimetable
msgTimetable = 131×12 timetable Time ID Extended Name ProtocolMode Data Length DLC Signals Error Remote BRS ESI ___________ ____ ________ __________ ____________ ______________________________________________________________________________________________________________________ ______ ___ ____________ _____ ______ _____ _____ 0.30022 sec 768 false {0×0 char} {'CAN FD'} {[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 … ] (1×64 uint8)} 64 15 {0×0 struct} false false true false 0.45025 sec 1104 false {0×0 char} {'CAN' } {[ 0 0 0 0 0 0 0 0]} 8 8 {0×0 struct} false false false false 0.60022 sec 768 false {0×0 char} {'CAN FD'} {[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 … ] (1×64 uint8)} 64 15 {0×0 struct} false false true false 0.75013 sec 1872 false {0×0 char} {'CAN FD'} {[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]} 24 12 {0×0 struct} false false true false 0.90022 sec 768 false {0×0 char} {'CAN FD'} {[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 … ] (1×64 uint8)} 64 15 {0×0 struct} false false true false 0.90048 sec 1104 false {0×0 char} {'CAN' } {[ 0 0 0 0 0 0 0 0]} 8 8 {0×0 struct} false false false false : : : : : : : : : : : : : 18.45 sec 1104 false {0×0 char} {'CAN' } {[ 0 0 0 0 0 0 0 0]} 8 8 {0×0 struct} false false false false 18.6 sec 768 false {0×0 char} {'CAN FD'} {[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 … ] (1×64 uint8)} 64 15 {0×0 struct} false false true false 18.75 sec 1872 false {0×0 char} {'CAN FD'} {[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]} 24 12 {0×0 struct} false false true false 18.9 sec 768 false {0×0 char} {'CAN FD'} {[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 … ] (1×64 uint8)} 64 15 {0×0 struct} false false true false 18.9 sec 1104 false {0×0 char} {'CAN' } {[ 0 0 0 0 0 0 0 0]} 8 8 {0×0 struct} false false false false 19.2 sec 768 false {0×0 char} {'CAN FD'} {[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 … ] (1×64 uint8)} 64 15 {0×0 struct} false false true false
输入参数
原始 CAN 报文,指定为以下项之一:
can.Message
对象数组CAN FD 报文时间表
ASAM MDF CAN FD 报文时间表
来自 CAN FD Log 模块的 CAN FD 报文结构体
示例: canFDMessage()
CAN 数据库,指定为数据库对象。
示例: database = canDatabase('CANDatabase.dbc')
输出参量
以时间表形式返回的 CAN FD 报文。
版本历史记录
在 R2018b 中推出
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)