Python解析CANoe录制的blf文件&asc文件通用方法

Python解析CANoe录制的blf文件&asc文件通用方法

一、背景

    由于很多时候我们在录制日志文件的时候更愿意选择BLF文件,至少目前我见到的很多公司都是使用的BLF文件来作为最后的日志文件,相比较ASC文件,BLF文件属于二进制文件,所以没有办法通过文本编辑器直接读写,所以本文章介绍了如何解析blf文件的方法,便于后面自己使用的时候能有地方可以回顾,但是在解析过程中,发现can库提供了接口方式,解析出来的内容也是相同的结构,所以就把两种解析放在一起做了,发现是没有什么问题的。

二、了解文件的结构

  • 在这里推荐一篇文章介绍的比较细致,点击直达。

  • 在我的解析文件中,我只关注了以下属性:

    • CAN报文类型(CAN还是CANFD)
    • 录制时报文所在的通道
    • 报文id
    • 报文方向(外发还是接受)
    • 报文长度
    • 时间戳-报文byte数据(字典)

三、代码主要的架构

  • 定义message类,类成员有(二)中提到的关心的属性;
  • 定义一个key为报文id,value为message类的字典,将所有解析出来的报文放在这个字典中;
  • 解析报文,按照CAN

你可能感兴趣的:(python,自动驾驶)