主要内容

canSignalImport

将 CAN 日志文件导入解码的信号时间表中

说明

sigtimetable = canSignalImport(file,vendor,database) 使用给定数据库将来自指定供应商的 CAN 报文日志文件直接导入解码的信号值时间表中。该函数返回一个结构体,其中的每个字段对应时间表中的一个唯一报文。每个字段值是相应报文的所有实例中所有信号的时间表。使用此语法形式可在单个函数调用中转换整组报文。

示例

sigtimetable = canSignalImport(file,vendor,database,msgnames) 仅返回 msgnames 指定的一个或多个报文的信号时间表。使用此语法形式可仅从一部分报文导入信号。

sigtimetable = canSignalImport(___,ChannelID=chanID) 仅返回指定通道 chanID 的数据。默认返回所有通道。

示例

示例

全部折叠

基于日志文件中的所有报文创建信号时间表。

db = canDatabase('MyDatabase.dbc');
sigtimetable = canSignalImport('MsgLog.asc','Vector',db);

基于日志文件中的指定报文创建信号时间表。

db = canDatabase('MyDatabase.dbc');
sigtimetable1 = canSignalImport('MsgLog.asc','Vector',db,'Message1');
sigtimetable2 = canSignalImport('MsgLog.asc','Vector',db,{'Message1','Message2'});

输入参数

全部折叠

CAN 报文日志文件,指定为字符向量或字符串。

示例: 'MsgLog.asc'

数据类型: char | string

供应商文件格式,指定为字符向量或字符串。支持的文件格式是 Vector 和 Kvaser 定义的格式。

示例: 'Vector'

数据类型: char | string

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

报文名称,指定为字符向量、字符串或数组。

示例: 'message1'

数据类型: char | string | cell

通道 ID,指定为数值标量值,指示从日志文件导入哪个通道的数据。如果未指定,将读取所有通道。当仅导入一个通道时,函数返回一个结构体。当导入多个通道时,函数返回一个结构体元胞数组,其中每个通道对应一个元素。

示例: 2

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

输出参量

全部折叠

CAN 信号,以结构体形式返回。结构体字段名称对应于输入的报文,每个字段值是一个 CAN 信号时间表。当导入多个通道时,输出是一个结构体元胞数组。

数据类型: struct

版本历史记录

在 R2017a 中推出

全部展开