blfread
从 Vector BLF 文件中读取数据
说明
示例
使用 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、ARXML 或 LIN Database
对象。您可以使用 canDatabase
、arxmlDatabase
或 linDatabase
函数创建此对象。
报文标准 ID,指定为数值数组,用于标识要导入哪些报文。报文 ID 是通用的,对 CAN 和 CAN FD 总线类型均适用。该值可以指定标量,也可以指定由一定范围内的或非连续的 ID 构成的数组。默认情况下,会导入所有标准 ID 报文。
示例: [1:10 45 100:123]
数据类型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
报文扩展 ID,指定为数值数组,用于标识要导入哪些报文。报文 ID 是通用的,对 CAN 和 CAN FD 总线类型均适用。该值可以指定标量,也可以指定由一定范围内的或非连续的 ID 构成的数组。默认情况下,会导入所有扩展 ID 报文。
示例: [1 8:10 1001:1080]
数据类型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
返回绝对时间戳,指定为 true
或 false
。如果指定 true
,则返回的时间表包含日期时间格式的绝对时间戳。如果指定 false
,则返回的时间表包含持续时间类型的相对时间戳,相对时间戳为从文件的初始时间戳起计的历时。默认值为 false
,表示返回相对时间戳。
示例: AbsoluteTime=true
数据类型: logical
读取数据的间隔的开始时间和结束时间,指定为二元素向量。如果 AbsoluteTime=true
,请将 TimeRange
指定为日期时间向量。如果 AbsoluteTime=false
(默认值),请将 TimeRange
指定为持续时间向量。如果未指定,则读取所有数据采样。您无法将此选项与 IndexRange
结合使用。
示例: TimeRange=seconds([0,60])
数据类型: datetime
| duration
要从中读取数据的间隔的起始索引和结束索引,指定为二元素向量。这些索引包含边界值。如果未指定,则读取所有数据采样。您无法将此选项与 TimeRange
结合使用。
示例: IndexRange=[65:128]
数据类型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
报文格式,指定为 "CAN"
或 "LIN"
。默认值为 "CAN"
。如果您指定用于报文解码的 Database 参量,它必须与此协议一致。
示例: ProtocolMode="LIN"
数据类型: char
| string
输出参量
来自 BLF 文件的报文数据,以时间表元胞数组形式返回。如果您指定读取单个通道,则将返回时间表。
版本历史记录
在 R2019a 中推出Database
参量现在允许指定 ARXML 或 LIN Database
对象。
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)