python解析can报文_解析.DBC文件, 读懂CAN通信矩阵,实现车内信号仿真

通常我们拿到某个ECU的通信矩阵数据库文件,.dbc后缀名的文件。 直接使用CANdb++ Editor打开,可以很直观的读懂信号矩阵的信息,例如下图:

现在要把上图呈现的信号从.dbc文件中解析出来,供实现自动化仿真总线信号使用,比如使用python+支持can收发的硬件即可替代canoe实现信号仿真(性能上不够用,可满足功能测试所需)。

一个标准CAN帧中包含的信息有,消息ID、报文发送周期、 报文长度、信号信息等。

开始解析前,先了解一下报文帧。下表体现了摩托罗拉字节位序的报文发送时的字节序和bit序,一会儿可以帮助我们理解dbc中的定义

我使用了notepad++打开数据库文件,提取数据库文件中的关键信息。此处随意选取了其中一个ID=1015(dec)作为例子讲解。全文本搜索1015,结果如下:

Line 62: BO_ 1015 IPK_ODO_Consump: 8 Vector__XXX

Line 883: CM_ BO_ 1015 "Transmitted by IPK, including EV DTE odometer, power consumption and fuel consumption";

Line 884: CM_ SG_ 1015 IPK_EVDTEodometer "The EV DTE odometer ";

Line 1265: BA_ "GenMsgCycleTime" BO_ 1015 1000;

Line 1463: BA_ "Ge

你可能感兴趣的:(python解析can报文)