canMessageTimetable
将 CAN 报文转换为时间表
说明
基于现有原始报文创建 CAN 报文时间表。输出报文时间表包含报文中的原始报文信息(ID、Extended、Data 等)。如果 CAN 报文对象是包含解码信息的输入,则该解码信息保留在 CAN 报文时间表中。相比使用 CAN 报文对象,CAN 报文数据的时间表通常提供更好的性能。msgtimetable
= canMessageTimetable(msg
)
使用数据库解码时间表的报文名称和信号以及原始报文信息。使用数组指定多个数据库,以在单个调用中解码时间表中的报文名称和信号。 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 报文对象转换为 CAN 报文时间表。
msgTimetable = canMessageTimetable(canMsgs);
使用数据库解码报文时间表
使用数据库解码现有 CAN 报文时间表。
db = canDatabase('myDatabase.dbc')
msgTimetable = canMessageTimetable(msgTimetable,db)
转换 ASAM MDF 报文时间表
转换现有 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]
输入参数
msg
— CAN 报文数据
时间表、数组或结构体
CAN 报文数据,指定为以下项之一:
can.Message
对象数组CAN 报文时间表
ASAM MDF CAN 报文时间表
来自 CAN Log 模块的 CAN 报文结构体
database
— CAN 数据库
数据库句柄
CAN 数据库,指定为数据库句柄。
输出参量
msgtimetable
— CAN 报文时间表
时间表
以时间表形式返回的 CAN 报文。
版本历史记录
在 R2017a 中推出
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- 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)