CANoe操作介绍系列 ———— 创建数据库(.dbc)

在使用工程的过程中,如何准备查看到数据的变化,这个时候就需要在工程中添加相对应的数据库,这里介绍一下如何添加数据库(格式为.dbc)。数据库存放着数据的所有内容,也是工程运行过程中很重要的一个数据。

  1. 打开一个已经建好的DBC。如果是需要自己完全新建一个,可以找到工程里面的DBC模板,路径为:C:\Users\Public\Documents\Vector\CANoe\11.0 (x64)\Templates\Database。
    在这里插入图片描述
  2. 点击File–Create Database 进行一个新的DBC创建
    在这里插入图片描述
  3. 创建之后需要选择DBC的类型,因为不同版本所支持的模板不尽相同,所以在这里选择适合自己的模板就可以了。
    在这里插入图片描述
  4. 选择之后需要选择保存的路径和文件名,1为保存的路径,2为保存的文件名;
    在这里插入图片描述
  5. 打开已经建立好的DBC;依据发送过来的信号表中所需要的建立的网络节点进行网络节点的建立,需要建立何种网络节点可以从NM_Message中的Transmitter和Receiver可以看到。
  6. 找到Network nodes右击,进行new操作,然后依据刚才需要建立的nodes进行建立;
    在这里插入图片描述
  7. 建立完成之后,依据需求将所需要的DBC进行倒入(DBC的模板路径:C:\Users\Public\Documents\Vector\CANoe\11.0 (x64)\Templates\Database),其中最重要的是DBC模板是:Vector_IL_Basic Template.dbc,对于存在CAN FD报文的,则需要导入CAN_FD Template.dbc才能在Message选择的时候可以将Type选择为CAN FE Standard。

在这里插入图片描述

  1. 将对我们新建的DBC有帮助的DBC模板导入之后,需要对Message、Network、Signal等内容的属性进行定义。
    8.1 关于Message最重要的两个属性:GenMsgCycleTime定义了该Message的周期,GenMsgStartDelayTime定义了该Message在网络节点启动后的延迟。
    在这里插入图片描述
    8.2 关于Signal最重要的两个属性:GenSigSendType定义了改signal的发送类型,GenSigStartValue定义了该信号的初始值。至于signal的发送类型是由导入的DBC模板定义清楚的,我们只需要选择恰当的发送类型即可。
    在这里插入图片描述

  2. 检查之后,我们可以开始依照需求信号表进行Message和SIgnal的建立。

  3. 首先开始Message的建立。
    在这里插入图片描述

  4. 填写相对应的属性。
    11.1 Name:此条Message的名称,给出信号表中的Message Name
    11.2 ID:此条Message的ID(16进制),给出信号表中的Message ID
    11.3 DLC:字节长度,同时决定了Type的类型,给出信号表中的DLC
    11.4 Type:如果DLC为8,则选择为CAN Standard;为64,则选择为CAN_FD Standard
    11.5 Transmitter:此条Message的发出点,给出信号表中的Transmitter;更改是在新建Message页面中的Transmitter进行更改,不是在Definite页面进行更改
    11.6 Tx Method:此条Message的发送方式(Cyclic 和 Event),给出信号表中的period [ms],如果该项有数值则为周期性,否则为事件性信号
    11.7 Cycle Time:周期的值,通过Attributes中的GenMsgCycleTime进行更改,给出信号表中的period [ms],如果该项有数值则为周期性,否则为事件性信号
    11.8 Layout:显示Message中各个Signal的位分布(不可重叠,具有唯一性)
    在这里插入图片描述

  5. 创建Signal
    在这里插入图片描述

  6. 填写相对应的属性。
    13.1 Name:Signal的名称(给出的信号表中的Signal name如果存在空格等会出现报错)对于命名的时候是有严格的要求的,需要按照规范(具体的规范还不是很清楚)来进行。
    13.2 Length:Signal的位长度(给出的信号表中的Size(bit))
    13.3 Byte Order:给出的信号表中的Byte Order
    13.4 Value Type:给出的信号表中的Data Type
    13.5 Factor:给出的信号表中的Factor
    13.6 Offset:给出的信号表中的Offset
    13.7 Minium:给出的信号表中P-Minimum
    13.8 Maxium:给出的信号表中P-Maxium(与minium组成值的变化范围)
    13.9 Init.Value:初始值应处在最大值和最小值之间,包括最大最小值,给出的信号表中Default
    13.10 Initialised value,初始值的定义应该是在Attribute中的GenMsgStartValue定义。
    13.11Message:属于哪一个Message就写哪一个,是给出的信号表中的Message Name

在这里插入图片描述

  1. 创建真值表(Value Table,值从给定信号表中的Coding中获取)。创建真值表的入口。
    在这里插入图片描述
  2. 进入之后,开始新建。
    在这里插入图片描述
  3. 进入之后,开始对真值表进行操作。指针表中的信号名格式推荐为为VtSig_,上述只是一个建议,方便在关联Signal时找到。命名结束后,开始对Value Descriptions进行输入;对于个数较少的值,可以使用枚举,如果真值表值的数量较多,可以采用其他方式进行列举。原则上要有代表性以及全面性。这样方便别人阅读和理解。如果值的描述过长,需要自己酌情进行删减。

在这里插入图片描述

  1. 完成以上操作之后,需要将signal与Message关联,真值表与signal关联。首先介绍Signal与Message关联。点击刚建好的Signal所在的Message,找到刚建好的Signal,双击Signal,对Startbit[bit]进行更改,数值为给出信号表中的Lsb。此处Startbit[Bit]定义了该信号在message中的位置,具有唯一性。如果两个信号在bit位上有重复的情况,DBC会报错。这时需要确认是否startbit这个参数是否存在错误。
    在这里插入图片描述
  2. 将真值表与signal相关联。在signal的下面双击刚建好的signal,会出现如下页面。在Value Table的下拉菜单中可以找到第十六步建立好的真值表。选择并保存,这时就将管理好了。如果担心没有关联起来,可以通过Value Description查看信号取值的情况。
    在这里插入图片描述
  3. 创建完DBC之后,需要添加到工程当中。具体的方式如下Simulation -> Simulation Setup -> 右键选择System View
    在这里插入图片描述
  4. 选择你需要添加的CAN网络节点. Database -> 右键选择Add -> 确定路径和DBC之后 -> 打开就可以看到已经成功添加到CAN网络当中。

在这里插入图片描述
Note:
1. 每个项目的DBC存在着不同,可以依据项目的需求对上面的步骤进行删减。
2. 如果你发你在Graphic页面搜索不到你想要的signal,可以检查是否该信号只存在某个DBC中,并且你没有添加到CAN网络之中。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小趴菜_自动驾驶搬砖人

谢谢大爷赏饭吃

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值