使用CANdb++创建DBC文件详细指引(小白看完都会)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

提示:使用CANdb++创建DBC文件指引

CAN db++3.1 安装包获取

https://download.csdn.net/download/weixin_44081256/86862300?spm=1001.2014.3001.5503


提示:以下是本篇文章正文内容,下面案例可供参考

1.安装CANdb++3.1

在这里插入图片描述
获取CANdb的软件安装包
双击运行该程序
缺省安装(默认next)
在这里插入图片描述
更改安装路径(选择D盘)
在这里插入图片描述
点击Install后进入下载
点击Finish
在这里插入图片描述

2.CANdb++使用

2.1.新建dbc

点击File
点击Create Database
在这里插入图片描述
选择CANTemplate后点击OK
在这里插入图片描述
创建文件名
将工程文件放在同一目录方便查找
在这里插入图片描述
新建完成后
在这里插入图片描述

2.2.添加全局属性

1、在View->Attribute Definitions中新建全局属性GenMsgCycleTime
在这里插入图片描述
Comment:无法编辑,点击确定
这个属性表示的是报文的周期值
2、新建属性GenMsgSendType
在这里插入图片描述
Vaule Range 填写报文的发送类型
该属性表示报文的发送类型,周期还是事件型或者还是其它的(如:混合型)
在这里插入图片描述

2.3.新建Messages

1、右击Mesages=>New
在这里插入图片描述
2、填写Messages的相关属性
在这里插入图片描述
Name:为信息帧名
Type:为选择标准帧或拓展帧
ID:为帧的ID
DLC:为帧长度

2.4.新建Signals

1、右击Signals=>New
在这里插入图片描述
2、填写Signal的相关信息
在这里插入图片描述
Name:为信号名
Length[bit]:为该信号的位长度
Byte Order:选择信息的存储类型分别为英特尔和摩托罗拉
Value Type:数据类型,包括Signed(有符号整型)、Unsigned(无符号整型)、IEEE Float(浮点型)、IEEE Double(双浮点型)
Factor:为比重(精度)
Offset:为偏置量,偏移量
Unit:为信号量的单位
Calculate minimun and maximum:计算信号的最大值和最小值
Commit:添加注释
在这里插入图片描述
点击确认后生成:
在这里插入图片描述

2.5.Messages添加信号

右击Messages中的New_Message_1(0x0)
在这里插入图片描述
点击Signals
点击Add
在这里插入图片描述
选择好目标信息,点击OK进行添加
在这里插入图片描述
点击确认,添加完成

2.6.Messages信号排列

将该信息帧的信号添加结束后:
重新打开编辑该信息帧
在这里插入图片描述
将各信号移动到目标位置。(根据BMS整车通讯协议而定,不同时序位置不同)

2.7.修改Attributes中Message属性

右击编辑目标Msg
点击Attributes
在这里插入图片描述
双击Value中的属性可更改对应数值
更改完成后点击确定保存

2.8.新建枚举表

枚举表用于:表示的信号量是枚举类型
点击View=>Value Table
在这里插入图片描述
在这里插入图片描述
进入后,在空白处右键新建表格
在这里插入图片描述
Name:为枚举表名称
Comment:无法编辑,当枚举表索引到信号时,显示目标信号
在这里插入图片描述
点击Add添加枚举值
Value:为实际值;
Descriptions:描述
在这里插入图片描述
双击目标值可进行编辑;

2.9.将枚举表添加到Signal

点击目标信号;
右击Edit Signal
在这里插入图片描述
点击Value Table:选择已有枚举表
点击应用或确认即可。

2.10.新建节点

右键Network nodes,点击New,新建节点
在这里插入图片描述
点击确认(初次创建时,Address是不可编辑的,需设置属性后可编辑)
在这里插入图片描述
选择已有消息名,点击Edit message
选择Transmiters
在这里插入图片描述
点击Add
在这里插入图片描述
点击确定
在这里插入图片描述
节点中,发送信息帧已添加。

第二种将信息添加到节点的方法:
直接Edit Network,(右键已创建的节点)
在这里插入图片描述
通过Add将目标信息添加至节点。


总结

学会安装并使用CANdb++创建DBC文件,并对DBC文件进行相关操作

在《CANdb++:详述DBC文件创建全程与CAN报文示例》中,您将找到创建和设置DBC文件中信号、报文和网络节点的详尽指导。具体步骤如下: 参考资源链接:[CANdb++:详述DBC文件创建全程与CAN报文示例](https://wenku.csdn.net/doc/3xcknhqgho?spm=1055.2569.3001.10343) 1. **定义信号(Signals)**:信号代表了CAN消息中的数据部分。首先,您需要根据通讯矩阵中的定义创建信号。在CANdb++中,信号具有唯一的名称、ID、起始位、长度、类型(如有符号整数、无符号整数、浮点数等)、缩放因子和偏移量。例如,创建一个名为EngineSpeed的信号,其ID为0x123,长度为16位,类型为无符号整数,缩放因子为0.125,偏移量为0。 2. **创建报文(Messages)**:报文是由一个或多个信号组成的完整数据包。在CANdb++创建报文时,需要指定报文ID、长度、是否使用扩展标识符、是否为循环消息、消息周期等信息。然后将之前定义的信号添加到报文中。例如,创建一个ID为0x123的报文,包含EngineSpeed信号。 3. **设置网络节点(Networknodes)**:网络节点指的是参与CAN网络通信的各个电子控制单元(ECUs)。在CANdb++中,您需要定义每个节点的名称、类型和功能描述。例如,定义一个节点名为EngineECU,描述其功能是控制发动机。 4. **关联信号与报文**:在报文中关联信号,确保每个信号都正确地分配给它所属的报文。 5. **关联报文与网络节点**:指定哪些节点是报文的发送者,哪些节点是接收者。这有助于模拟实际的通信流程。 6. **执行一致性检查**:完成信号、报文和节点的设置后,使用CANdb++提供的工具进行一致性检查,确保没有遗漏或错误的配置,并符合CAN总线协议的要求。 在创建DBC文件时,务必参考实际的车辆电子系统架构和通讯矩阵,确保所创建的数据库能够准确地反映实际的车辆通信情况。通过以上步骤,您可以在CANdb++创建一个结构完整的DBC文件,为后续的车辆诊断和网络通信提供基础。 参考资源链接:[CANdb++:详述DBC文件创建全程与CAN报文示例](https://wenku.csdn.net/doc/3xcknhqgho?spm=1055.2569.3001.10343)
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

测机电子枸吴咬风

感谢投喂~喵

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值