[CAN] 创建解析CAN报文DBC文件教程

2024-06-13 00:20
文章标签 教程 创建 解析 报文 dbc

本文主要是介绍[CAN] 创建解析CAN报文DBC文件教程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

👉本教程需要先安装CANdb++软件,[CAN] DBC数据库编辑器的下载与安装

🙋前言

  DBC(全称为Database CAN),是用于描述单个CAN网络中各逻辑节点的信息。 DBC是汽车ECU(Electronic Control Unit,电子控制单元)间进行CAN通讯的报文内容。通过DBC文件,我们可以了解CAN网络中各个节点(Network node)会发送哪些报文(Message)和接收哪些报文,每个报文中包含哪些信号(Signal),以及每个信号位于报文的哪个位置等信息。
  作用:DBC文件的主要作用是“解析”。通过定义好的DBC文件,我们可以将CAN网络中的数据解析成具体的报文和信号,从而方便我们对其进行分析。
  组成:DBC文件是由一系列的Message和Signal组成,文件定义了Message和Signal的属性。
  查看与编辑:DBC是文本文件,可以用记事本打开,但一般使用专门的工具(如CANdb++)来更方便地查看和编辑。
  发布:DBC文件由德国Vector公司发布,用于依据该文件开发出来监视和分析CAN网络中所有逻辑节点的运行状态。

1 需求分析

为了直观的演示整个创建过程,这里以下表 1 报文内容为例,开始教程的演示。
在这里插入图片描述其中,在表中仅有1帧报文,报文由5条信号组成,编码格式为Intel。

2 创建模板

1.打开Vector CANdb++ Editor 软件界面如下所示。
在这里插入图片描述
2点击File,选择 " Create database "。
在这里插入图片描述
3.在弹出界面选择 " CANTemplate.dbc " ,点击 OK 。
在这里插入图片描述
4. 输入文件名称,保存文件。
在这里插入图片描述
5.创建好模板后显示如下图所示。
在这里插入图片描述

3 添加信号

  Signals是一帧CAN报文中的数据代表的含义,例如上表1中的这帧报文,报文共8个字节,共5个信号;Signals就是指这5个信号。所以要解析这帧报文就需要创建5个Signals。

1.点击Signals,右键选择New。
在这里插入图片描述
2.在信号框,填写待建Signal的相关信息,选择完上述属性后,点击Calculate minimum and maximum`计算信号的最大值与最小值,具体如下。
在这里插入图片描述
  其中,1.Name为信号名。2.Length[Bit]为该信号的位长度。3.Byte Order是选择信息的存储类型,分为因特尔和摩托罗拉。4.Unit为信号的物理单位。5.Value Type为数据类型,分为Signed(有符号整型)、Unsigned(无符号整型)、IEEE Float(浮点型)、IEEE Double(双浮点型)。6.Init.Value初始值。7.Factor为比重。8.Offset为偏置量。9.Minimum为最小值, Maximum为最大值, 这两个值可以点击 Calculate minimum and maximum 自行生成(这里的最大最小值是根据你选的字节长度和数值类型决定的)。

3.点击Commit,添加该信号的注释。
在这里插入图片描述
4.点击确定,完成Signal的创建。
在这里插入图片描述
5.继续创建其他四个信号。

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

6.创建完成,结果如下。
在这里插入图片描述

4 新建Message

1.右键Messages,选择NEW来创建报文信息。
在这里插入图片描述
2.设置Messages信息。
在这里插入图片描述
  其中,1.Name为信息帧名。2.Type为选择标准帧或拓展帧。3.ID为帧的ID。4.DLC为帧长度,即字节数。

5 关联

关联:设置好Messages信息后,需向Messages中添加Signals,来实现报文与信号的关联。

1.点击 " Signals ",然后点击 " Add "。
在这里插入图片描述
3.点击创建好的5个Signals,全部选中,然后点击 " OK " 。
在这里插入图片描述
4.点击 " 确定 " 。
在这里插入图片描述
5. 添加好信号后,查看Layout选项中信号对应的字节位置是否与规定协议一样。
在这里插入图片描述
6. 保存文件,最后效果如下图所示。
在这里插入图片描述

这篇关于[CAN] 创建解析CAN报文DBC文件教程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1055760

相关文章

VScode连接远程Linux服务器环境配置图文教程

《VScode连接远程Linux服务器环境配置图文教程》:本文主要介绍如何安装和配置VSCode,包括安装步骤、环境配置(如汉化包、远程SSH连接)、语言包安装(如C/C++插件)等,文中给出了详... 目录一、安装vscode二、环境配置1.中文汉化包2.安装remote-ssh,用于远程连接2.1安装2

vscode保存代码时自动eslint格式化图文教程

《vscode保存代码时自动eslint格式化图文教程》:本文主要介绍vscode保存代码时自动eslint格式化的相关资料,包括打开设置文件并复制特定内容,文中通过代码介绍的非常详细,需要的朋友... 目录1、点击设置2、选择远程--->点击右上角打开设置3、会弹出settings.json文件,将以下内

MySQL分表自动化创建的实现方案

《MySQL分表自动化创建的实现方案》在数据库应用场景中,随着数据量的不断增长,单表存储数据可能会面临性能瓶颈,例如查询、插入、更新等操作的效率会逐渐降低,分表是一种有效的优化策略,它将数据分散存储在... 目录一、项目目的二、实现过程(一)mysql 事件调度器结合存储过程方式1. 开启事件调度器2. 创

mysql外键创建不成功/失效如何处理

《mysql外键创建不成功/失效如何处理》文章介绍了在MySQL5.5.40版本中,创建带有外键约束的`stu`和`grade`表时遇到的问题,发现`grade`表的`id`字段没有随着`studen... 当前mysql版本:SELECT VERSION();结果为:5.5.40。在复习mysql外键约

