Canmetry
打开工作台

BLF 转 ASC 转换器,Vector CAN 日志无需 CANoe

把 CANoe 或数据记录仪生成的 BLF 转成可读的 ASC 文本,或原始报文 CSV。CAN 和 CAN FD 报文按记录原样保留,文件不会离开你的浏览器。

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

把 BLF 文件拖到这里

或

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

CAN · CAN FD · 1 µs 时间戳

什么时候 BLF 需要变成文本

BLF 是二进制容器。下面这些情况,纯文本的 ASC 更合适。

date Wed Oct 21 10:42:03.123 2026
base hex timestamps absolute
internal events logged
Begin Triggerblock Wed Oct 21 10:42:03.123 2026
   0.000000 Start of measurement
   0.000000 1 1A0             Rx   d 8 00 40 1F 00 01 00 00 00
   0.010000 1 3E8             Rx   d 8 11 22 33 44 55 66 77 88
   0.020000 CANFD 1 Rx    18DAF110x 1 0 f 64 …

用文本编辑器查看 BLF

ASC 是纯文本。可以用任何编辑器打开、搜索某个 ID,也能提交到 Git,逐行比较两次采集。

% reads ASC, not BLF
data = canSignalImport('drive.asc',
                       'powertrain.dbc');

交给只认 ASC 的工具

很多脚本和导入工具读取 Vector 的 ASC 格式而不是 BLF,MATLAB 的 canSignalImport 就是其中之一。

CANoe: Tools, Logging File Conversion
drive.blf → drive.asc
Here: no licence, nothing installed

没有 CANoe 授权也能 BLF 转 ASC

Vector 自己的做法是在 CANoe 里用 Tools、Logging File Conversion。这个页面做同样的事,什么都不用安装。

$ grep ' 1 3E8 ' drive.asc | wc -l
105880
$ awk '$2==2' drive.asc | head

用 grep、awk 或脚本处理采集

一帧一行,用 grep、awk 或几行 Python 就能取出某个 ID 或某个通道。

BLF 进,ASC 出

三步,全部在浏览器里完成。

  1. 上传 BLF

    最多拖入五个 BLF 文件,继续之前会检查每个文件是否有可读的 CAN 报文。

  2. 选择 ASC 或 CSV

    默认是 ASC。需要原始报文表格就选 CSV,也可以改文件名。

  3. 下载

    每个 BLF 生成一个同名文件。全程不会上传任何内容。

ASC 文件里有什么

报文按记录原样复制,不做解码,所以不需要 DBC。

drive.asc
date Wed Oct 21 10:42:03.123 2026
base hex timestamps absolute
internal events logged
Begin Triggerblock Wed Oct 21 10:42:03.123 2026
   0.000000 Start of measurement
   0.000000 1 1A0             Rx   d 8 00 40 1F 00 01 00 00 00
   0.010000 1 3E8             Rx   d 8 11 22 33 44 55 66 77 88
   0.020000 CANFD 1 Rx    18DAF110x 1 0 f 64 …

本页面写出的 ASC 文件开头几行,来自合成示例日志。

  • ASC 格式

    日期文件头、十六进制基数加绝对时间戳,然后每帧一行:时间、通道、ID、方向、长度和数据。29 位 ID 以 x 结尾,CAN FD 报文使用带 BRS 和 ESI 的 CANFD 行。

  • 原始报文 CSV

    每帧一行:时间、通道、ID、ID 格式、类型、长度和数据字节。每个文件最多 2,000,000 帧。

  • 保留的内容

    CAN、CAN FD、远程帧和错误帧;通道像 CANoe 一样从 1 开始编号,时间戳从第一帧开始计时。

  • 不保留的内容

    不带 BLF 里的收发方向,所有帧都写成 Rx。LIN、FlexRay 和以太网对象会被跳过。ASC 没有公开规范,写出的格式参照 CANoe 和 python-can。

BLF 转 ASC:常见问题

没有 CANoe 能把 BLF 转成 ASC 吗?

可以。选择 BLF,保持 ASC,下载结果即可。CANoe 在 Tools、Logging File Conversion 里做同样的事,但需要授权。这个页面不需要安装任何东西。

转换在哪里进行?

在你的浏览器标签页里。BLF 在本地读取,ASC 在本地写出,不涉及任何服务器,适合试制车辆的日志。

CAN FD 报文会保留吗?

会。它们写成 CANFD 行,最多 64 字节数据,并带 BRS 和 ESI 标志。位时序字段写成 0,与 python-can 的做法一致。

为什么每一帧都标成 Rx?

转换器不携带 BLF 里的 Tx 或 Rx 方向,所以每帧都写 Rx。如果需要方向,请用 CANoe 转换。

CANoe 或 CANalyzer 能打开这个 ASC 文件吗?

文件遵循 CANoe 和 python-can 写出的格式,本站自己的 ASC 读取器能逐帧读回。我们没有测试过每个 Vector 版本,如果某个工具拒绝文件,请对照本页的示例检查文件开头几行。

BLF 最大可以多大?

每个 BLF 最大 150 MiB,一次可以添加五个。单个输出文件最多约 400 MB(ASC)或 2,000,000 帧(CSV),更大的采集需要先拆分。

可以用我的 DBC 解码信号吗?

这个页面不行,它复制的是原始报文。要得到解码后的信号值(MAT 或 CSV),请用 BLF 转 MAT 转换器,它会为每个通道映射 DBC。