1. 项目背景:
工作中会涉及根据CAN通信矩阵表格来编写DBC文件,查找了相关的开源代码和工具都不太符合我的使用场景,所以查找了各种资料编写了一个python脚本来实现CAN通信矩阵表格和DBC文件的相互转换【Excel_&&_DBC】。
2. 项目说明:
2.1. CAN通信矩阵表格转DBC时需要将表格转换为xlsx文件,更为具体说明见使用手册,如下图:
2.2. 表格转DBC支持各种错误检查:
(1) 检查对应属性列的值是否是定义的对应变量类型或者可转换为对应类型变量类型,包括常规的信号格式(Motorola\Intel)、信号值类型( 有Unsigned、Signed、IEEE Float、IEEE Double,其中的IEEE Float、IEEE Double不常用)、报文ID是否在要求范围内(区分为标准帧和拓展帧) 等。
(2) 报文中信号的排列错误,包括:重叠、越界。
(3) 检查信号的最大值、最小值、初始值是否在表达式表达范围内。
(4) 检查枚举变量属性对应列的值是否在下拉列表内(比如:报文属性 ILused 的枚举下拉列表包含Yes、No)。
(5)报文、信号、属性等名字的字符长度检查。
3. 相对于其他开源工具的优点:
(1) 表头只