MATLAB 帮助中心
从第三方日志文件导入 CAN 报文
message = canMessageImport(file,vendor)
message = canMessageImport(file,vendor,candb)
message = canMessageImport(___,'OutputFormat','timetable')
message = canMessageImport(___,'ChannelID',chanID)
message = canMessageImport(file,vendor) 从第三方供应商 vendor 提供的日志文件 file 导入 CAN 报文。日志文件中的所有报文导入为一个 CAN 报文对象数组,或一个每个元素对应一个通道的元胞数组。
message
file
vendor
导入后,您可以分析、传输或回放这些报文。
canMessageImport 假定导入的日志文件中的信息采用十六进制格式,并且导入的日志文件中的时间戳是绝对值。
canMessageImport
示例
message = canMessageImport(file,vendor,candb) 将指定数据库中的信息应用于导入的 CAN 日志报文。
candb
要导入具有符号报文名称的 Vector 日志文件,请指定对应的数据库文件。
message = canMessageImport(___,'OutputFormat','timetable') 返回报文的时间表。这是推荐的输出格式,用于在 MATLAB® 内实现 CAN 报文的最佳性能和表示。默认为返回一个 CAN 报文数组。
message = canMessageImport(___,'ChannelID',chanID) 仅返回指定通道 chanID 的数据。默认返回所有通道。
chanID
全部折叠
从日志文件导入原始报文。
message = canMessageImport('MsgLog.asc','Vector','OutputFormat','timetable');
使用物理报文的数据库信息从日志文件导入报文。
candb = canDatabase('myDatabase.dbc'); message = canMessageImport('MsgLog.txt','Kvaser',candb,'OutputFormat','timetable');
从包含三个通道数据的日志文件中,查看通道 2 的数据。
将所有通道读入一个时间表元胞数组中。
d = canMessageImport("ASC_3CH.asc", "Vector", OutputFormat="timetable")
d = 3×1 cell array {2×12 timetable} {3×8 timetable} {1×8 timetable}
对特定通道的元胞数组进行索引
channel2Data = d{2};
或者,在导入时指定通道。
channel2Data = canMessageImport("ASC_3CH.asc", "Vector", OutputFormat="timetable", ChannelID=2);
CAN 报文日志文件的名称,指定为字符向量或字符串。
示例: 'MsgLog.asc'
'MsgLog.asc'
数据类型: char | string
char
string
供应商的名称,指定为字符向量或字符串,将导入来自此供应商的 CAN 报文日志文件。
您只能以特定文件格式导入报文日志:来自 Vector 的必须是 ASCII 文件,来自 Kvaser 的必须是文本文件。
示例: 'Vector'
'Vector'
CAN 数据库,指定为数据库对象。此数据库的信息将应用于导入的日志文件报文。
示例: candb = canDatabase('CANdb.dbc')
candb = canDatabase('CANdb.dbc')
通道 ID,指定为数值标量值,指示从日志文件导入哪个通道的数据。如果未指定,将读取所有通道。当仅导入一个通道时,函数根据 OutputFormat 参量返回一个 CAN 报文数组或一个时间表。当导入多个通道时,函数返回一个报文元胞数组或多个时间表,其中每个通道对应一个元素。
OutputFormat
示例: 2
2
数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
single
double
int8
int16
int32
int64
uint8
uint16
uint32
uint64
导入的报文,以 CAN 报文对象数组或由 ChannelID 参量指定的单个通道的报文时间表形式返回。当导入多个通道时,函数返回一个报文元胞数组或多个时间表,其中每个通道对应一个元素。
ChannelID
全部展开
该函数现在默认支持多通道导入,具有 ChannelID 参量以指定单个通道。
canDatabase
receive
transmit
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 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
欧洲
亚太
联系您当地的办事处