利用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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • iptable 理解

    iptable 理解这个当初我理解不了,主要是没把netfilter理解清楚。Netfilter是集成在内核中的,用来定义存储各种规则的。Iptalbe是修改这些规则的工具,修改后存在netfilter里面。数据包进入LINUX服务器时,先进入服务器的netfilter模块中进行判断处理。 Netfilter包含有三种表,三种表下共包含有五种链,链下面包含各种规则。即表包含若干链,链包含若干规则。 …

    2022年5月28日
    97
  • simHash 简介以及java实现[通俗易懂]

    simHash 简介以及java实现[通俗易懂] 传统的hash算法只负责将原始内容尽量均匀随机地映射为一个签名值,原理上相当于伪随机数产生算法。产生的两个签名,如果相等,说明原始内容在一定概率 下是相等的;如果不相等,除了说明原始内容不相等外,不再提供任何信息,因为即使原始内容只相差一个字节,所产生的签名也很可能差别极大。从这个意义上来 说,要设计一个hash算法,对相似的内容产生的签名也相近,是更为艰难的任务,因为它的签…

    2022年10月1日
    0
  • BP神经网络算法_bp神经网络算法流程图

    BP神经网络算法_bp神经网络算法流程图1、前馈神经网络、反馈神经网络、BP网络等,他们之间的关系前馈型神经网络:取连续或离散变量,一般不考虑输出与输入在时间上的滞后效应,只表达输出与输入的映射关系;在此种神经网络中,各神经元从输入层开始,接收前一级输入,并输入到下一级,直至输出层。整个网络中无反馈,可用一个有向无环图表示。常见的前馈神经网络有感知机(Perceptrons)、BP(BackPropagation)网络、RBF(

    2022年9月3日
    3
  • ci框架子类继承父类时,报错Fatal error: Class ‘BaseController‘ not found in C:\xampp\htdocs「建议收藏」

    ci框架子类继承父类时,报错Fatal error: Class ‘BaseController‘ not found in C:\xampp\htdocs

    2022年2月18日
    47
  • 圆桌排列组合问题_圆桌相邻概率

    圆桌排列组合问题_圆桌相邻概率假设有来自 m 个不同单位的代表参加一次国际会议。每个单位的代表数分别为 ri(i=1,2,…,m)。会议餐厅共有 n 张餐桌,每张餐桌可容纳 ci(i=1,2,…,n) 个代表就餐。为了使代表们充分交流,希望从同一个单位来的代表不在同一个餐桌就餐。试设计一个算法,给出满足要求的代表就餐方案。输入格式第 1 行有 2 个正整数 m 和 n,m 表示单位数,n 表示餐桌数。第 2 行有 m 个正整数,分别表示每个单位的代表数 ri。第 3 行有 n 个正整数,分别表示每个餐桌的容量 ci。输

    2022年8月9日
    3
  • get和post的区别

    get和post的区别

    2021年8月30日
    52

发表回复

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

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