Linux中shell解析脚本的通配符、元字符、转义符说明

《Linux中shell解析脚本的通配符、元字符、转义符说明》:本文主要介绍shell通配符、元字符、转义符以及shell解析脚本的过程,通配符用于路径扩展,元字符用于多命令分割,转义符用于将特殊... 目录一、linux shell通配符(wildcard)二、shell元字符(特殊字符 Meta)三、s

Window Server创建2台服务器的故障转移群集的图文教程

《WindowServer创建2台服务器的故障转移群集的图文教程》本文主要介绍了在WindowsServer系统上创建一个包含两台成员服务器的故障转移群集,文中通过图文示例介绍的非常详细,对大家的... 目录一、 准备条件二、在ServerB安装故障转移群集三、在ServerC安装故障转移群集,操作与Ser

windos server2022的配置故障转移服务的图文教程

《windosserver2022的配置故障转移服务的图文教程》本文主要介绍了windosserver2022的配置故障转移服务的图文教程,以确保服务和应用程序的连续性和可用性,文中通过图文介绍的非... 目录准备环境:步骤故障转移群集是 Windows Server 2022 中提供的一种功能,用于在多个

Window Server2016 AD域的创建的方法步骤

《WindowServer2016AD域的创建的方法步骤》本文主要介绍了WindowServer2016AD域的创建的方法步骤,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录一、准备条件二、在ServerA服务器中常见AD域管理器:三、创建AD域,域地址为“test.ly”

龙蜥操作系统Anolis OS-23.x安装配置图解教程(保姆级)

《龙蜥操作系统AnolisOS-23.x安装配置图解教程(保姆级)》:本文主要介绍了安装和配置AnolisOS23.2系统,包括分区、软件选择、设置root密码、网络配置、主机名设置和禁用SELinux的步骤,详细内容请阅读本文,希望能对你有所帮助... ‌AnolisOS‌是由阿里云推出的开源操作系统,旨

PyTorch使用教程之Tensor包详解

《PyTorch使用教程之Tensor包详解》这篇文章介绍了PyTorch中的张量(Tensor)数据结构,包括张量的数据类型、初始化、常用操作、属性等,张量是PyTorch框架中的核心数据结构,支持... 目录1、张量Tensor2、数据类型3、初始化(构造张量)4、常用操作5、常用属性5.1 存储(st