使用CANdb++制作dbc文件(小白笔记)

什么是dbc文件?

dbc是Datebase CAN的缩写,是CAN网络的数据库文件,可定义CAN网络的节点(Network node)、报文(Message)、信号(signal),包括各个节点会发送哪些报文和接受那些报文,每个报文包含哪些信号,每个信号每个信号位于报文的哪个位置等。

制作dbc文件有什么用?

可以通过定义好的dbc文件,将CAN网络中数据解析成具体的报文(Message)和信号(signal),以方便我们对其进行分析。 DBC文件的作用就是帮助我们直接得到报文数据代表的含义,省去了查通讯协议这步骤,直接得到报文数据表示的是什么数据。

1.建立工程

2.点击File  -> Create database 再选择模板,然后确定好名字和保存路径

 3.添加信号

创建Signals,右键Signals 选择NEW 创建信号,会弹出下面窗口

创建一个名字(Name):Max_CellVolt 

字节长度(Lenght):16bit

字节顺序(Byte Order):Motorola    (字节顺序有两种模式:一种为Intel,另外一种为Motorola;区别为Intel 高字节(8bit)在后,低字节(8bit)在前;Motorola高字节(8bit)在前,低字节(8bit)在后。

例如:5330 数值用十六进制表示时,若用Motorola格式:14 D2;若用Intel格式:D2 14)

数值类型(Value Type):Unsigned 无符号  (数值类型有4种格式:Signed ,Unsigned,IEEE Float ,IEEE Double)

“Factor:”  表示分辨率; “Offset:”  表示偏移量;

“Minimum:”和“Maximum”表示该信号实际范围;比如,截图中最大值是30 即信号值3000*0.01(Factor) = 30,即信号的最大值是3000.

“Init.Value:” 表示该信号的初始值;

“Unit:”表示单位。 解析数据时:实际的信号物理值 = 分辨率 * CAN信号值 + 偏移量

最小值与最大值可以点击 Calculate minimum and maximum 自行生成(这里的最大最小值是根据你选的字节长度和数值类型决定的)。

 4.添加报文(message)

选中左侧的message,鼠标右击,选择NEW

 

Name:” 表示新增ID的名称;

Type:标准帧还是扩展帧;

“ID:” 用十六进制表示,如果是标准帧,范围:0~0x7FF;

“DLC:” 表示新增message的实际的长度,最大为8

然后添加该message的signals,点击Add,添加。

 5.根据需求添加节点

6.完成节点与信号的mapped 关系 例如下图

节点与报文发送添加; 

 7.导入和属性设置

导入属性,我们选择一个vector自带的dbc文件作为导入文件

在这里插入图片描述

 导入后可以再修改

主要关注报文周期和发送类型这两个,比如报文周期,多久发一帧,总要定义吧,发送类型,是周期发送还是不发送,也要定义。

8.一致性检查

 没错就可以。

还有对信号中的值增加描述信息可参考下文

增加 值描述

 选项卡 View 下 ValueTables,根据需求新建定义及值描述如下图,

新建好值描述后,在信号中的Value Table中添加。 

 

本文学习笔记  参考资料如下,都是写的很好的。

(13条消息) 从零开始学习CANoe(二)—— CANdb++ 创建 dbc文件_蚂蚁小兵的博客-CSDN博客_canoe导入dbc文件(13条消息) CANdb++的使用教程_Ashton_Li的博客-CSDN博客_candb++

(14条消息) CANdb++从安装到使用_zhuohui307317684的博客-CSDN博客_candb++

  • 14
    点赞
  • 102
    收藏
    觉得还不错? 一键收藏
  • 14
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值