CANoe工程中dbc文件的制作(车载测试必备技能)

每日直播时间:
周一到周五:20:00-23:00
周六与周日:9:00-17:00

直播内容:(车厂一比一测试)

HIL(硬件在环)测试、UDS功能诊断、UDS自动化诊断、数据库制作、DTC故障制造、CANoe工具使用、ECU刷写、报文解析、导航测试、车控测试、OTA升级测试、TBOX测试

使用CANdb++创建DBC文件

1 创建DBC文件的意义

1.1 什么是DBC

1.2 为什么要创建DBC

2 如何创建DBC

2.1 安装DBC工具

2.2 新建DBC文件

2.3 协议转换为DBC


  1. 创建DBC文件的意义
    1. 什么是DBC

DBC全称Database CAN,是描述网络上所有电子节点(ECU)之间CAN通信信息的数据库文件。 其内容与HTML语言相似,是标签语言的一种,DBC文件部分内容如图1-1所示。

62ff3bcb3e58445c91dac2c58789897b.png

1-1 DBC文件部分内容图

    1. 为什么要创建DBC

例如在调试汽车发动机时,需要一个仪表和油门来控制发动机转速和查看发动机转速,为能快速实现控制转速和查看时实转速,可以使用计算机来接收发动机转速数据和控制发动机转速。

此时计算机收到的数据需要按照协议进行解析,如“2B C1 3C 00 00 00 00 00”里面包含了转速、状态、温度等信息,无法直观看到,需要解析:前12位代表发动机转速,转换为十进制为750,乘以精度信息,实际转速为7500,第13位到第16位代表了状态信息,转换为十进制为1,代表启动状态。17到24位代表了温度信息,转换为十进制为60,减去偏移量为实际温度20度。

以上解析过程为手动解析,在实际使用过程中,需要计算机根据协议自动解析。此时就需要将协议写入DBC文件,让计算机根据DBC文件中的协议,自动将数据中的信息解析出来。

  1. 如何创建DBC
    1. 安装DBC工具

获取到CANdb++ 3.1安装包后,双击进行安装。持续点击下一步,即可安装完成。

5e44929dccf14bfa871094ab17c34ed3.png

2-1 CANdb++ 3.1 安装包属性图

    1. 新建DBC文件

安装完成后,打开CANdb++3.1,界面如图2-2所示。

1d22f3128f154c49b7463413e1d1631e.png

2-2 CANdb++ 3.1工作界面图

在工作界面左上角,依次点击“File”、“Create Database”,选择“CANTemplate.dbc”后,点击“OK”。此时需要选择文件保存路径,选择合适的路径保存即可。保存完成后,DBC文件将自动打开,进入编辑界面,如图2-3所示。

daac6730e3fb4c8ba12870ea616318d8.png

2-3 DBC文件打开图

    1. 协议转换为DBC

本文将使用图2-4所示的协议内容,作为示例,转换为DBC文件。

61861fd05635441b8b2690a4334c62ff.png

2-4 某控制器部分协议内容

首先创建的内容是报文信息,如图2-4所示,包含两帧报文信息,分别是“FCSHCPCmd”和“FCSHCPStatus1”。其中每帧报文又包含若干个信号,如“FCSHCPCmd”报文包含了“FCSHSpdSet”“FCSHCPMode”“TempAmb”“RollingCounter_0x331”“Checksum_0x331”五条信号。

如图2-5所示,右击“Massages”标签,点击“New...”标签,创建报文信息,填入相应的信息:

Name:信息帧名;

Type:为帧类型,可选内容为“CAN Standard”和“CAN Extended”。分别表示该帧为标准帧和拓展帧;

ID:表示该帧的ID号;

DLC:表示该帧的长度。

如图2-6所示。以同样的方式,创建第二帧报文。

eb0de35cd46140a5b63f8b40b28996a4.png

2-5 新建报文信息图

e33e7749337a4dfb8179c9f8a2ca0b69.png

2-6 报文信息编辑图

报文信息创建完成后,创建信号信息。右击“Signals”标签,然后点击“New...”标签,创建信号信息,填入相应的信息:

Name:信号名称;

Length[bit]:该信号位长度;

Byte Order:信息储存类型,可选内容为“Intel”和“Motorola”类型;

Value Type:数据类型;

Factor:精度;

Offset:偏移量;

Unit:信号单位;

Calculate minimun and maximum:计算信号的最大值和最小值;

Commit:添加注释;

1d1ced96bcfe46a6986112a17b915041.png

2-7 新建信号信息图

9d6c8824ce1b4595a40574b15092db93.png

2-8 信号信息编辑图

如图2-8所示,填入相关参数。依次点击“Messages”标签,“Add...”标签,点击所属报文,点击“OK”添加。如图2-9所示。其他信号添加方式与此相同。

560046db8df94b94ba57d330a583c11c.png

2-9 信号信息添加所属帧信息图

图2-3中,部分信号为枚举型,此时需要添加枚举表赋予该信号。如图2-10所示,依次点击“View”标签,“Value Tables”标签,进入编辑界面。

d01cb43880eb426aa770564e2646315a.png

2-10 添加枚举信号图

进入枚举编辑界面后,右击空白处,点击“New”标签,添加枚举变量,进入变量设置界面,如图2-11所示。输入名称后,依次点击左上角标签“Value Descriptions”,右下角标签“Add”,编辑新建的枚举,以“FCSHCPMode”信号为例,编辑好的枚举变量,如图2-12所示。

79482b13ec924c40bd53d1eed96a94ce.png

2-11 枚举信号添加界面图

5aa77310746844e4aa887c4dbdd32cc3.png

2-12 枚举信号编辑界面图

点击确定后,双击枚举对应的信号,将枚举匹配至该信号。如图2-13所示,依次点击“Value Table”标签,点击枚举变量名称,点击确定。

6103f0fa746e44369e12056e37c31fd7.png

2-13 枚举添加界面图

信号编辑完成后,需要创建发送方和接收方节点。如图2-14,依次右击“Network nodes”,点击“New..”标签,进入节点编辑界面。

117affc3db2649c3acf2c940ec13e245.png

2-14 节点添加界面图

编辑节点名称后,点击“Mapped Rx Sig”标签,点击“Add:all form one message”标签,选择该节点接收类型的数据帧,如图2-15所示。点击“ok”标签后,再点击“Tx Massage”,再点击“Add...”标签,选择该节点要发送的数据帧,再点击“OK”标签、“确定”标签,如图2-16所示。

29240939dda24bd4ac257757024362f0.png

2-15 接收节点编辑界面图

e947823323af45808816a13534321d12.png

2-16 发送节点编辑界面图

一个完整的CAN通讯需要至少两个节点才能实现,一帧报文需要一个接收节点和一个发送节点,故至少需要创建两个以上的节点。

以上功能设置完成后,进行一致性检查,如图2-17所示,点击左上角“File”标签,

点击“Consistency check”标签,若无内容,则表示一致性检查通过。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值