Canmetry
打开工作台

直接在浏览器里把 BLF 转成 MAT 或 CSV。

把 Vector BLF 日志转成 MATLAB .mat 或 CSV,用你的 DBC 解码,不需要 Vector 授权。

第 1 步,共 4 步 · 上传日志

把 BLF 文件拖到这里

或

.blf 文件最大 150 MiB,一次最多 5 个。转换在你的浏览器里完成,文件不会离开你的电脑。

CAN · CAN FD · 1 µs 时间戳

BLF 变成 MAT 之后能做什么

CANoe 或 CANalyzer 录下的 BLF 日志里是原始报文。大多数人转换它,是因为分析发生在别处:MATLAB、Python 或报告里。

804000 s60 skm/h

把 BLF 数据载入 MATLAB

得到可以画图、滤波、接入 Simulink 的普通结构体和数组。转换后的文件不需要额外工具箱就能打开。

把 CANoe 日志交给没有 Vector 授权的人

台架和供应商发来的 BLF,原生只有 Vector 工具能打开。.mat 或 .csv 则到处都能打开。

from scipy.io import loadmat
d = loadmat('drive.mat', squeeze_me=True,
            struct_as_record=False)
# fields: time, value, unit
speed = d['ESP_VehicleSpeed']

在 Python 里分析 BLF 数据

用 SciPy 读取 .mat,或用 pandas 读取 .csv,从行驶工况里生成报告、统计结果或训练数据。

从很长的 BLF 里取出几个信号

从一段录制里取出车速、扭矩或故障标志,不用搭数据库,也不用配置测量工程。

从 BLF 到信号,只要四步

一共四步,都在浏览器里完成。BLF 文件和 DBC 文件不会被上传。

  1. 添加 BLF 文件

    拖入最多五个 .blf 文件。文件在浏览器里打开,里面的通道(包括 CAN FD)会被一一列出。

  2. 为每个 CAN 通道映射 DBC

    一份 BLF 常常记录了好几条总线。给每个通道配上对应总线的 DBC;把 DBC 拖到通道文件夹上,一步就能完成。

  3. 选择 MAT 或 CSV

    MAT 适合 MATLAB 和 SciPy,CSV 适合 Excel 和 pandas。转换前可以改文件名。

  4. 转换并下载 .mat

    报文用你的 DBC 解码,结果保存成 .mat 或 .csv,可以马上下载。

转换后的 BLF 数据里有什么

只导出解码后的信号,保留全部采样点,时间以第一帧解码数据为起点,单位为秒。

infostruct
source'drive.blf'
channels[1 2]
signal_count630
time_unit's'
ESP_VehicleSpeedstruct
timeN×1 double
valueN×1 double
signal'VehicleSpeed'
message'ESP'
unit'km/h'
channel1
VCU_DrvTorReq · BMS_PackVoltage · …
  • .mat 的结构

    每个信号是一个名为“报文名_信号名”的结构体,里面有 time 和 value 数组,旁边是 unit、message 和 channel。另有一个 info 结构体,写明来源 BLF 及其通道。

  • CSV 表格

    每个采样点一行:time_s、time_us、channel、message、signal、value、unit,直接就能载入 Excel 或 pandas。

  • 没有 DBC 时留下的部分

    ID 不在已关联 DBC 里的报文不会导出,没有 DBC 的通道、远程帧和错误帧也一样。把正确的 DBC 关联进来,它们才会出现。

  • 单次转换的上限

    一次五个 BLF,每个最大 150 MiB。单个 CSV 最多 200 万行;行驶工况更长就用 MAT,它没有行数限制。

关于 BLF 转 MAT 的问题

要从 BLF 里取出信号,需要准备什么?

一份 BLF,以及它所记录的每条总线对应的 DBC。把日志拖进来,关联 DBC,选 MAT 后转换;.mat 会直接从页面下载,不需要安装,也不会上传。

没有 DBC,BLF 为什么转不成 MAT?

BLF 里只有 CAN 报文:一个 ID 加几个字节。名称、系数和单位都在 DBC 里,所以是 DBC 把字节变成了轮速之类的信号。

不用 CANoe、CANalyzer 或 MATLAB 也能做吗?

转换本身可以。只有事后打开 .mat 时,才需要 MATLAB 或 SciPy 这类能读 MAT 的工具。

BLF 会离开我的电脑吗?

不会。文件和你的 DBC 都在浏览器标签页里读取、解码并写出。

一份 BLF 里有多条总线,DBC 怎么用?

每个通道关联一个 DBC。如果一个通道有两个,每一帧由最先关联且定义了其 ID 的 DBC 解码,第二个只处理第一个没有的 ID,因此信号不会重复。

有些信号去哪了?

只写出 DBC 能解码的内容。ID 不在已关联 DBC 里的报文、没有 DBC 的通道、远程帧和错误帧都会被略过。请检查每个通道是否关联了正确的数据库。

输出可以是 CSV 而不是 MAT 吗?

可以:在输出步骤选 CSV,得到一张解码后的采样表。单个 CSV 最多 200 万行,行驶工况很长时用 MAT 更合适。想要原始报文而不是信号,请用 BLF 导出 CSV。

支持 CAN FD 和大文件吗?

CAN 和 CAN FD 都能解码。每个 BLF 最大 150 MiB,一次五个,每份日志各生成一个输出文件。