CANOE入门:DBC创建和编辑

目录

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选项中也有相应的功能项文描述。

  • 10
    点赞
  • 94
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值