利用CANdb++ Editor在DBC文件中进行报文解析(详细教程)

利用CANdb++ Editor在DBC文件中进行报文解析(详细教程)

摘要: CANdb++是汽车CAN总线DBC文件的编辑软件。由于官网下载的文件存在bug,在这里我将官网和修复bug的文件一并进行上传(所有的文件都在这里了)。下面提供CANdb++软件的使用教程。

CANDB++软件下载连接: https://download.csdn.net/download/RNG_uzi_/12967834

目录:

1、CANdb++软件安装

安装完成后会提示缺少Cdbstat.dll文件,这里我已经将该文件放到下载文件的主目录文件夹下。需要复制Cdbstat.dll文件,复制到C:\Windows\SysWOW64
在这里插入图片描述

2、DBC文件添加帧CAN_ID和信号CAN_Signal

DBC(Data Base CAN)文件用于描述单个CAN网络的通信,DBC文件格式比较固定、不会产生歧义和理解误差,便于交流。下面在已有的DBC中增加帧Frame ID和信号Signal。

软件示意图
在这里插入图片描述
在这里插入图片描述

2.1、打开“CANdb++ Editor”,在”Signals”中增加一个信号;

(1)新建项目
图片来源于网络
(2)右击“Signals”,在上下文中选择“New”,弹出如下对话框
在这里插入图片描述
在这里插入图片描述
(3)编辑“Signal‘New_Signal_6’”对话框中的信息;
?编辑信号基本信息:
修改前:
在这里插入图片描述
修改后:
在这里插入图片描述

注:
“Name:”表示该信号的名称;
“Length[Bit]:”表示该信号的长度,以Bit度量;
“Byte Order:”表示数据格式,有“Motorola(大端模式)”,“Intel(小端模式)”可选,根据实际情况选择;
“Value Type:”表示数据是有/无符号类型(若偏移量为0,需要表示负数,则该项选择Signed; 若偏移量为负数,需要表示负数,则该项选择Unsigned。);
“Factor:”表示分辨率;
“Offset:”表示偏移量;
“Minimum:”和“Maximum”表示该信号实际范围;
“Init.Value:”表示该信号的初始值;
“Unit:”表示单位。
解析数据时:实际的信号物理值 = 分辨率 * CAN信号值 + 偏移量

?对该信号添加备注:
修改前:
在这里插入图片描述
修改后:
在这里插入图片描述

2.2、在“CANdb++ Editor”右侧的”Message”中增加一个ID;

(1)右击“Message”,在上下文中选择“New”,弹出如下对话框;
在这里插入图片描述
在这里插入图片描述
(2)编辑“Message‘New_Message_4’”对话框中的信息;
?编辑ID基本信息:
修改前:
在这里插入图片描述
修改后:
在这里插入图片描述

注:
“Name:”表示新增ID的名称;
“ID:”用十六进制表示,如果是标准帧,范围:0~0x7FF;
“DLC:”表示新增ID实际的长度,最大为8.

(3)添加该ID的信号:
修改前:
在这里插入图片描述
修改后:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(4)定义该ID发送节点:
修改前:
在这里插入图片描述
修改后:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(5)将信号拖动到合适的位置
修改前:
在这里插入图片描述
修改后:
在这里插入图片描述
(6)定义该ID的周期和发送类型
修改前:
在这里插入图片描述
修改后:
在这里插入图片描述
(7)给该ID添加备注:
在这里插入图片描述

2.3、对ID中的信号添加接收的节点;

(1)双击Message里ID中的信号(最底层文件):
在这里插入图片描述
修改前:
在这里插入图片描述
修改后:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.4、对ID中的信号增加“值描述”;

(1)在菜单栏中选择“View”à“Value Tables”
在这里插入图片描述
(2)在空白的位置右击,并在上下文中选择“New”;
在这里插入图片描述
(3)在弹出的对话框中,编辑相关信息;
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(4)对Message中的信号增加“值描述”。
?双击Message里ID中的信号:
在这里插入图片描述
?对该信号增加“值描述”
修改前:
在这里插入图片描述
修改后:
在这里插入图片描述
在这里插入图片描述
综上,新增CAN_ID和CAN_Signal已经完成。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/2131.html原文链接:https://javaforall.net

(21)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • js给数组添加数据的方式/js 向数组对象中添加属性和属性值[通俗易懂]

    js给数组添加数据的方式/js 向数组对象中添加属性和属性值[通俗易懂]参考:https://www.cnblogs.com/ayaa/p/14732349.htmljs给数组添加数据的方式有以下几种:直接利用数组下标赋值来增加(数组的下标起始值是0)例,先存在一个有3个数据的数组:letarr=[1,2,3];console.log(arr);  此时输出的结果是[1,2,3]letarr=[1,2,3];arr[3]=5;console.log(arr);  此时的输出结果是[1,2,3,5];通过数组名[数组名.le.

    2022年6月11日
    238
  • 贴片电阻功率与尺寸对照表文库_贴片电阻功率怎么看

    贴片电阻功率与尺寸对照表文库_贴片电阻功率怎么看电阻封装尺寸与功率关系,通常来说:02011/20W 04021/16W 06031/10W 08051/8W 12061/4W电容电阻外形尺寸与封装的对应关系是:0402=1.0×0.51/16W 0603=1.6×0.81/16W~1/10W 0805=2.0×1.21/10W~1/8W 1206=3.2×1.61/8…

    2022年8月21日
    6
  • 关于System.arraycopy方法的使用

    关于System.arraycopy方法的使用随时随地阅读更多技术实战干货,获取项目源码、学习资料,请关注源代码社区公众号(ydmsq666)在对数组进复制时,我们可以编写一个for循环实现,但是比较麻烦,我们可以使用System类的静态方法arraycopy()。arraycopy()方法的签名如下:publicstaticvoi…

    2025年7月23日
    3
  • 生物AI插图免费领取[通俗易懂]

    生物AI插图免费领取[通俗易懂]人靠衣装,佛靠金装,科研成果靠图装。如今做科研不仅只需要会做实验,如何将成果美美地展示出来也是一门需要培养的技能。科研海报、项目PPT、论文插图、通路图……这些直接刺激人感官的展示都可以帮助升华我们的科研内容。之前我们介绍过如何用AdobeIllustrator对图形进行编辑、拼合、排版、简单模式图绘制,并录制了视频,放在了腾讯课堂,http://bioinfo.ke.qq.com,可免费观…

    2022年6月9日
    30
  • js对象和jquery对象的区别

    js对象和jquery对象的区别

    2021年10月18日
    40
  • 磁盘初始化的过程

    磁盘初始化的过程1.低级初始化(物理初始化)1.1将磁盘分成扇区以便读写操作。1.2为每个扇区采用特别的数据结构2.磁盘分区将磁盘分为由一个或多个柱面组成的分区(C盘D盘)3.逻辑格式化3.1创建文件系统(根目录等)3.2将初始文件系统的数据结构存储到磁盘上(空闲、已分配的空间及一个空目录)…

    2022年9月21日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号