如何经过CANdb++建立一个新的DBC(二)

1.建立DBC

经过File-Create Database新建了一个命名为xxx的CAN数据库,建立后打开的是Overall View窗口。node

 2.建立Node对象

Overall VIew的左侧边栏选择Network nodesNew一个新节点,命名后肯定。以下图:数据库

 

注意:初次建立时,上图中蓝框的Address是不可编辑的,咱们需设置属性后方能编辑该值app

3.定义各项属性(此步骤与2无前后顺序的限制)

从菜单栏的View进入Attributes Definitions窗口,在窗口中New各类属性。若不知道具体的属性名称,类型,值等,可查看Help文档3d

 

 此处我只简单的配了几个属性,能够看到其中有一项是NmStationAddress,设置此项后,建立节点时的Address值就可编辑了。对象

回看刚在Overall View新建立的PEPS节点,选择Attributes,能够看到咱们新配置的与Node相关的属性已经添加进来了。blog

 

 4.建立Signal对象

Overall View的左侧边栏选择SignalsNew建立信号。填好名字、字节序、单位(可不填)、值类型、精度、偏移量, 最小值和最大值经过计算得出,肯定建立。文档

 

 注意1:须要说明的是其中有个Init. Value,建立时我并无设置,点开蓝色的连接弹出框提示以下图,首先它与Signal对象的两个属性有关,并说明了原始值与物理值的转换公式。举个简单例子,好比冷却液温度可能为-5℃称之为物理值(物理意义上的值,直观的被人们所认知),经过该公式换算后在报文中可能其原始值为10.it

 

 注意2其中还有个Value Table,初次建立是处于none不可选状态。能够经过View-Vaule Tables窗口New新建,回到Overall View的Signal对象便可选择配置value table了自动化

 

 

 

 根据信号矩阵表重复此步骤的操做建立众多的信号对象信息io

5. 建立Message对象

Overall View的左侧边栏选择Message对象,New建立消息,填好名字、DLC、ID,其中cycle time与在属性视图建立的与Message对象相关的GenMsgCycleTime关联。

 

 选中刚建立的消息对象,经过弹出框的Add配置该Message对象的Signal对象,和发送者

 

 

 

值得一提的是属性页的配置能够经过双击对应的属性选项修改值,好比修改报文周期为200ms

 

 重复步骤5建立多条消息

6. 配置Node对象的对外发送消息与接收的报文信号

经过Overall View左侧边栏的Network nodes选项,选中相应的节点,右键菜单的Edit Node, 分别根据Mapped Rx Sig.页和Tx Message页添加信息配置

 

 

 

 

 7.数据库检查

以上6步操做完成后,保存新建立的数据库文件,从File选择Consistency Check执行检查。结果展现以下图,提示的信息能够不关注,由于这两项配置点在建立DBC时能够不填写。

 

 最终个人DBC结构像下图这样

 

 -----------------------------------以上完--------------------------------

总结:单个建立仍是太慢了,并且从通讯矩阵中录入这些信息建立DBC颇有可能人工输入错误而不易发现。我们仍是推荐从数据源头实现自动化转换DBC的方式,本身去写代码实现这个功能吧。

相关文章
相关标签/搜索