CANOE入门:DBC创建和编辑

2023-11-09

目录

dbc文件创建步骤

创建一个DBC数据库文件

创建网络节点Network nodes

创建Message​​​​​​​

创建信号Signal

创建Signals用到的数值表Value Tables 

将Value Tables关联到Signals

将Signal关联到Messages

将Messages关联到Network nodes

一致性检查

导入到项目中使用

参考资料


dbc文件创建步骤

dbc文件的创建可分为以下几个步骤:

  1. 创建一个DBC数据库文件
  2. 创建网络Network
  3. 创建网络节点Network nodes
  4. 创建Message
  5. 创建信号Signal
  6. 创建Signals用到的数值表Value Tables
  7. 将Value Tables关联到Signals
  8. 将Signals关联到Messages
  9. 将Messages关联到Network nodes
  10. 一致性检查

创建一个DBC数据库文件

操作步骤:

打开CANOE软件 ->Tool ->CANdb++ Editor -> File ->Create Database ->CANTemplate.dbc -> ok->命名并保存dbc文件。

 这里创建一个名为:BCAN的dbc文件。文件保存后就会自动创建好Network。

创建网络节点Network nodes

操作步骤:

选中打开的dbc文件的 Network nodes选项 -> 右键 ->New->在弹出的选项卡中填写node的名称->保存

 这里只需要输入创建的网络节点名字进行新建操作就行,其他的选项按默认即可。后续再进行下一步操作。

创建Message

操作方法:

选中Messages选项 -> 右键 ->New->填入Message名称,ID,DLC等参数->保存

设置完成后,其他参数暂时不需要理会,按默认即可。后面设置完 Signals才能做关联操作。

在Message中的Comment中可以添加对这个Message的描述(即备注)

创建信号Signal

操作方法:

选中Signals选项 -> 右键 ->New -> 填入相关参数 ->保存

 Signal的具体参数在应用中需要根据各个信号的定义来进行填写。这里仅作为示例。

在Siganl中的Comment中可以添加对这个Siganl的描述(即备注)

创建Signals用到的数值表Value Tables 

这里说明一下,数值表就是每个信号的取值范围,包含最大值,最小值,每个值对应的含义。这个值对dbc文件来说至关重要。dbc文件的意义就是将接收的can报文转换成普通人能看懂的描述,而每个值代表的意义就是在数值表中设置的,因此数值表至关重要。以下图为例:

 图中接收报文下的Signal_2信号中的2,就是在数值表中设置的。如果没有这个数据值表,即么报文只能看成到Name中的内容。数值表的最大作用之一就是在Graphics中查看信号的变化。如下:

 因此,数值表是十分重要的,它描述了一个Signal的所有值代表的意义。

操作方法:

CANdb++ Editor ->  View -> Value Tables ->空白处右键->New ->在弹出的选项卡中填入名称->Value Descriptions->Add ->添加数值表内容->保存

这里保存即可。到这一步各个单元的数据就创建完成了,后续需要做的就是将所有数据关联在一起。 

将Value Tables关联到Signals

操作步骤:

选中Signals选项 ->双击需要关联的signal->在弹出框中找到Value Table->选中需要关联的数值表->保存

保存后即可以将signal和value Table关联在一起了。 

将Signal关联到Messages

Signal关联Messages有两种方法:

  • 直接在Signals选项中将Signal拖到对应的Message中即可。
  • 选中Signals选项 ->双击需要关联的signal->Messages选项->Add->找到对应的Message->确认

下图就是关联成功后的样子:

Signal和Message建立关联之后,还需要设置每个Signal的起始位。

默认情况下Messages中,会根据关联信号的先后顺序和signal本身占的长度进行计算起始位,但是如果信号关联的顺序不对,那起始位就对不上了,所以这一步需要做一个确认。操作方法为:

选中Messages选项 -> 双击需要设置的signal->设置起始bit->保存

 注意,设置起始位,只能在Messages选项中,在Signals选项中是没有办法设置的。

理论上到这一步dbc文件就可以正常导入到项目中使用了。但是因为实际的项目中,一个dbc文件不可能只有一个或两个报文。因此为了更直观的管理dbc中的Message和Signal,还需将Message关联到Network nodes中。这样做的目的是:方便使用者更直观地查看某个ecu中所有的报文和信号,因为我只关心我需要用到的,而我用不到的也就没有必要去看了。另一个原因是因为,在Messages和Signals选项中,可能有许多定义好但未关联在一起的Message和Signal,这时,我只需要查看其中一个节点的Message和Signal,如果直接在在Messages和Signals选项中查看的话,会有种凌乱的感觉。

将Messages关联到Network nodes

操作方法:

在Messages选项中->找到需要关联的Message->单击->将Message拖到Network nodes选中对应的node节点下。

一致性检查

操作方法:

CANdb Editor -> File ->Consistency Check

导入到项目中使用

将dbc文件导到入CANoe的项目中,Trace窗口中可以看到如下效果:

 Graphics窗口中可以看到发下效果:

参考资料

CANoe的DBC编辑工具编辑DBC文件

关于DBC文件的创建(DBC文件系列其一)

细说DBC(一)——初识

另外:在CANdb++ Editor的help选项中也有相应的功能项文描述。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CANOE入门:DBC创建和编辑 的相关文章

