利用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)
上一篇 2020年11月8日 下午9:33
下一篇 2020年11月8日 下午9:33


相关推荐

  • 详述 Spring MVC 框架中拦截器 Interceptor 的使用方法

    详述 Spring MVC 框架中拦截器 Interceptor 的使用方法1前言  昨天新接了一个需要,“拦截XXX,然后OOO”,好吧,说白了就是要用拦截器干点事(实现一个具体的功能)。之前,也在网络上搜了很多关于Interceptor的文章,但感觉内容都大同小异,而且知识点零零散散,不太方便阅读。因此,正好借此机会,整理一篇关于拦截器的文章,在此分享给大家,以供大家参考阅读。2拦截器2.1概念  Java里的拦截器是动态拦截action调用的对象。它提

    2022年5月14日
    39
  • 什么是字节对齐,为什么需要字节对齐

    什么是字节对齐,为什么需要字节对齐概念 在 C 语言中 结构是一种复合数据类型 其构成元素既可以是基本数据类型 如 int long float 等 的变量 也可以是一些复合数据类型 如数组 结构 联合等 的数据单元 在结构中 编译器为结构的每个成员按其自然边界 alignment 分配空间 各个成员按照它们被声明的顺序在内存中顺序存储 第一个成员的地址和整个结构的地址相同 为了使 CPU 能够对变量进行快速的访问 变量的起始地

    2026年3月17日
    2
  • MySQL使用全文索引(fulltext index)

    MySQL使用全文索引(fulltext index)1.创建全文索引(FullTextindex)    旧版的MySQL的全文索引只能用在MyISAM表格的char、varchar和text的字段上。     不过新版的MySQL5.6.24上InnoDB引擎也加入了全文索引,所以具体信息要随时关注官网,   1.1.创建表的同时创建全文索引       CREATETABLEa

    2025年8月4日
    7
  • PDF转Word提示页数太多转换失败怎么办?

    PDF转Word提示页数太多转换失败怎么办?将PDF转换成Word是我们日常工作中经常会用到的,但有些时候转换时却提示页数太多无法转换,强行转换也总是失败,这是怎么回事呢?要怎么才能转换呢?一般普通的文档只有几十页多一些几百页,但是也有少部分文档比如一些数据统计、文献资料等可能多达几千页,而市面上一般超过500页的PDF文档转换就会报错,那么我们只能将PDF拆分成很多个再转换吗?转换后的Word合并也很难操作吧。所以我们需要更换其他更强大的转换工具,下面分享2个对于文档转换页数没有限制的工具以及各自的使用方法和优缺点。工具一:极速PDF转Wor

    2022年6月9日
    56
  • 使用Jquery+EasyUI进行框架项目开发案例解说之中的一个—员工管理源代码分享

    使用Jquery+EasyUI进行框架项目开发案例解说之中的一个—员工管理源代码分享

    2021年11月13日
    38
  • 通信协议篇——UART串口通信

    通信协议篇——UART串口通信通信协议篇 UART 串口通信

    2026年3月18日
    2

发表回复

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

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