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

标签: STM32  can

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

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已经完成。

版权声明:本文为RNG_uzi_原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/RNG_uzi_/article/details/109160037

智能推荐

【DBC专题】-5-DBC文件格式解析

目录 0 DBC文件中“符号字符串”命名要求 1 DBC文件的标头 2 Bit Timing波特率定义 3 Node节点定义 4 Value Table值表定义 5 Message消息定义 5.1 标准帧Message定义举例 5.2 扩展帧Message定义举例 6 Signal信号定义 7 Value Table指标的绑定Signal信号 8 Comment注释定义 8...

Django连接Mongodb详细教程(利用mongoengine)

一、了解MongoDB数据库? 简介:MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统,面向文档存储的数据库,类JSON的数据格式,自由灵活。 优点:可扩展分片集群,海量数据存储,针对大量数据查询速度更快。 二、 MongoEngine是什么? 简介:MongoEngine是一个对象文档映射器,用Python编写,可用于MongoDB,简单理解就是讲文档(j...

利用AppMetrics对Web进行监控教程

一、基础准备 1. 安装依赖 这里可以通过nuget或使用命令行进行安装,具体需要安装的类库如***意版本): 由于我们需要兼容Prometheus进行监控,所以我们还需要安装对应的格式化库,具体如下: 以上就是需要的类库,接下来我们开始进行其他初始化部分。 2. 初始配置 为了保证其能够正常工作,我们需要根据不同的环境设定对应的appsettings.json文件从而让度量指标可以根据不同的环境...

在jsp中进行文件的读写操作

1.实验目的 本实验的目的是掌握怎样在JSP中进行文件的读写操作。 2.实验内容 编写三个JSP页面giveContent.jsp,writeContent.jsp、readContent.jsp以及两个Tag文件WriteTag.tag和ReadTag.jsp。 1.giveContent.jsp的具体要求 giveConten.jsp页面提供一个表单,要求该表单提供一个text文本输入框、se...

利用文件名进行GetShell---CTF题目的相关知识解析

0x00 环境 今天白老师扔给我了一个虚拟机,里面有4道CTF的相关网站,我检视了一在/va/www目录下主要有四个文件夹,映射到了8081-8084四个端口。还有一个struts的漏洞测试环境。 随后找了一个看似比较简单的题目尝试一下,解题之前我比较好奇是如何映射的端口,过程不表。 8081-8084是通过apache服务器进行的映射。配置文件位于/etc/apache2/ports.conf,...

猜你喜欢

利用POI进行Excel 文件的读取

利用Apache POI 进行Execl 文件的读写的Demo 导入依赖 写入Excel文件 Excel文件中显示 从Excel文件进行读取...

网络编程

主要内容 软件架构CS/BS 网络通信三要素 TCP通信 Socket套接字 ServerSocket 教学目标 能够辨别UDP和TCP协议特点 能够说出TCP协议下两个常用类名称 能够编写TCP协议下字符串数据传输程序 能够理解TCP协议下文件上传案例 能够理解TCP协议下BS案例 第一章 网络编程概述 1.1 软件结构 C/S结构 :全称为Client/Server结构,是指客户端和服务器结构...

JavaScript实现软件光栅化渲染器01-如何画点

项目代码:https://github.com/foupwang/JavaScript3DRenderer 开发环境:VSCode+Chrome浏览器 参考:《Windows游戏编程大师技巧》(第2版) /《3D游戏编程大师技巧》(André LaMothe) QQ交流群:1148938167(欢迎加入探讨图形渲染技术) 整个项目跟平台相关的,只需要一个类似DrawPixel的绘制像...

android基础之(动态权限申请)

https://blog.csdn.net/yushuangping/article/details/83758957 背景:     1: android权限的申请,可以在清单文件声明和注册,也可以通过 java 文件动态的注册    2: 在Android6.0之前只需在AndroidManifest.xml文件写明权限即可。但是在A...

C语言按下列形式使用循环生成一个十阶的矩阵A(下三角)到二维数组中,再输出。

题目 按下列形式使用循环生成一个十阶的矩阵A(下三角)到二维数组中,再输出。 代码 运行结果...