随机推荐

  • 匹配算法之 匈牙利算法详解

    参考 算法学习笔记 5 匈牙利算法 漫谈匈牙利算法 匈牙利算法 KM算法 匈牙利算法 二分图 通俗易懂小白入门 二分图最大匹配 匈牙利算法 多目标跟踪之数据关联 匈牙利匹配算法和KM算法 小白学习笔记 一 目标跟踪 匈牙利匹配 一 匈牙利算
  • jQuery Ajax 全解析

    本文地址 jQuery Ajax 全解析 本文作者 QLeelulu 转载请标明出处 jQuery确实是一个挺好的轻量级的JS框架 能帮助我们快速的开发JS应用 并在一定程度上改变了我们写JavaScript代码的习惯 废话少说 直接进入正
  • HBuilderX集成Git教程,需要安装TortoiseGit依赖

    1 HBuilder安装git插件 需要提前安装好git客户端 略过 点击 工具 插件安装 此时还是不能提交代码的 右键选中我们需要的项目 点击 外部命令 Git插件 然后随便选择一个操作 会提示需要安装TortoiseGit 然后跳转到T
  • 归并排序【图解及模板】

    全文目录 归并排序的思想 操作原理 归并排序演示图 代码模板 总结 归并排序的思想 归并排序是建立在归并操作上的一种有效 稳定的排序算法 该算法是采用分治法 Divide and Conquer 的一个非常典型的应用 将已有序的子序列合并
  • keil5改工程名称_Keil5建立stm32工程

    一 准备工作 1 首先在项目名称下建立一个文件夹 作为存放程序的地方 2 在总文件夹下 依次建立User Driver List Output三个文件夹 作为存放main函数 驱动函数 编译和输出文件的子文件夹 二 建立工程 1 打开kei
  • GO 依赖注入

    依赖注入是软件工程中经常使用到的一种技术 它提供了一种控制反转的机制 把控制权利交给了调用方 调用方来决定使用哪些参数 哪些对象来进行具体的业务逻辑 依赖注入的本质其实是为了将组件的创建与其依赖的创建分离 实现原理 通过反射读取对象的依赖
  • elementUi使用自定义表格时给表头自定义成el-input导致el-input失效的问题

    我们在使用elementUi的表格组件时往往需要自定义表格 很多还需要自定义表头 比如这种 我们再表格的头部插入el input组件 这时就会发现 你在表头的el input输入时不显示 解决方法就是给slot header 换成 head
  • 2023华为OD机试真题-对称字符串(JAVA、Python、C++)

    题目描述 对称就是最大的美学 现有一道关于对称字符串的美学 已知 第 1 个字符串 R 第 2 个字符串 BR 第 3 个字符串 RBBR 第 4 个字符串 BRRBRBBR 第 5 个字符串 RBBRBRRBBRRBRBBR 相信你已经发
  • Java中多线程,java栈和堆面试题

    public static void main String args 创建自定义线程对象 myThread mT new myThread 开启新线程 让新的线程执行程序 jvm调用线程中的run mT start 在main方法中执行
  • mediapipe face_mesh测试

    目录 onnx测试 tensorflow预测tflite代码 onnx测试 img path r D data val result 1212 test 1 2 02370 1 jpg img path r D data face 1212
  • Python的下载和安装教程

    今天学习python以及pycharm的下载和安装 参考了好几个博客 在此总结一下安装过程 注意 在这里说明一下 如果要用pycharm进行python的开发 是要分别下载pycharm和python的 不要只安装pycharm就结束了 一
  • 命令提示符的使用及运行Java程序

    常用的命令提示符 dir 列出当前目录下的文件以及文件夹 director md 创建目录 make director rd 删除目录 cd 进入指定目录 cd 退回到上一级目录 cd 退回到根目录 del 删除文件 del txt可以将所
  • c++11std::thread扩展

    最近 整理一下学习c 的文章 看到一篇文章 其中提到了thread local和std future 觉得这两东西很有趣 于是网上搜了一些资料 觉得很有帮助 希望可以对大家学习c 线程有所帮助 http www cnblogs com ha
  • 嵌入式设备文件系统构建——增加用户登录功能

    1 修改inittab文件 first run the system script file sysinit etc init d rcS 进入命令行 askfirst bin sh 添加执行登录验证 sysinit bin login c
  • 【毕设教程】随机森林算法

    文章目录 0 前言 1 什么是随机森林 2 随机森林构造流程 3 随机森林的优缺点 3 1 优点 3 2 缺点 3 3 随机森林算法实现 4 最后 0 前言 Hi 大家好 这里是丹成学长的毕设系列文章 对毕设有任何疑问都可以问学长哦 这两年
  • Firebug调试经验与技巧

    昨天网站出问题了1 为了调试cookie 特别找了关于firebug里面如何调试cookie的文章 觉得这篇不错 保留下来备份 Firebug调试经验与技巧 2009 03 13 15 22 16 转自 http blog sina com
  • redis,mysql,elasticsearch,hbase,hive对比区别,该如何选择

    几种数据库对比如下 redis mysql elasticsearch hbase hive 容量 容量扩展 低 中 大 海量 海量 查询时效性 极高 中等 较高 较高 低 查询灵活性 较差 非常好 较好 较差 非常好 写入速度 极快 中等
  • U3D通过按钮点击实现场景切换

    1 新建UI 选择button选项 新建button 2 file gt Build settings gt Add Open Scenes 把你当前场景添加进去 gt 把你想要切换的场景拖拽上去 3 新建一个空对象 挂载一个scenech
  • org.apache.http.ConnectionClosedException Premature end of Content-Length delimited message body

    最近生产环境报了这个系统异常 org apache http ConnectionClosedException Premature end of Content Length delimited message body expected
  • CANOE入门:DBC创建和编辑

    目录 dbc文件创建步骤 创建一个DBC数据库文件 创建网络节点Network nodes 创建Message 创建信号Signal 创建Signals用到的数值表Value Tables 将Value Tables关联到Signals 将