Main Content

blfread

从 Vector BLF 文件中读取数据

说明

示例

mdata = blfread(blfFile) 从指定的 BLF 文件中读取所有数据,并将一个时间表元胞数组返回给变量 bdata。元胞数组中每个元素的索引对应于文件中数据的通道编号。

bdata = blfread(blfFile,chanID) 从 BLF 文件中读取指定通道的报文数据,并返回时间表。

bdata = blfread(___,Name,Value) 读取按 CAN 数据库和报文 ID 的参数选项过滤的报文数据。

示例

全部折叠

使用 CAN 数据库从 BLF 文件中读取通道 2 报文数据。

blfData = blfread("Logging_BLF.blf", 2, "Database", canDB)
blfData = 7575×8 timetable
       Time        ID     Extended           Name                        Data                 Length      Signals       Error    Remote
    __________    ____    ________    __________________    ______________________________    ______    ____________    _____    ______

    2.2601 sec     103     false      {'Ignition_Info' }    {[                       1 0]}      2       {1x1 struct}    false    false 
    2.2801 sec     103     false      {'Ignition_Info' }    {[                       1 0]}      2       {1x1 struct}    false    false 
    2.3002 sec     100     false      {'EngineData'    }    {[      238 2 25 1 0 0 238 2]}      8       {1x1 struct}    false    false 
    2.3005 sec     102     false      {'EngineDataIEEE'}    {[       0 128 59 68 0 0 0 0]}      8       {1x1 struct}    false    false 
    2.3006 sec     103     false      {'Ignition_Info' }    {[                       1 0]}      2       {1x1 struct}    false    false 
    2.3008 sec     201     false      {'ABSdata'       }    {[            0 0 0 0 172 38]}      6       {1x1 struct}    false    false 
    2.3009 sec    1020     false      {'GearBoxInfo'   }    {[                         1]}      1       {1x1 struct}    false    false 
    2.3201 sec     103     false      {'Ignition_Info' }    {[                       1 0]}      2       {1x1 struct}    false    false 
    2.3401 sec     103     false      {'Ignition_Info' }    {[                       1 0]}      2       {1x1 struct}    false    false 
    2.3502 sec     100     false      {'EngineData'    }    {[      4 0 25 2 119 1 238 2]}      8       {1x1 struct}    false    false 
    2.3505 sec     102     false      {'EngineDataIEEE'}    {[53 127 119 64 0 128 187 67]}      8       {1x1 struct}    false    false 
    2.3507 sec     201     false      {'ABSdata'       }    {[             0 0 0 0 35 40]}      6       {1x1 struct}    false    false 
    2.3508 sec    1020     false      {'GearBoxInfo'   }    {[                         1]}      1       {1x1 struct}    false    false 
    2.3601 sec     103     false      {'Ignition_Info' }    {[                       1 0]}      2       {1x1 struct}    false    false 
    2.3801 sec     103     false      {'Ignition_Info' }    {[                       1 0]}      2       {1x1 struct}    false    false 
    2.4002 sec     100     false      {'EngineData'    }    {[     10 0 25 3 119 1 238 2]}      8       {1x1 struct}    false    false 
      ⋮

应用可选过滤器的其他语法形式如下所示。

data = blfread("myfile.blf",2)
candb = canDatabase("testdb.dbc");

data = blfread("myfile.blf", "Database", candb)
data = blfread("myfile.blf", "Database", candb, "CANStandardFilter", 1:10)
data = blfread("myfile.blf", "Database", candb, "CANExtendedFilter", 3:7)
data = blfread("myfile.blf", "Database", candb, "CANStandardFilter", 1:10, ...
                                                "CANExtendedFilter", 3:7)
data = blfread("myfile.blf", "CANStandardFilter", 1:10, "CANExtendedFilter", 3:7)

输入参数

全部折叠

BLF 文件的路径,指定为字符串或字符向量。该值可以指定当前文件夹中的文件,也可以指定相对路径名称或完整路径名称。

示例: "MultipleChannelFile.blf"

数据类型: string | char

通道 ID,指定为数值标量值,将从 BLF 文件中读取该通道的数据。如果未指定,将读取所有通道。

示例: 2

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

名称-值参数

将可选的参量对组指定为 Name1=Value1,...,NameN=ValueN,其中 Name 是参量名称,Value 是对应的值。名称-值参量必须出现在其他参量后,但参量对组的顺序无关紧要。

在 R2021a 之前,需要使用逗号分隔每个名称和值,并用引号将 Name 引起来。

示例: "CANStandardFilter",1:8

用于报文解码的 CAN 数据库,指定为 can.Database 对象。

示例: candb()

报文标准 ID,指定为数值数组,用于标识要导入哪些报文。报文 ID 是通用的,对 CAN 和 CAN FD 总线类型均适用。该值可以指定标量,也可以指定由一定范围内的或非连续的 ID 构成的数组。默认情况下,会导入所有标准 ID 报文。

示例: [1:10 45 100:123]

数据类型: string | char

报文扩展 ID,指定为数值数组,用于标识要导入哪些报文。报文 ID 是通用的,对 CAN 和 CAN FD 总线类型均适用。该值可以指定标量,也可以指定由一定范围内的或非连续的 ID 构成的数组。默认情况下,会导入所有扩展 ID 报文。

示例: [1 8:10 1001:1080]

数据类型: string | char

输出参量

全部折叠

来自 BLF 文件的报文数据,以时间表元胞数组形式返回。如果您指定读取单个通道,则将返回时间表。

版本历史记录

在 R2019a 中推出