Python解析CANoe录制的asc文件

Python解析CANoe录制的asc文件

一、背景

    由于很多时候我们需要单纯分析一些报文数据,筛选或者一些故障报文,这个时候,用CANoe打开太占用设备了,而且只能过滤到某一帧报文,当我们能够使用python解析数据的时候,我们可以精确到某一个字节上,这样能够是我们的分析更加精准和高效,所以本文章介绍了如何解析asc文件的方法,便于后面自己使用的时候能有地方可以回顾。

二、了解文件的结构

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

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

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

三、代码主要的架构

  • 定义message类,类成员有(二)中提到的关心的属性;
  • 定义一个key为报文id,value为message类的字典,将所有解析出来的报文放在这个字典中;
  • 解析报文,按照CAN和CANFD两种不同的类型分别创建类,并将相同报文的时间戳和数据放在一个类中,并将字典返回

你可能感兴趣的:(python,开发语言)