新闻  |   论坛  |   博客  |   在线研讨会
CANoe创建CAN DataBase(DBC文件)
美男子玩编程 | 2024-09-19 10:30:39    阅读:634   发布文章

常用的创建和编辑CAN DataBase(DBC文件)有两种方法,一种是下载CANdb++,Vector免费的工具;另一种就是使用CANoe创建,不过需要付费购买软硬件。两种方法创建DBC文件的方式都是一样的。


本篇博文讲解如何使用CANoe软件创建和编辑DBC文件。


1


新建DBC文件

打开CANoe,进入Tools菜单栏,点击CANdb++Editor打开DBC编辑软件。


图片


在DBC编辑器中,点击File -> Create DataBase,选择合适的DBC模板,并选择一个文件夹作为DBC文件的保存路径。


图片


我一般选择CANoeTemplate或者CAN Template。


图片


新建成功效果如下:


图片


2


新建节点

在Network nodes处右击,选择New新建一个节点(ECU),为其命名,例如ECU01和ECU02等。


图片


图片


节点创建好后,界面如下所示:


图片


3


创建CAN报文

在Messages处右击,选择New新建一个报文。


图片


图片


  • 在Name处输入本条CAN message的名称,注意(不得使用中文,不得以数字开头)。

  • 在Type处选择CAN Standard或者CAN Extended。

  • 在ID处填入此CAN报文的CAN ID。

  • DLC处写入此报文的长度(单位是字节)。


CAN报文创建成功如下所示:


图片

根据需要可以创建多个报文。


4


创建CAN报文的信号

在Signals处右击,选择New新建一个信号。


图片


图片


  • 在Name处键入此信号的名称。

  • Length处填入此信号的长度(单位为Bit)。

  • Byte Order(字节序)选择以Intel型填充还是以Motorola型填充。

  • Intel型 :小端字节序,字节内部bit排序从高位开始。

  • Motorola型:大端字节序,字节内部bit排序从低位开始。

  • ValueType:值的类型,有符号整数和无符号整数以及浮点数类型。

  • Factor:比例因子,表示数值需要乘以这个因子进行转换。

  • Offset:偏移量,表示数值需要加上这个偏移量进行转换。

  • Minimum:参数的最小值。

  • Maximum:参数的最大值。

  • Calculate minimum and maximum:点击这个按钮可以计算最小值和最大值。

  • Value Table:值表的名称,当前为空,表示没有关联的值表。


这些参数共同定义了一个8位有符号整数的LED信号参数,包括其长度、字节顺序、数据类型、初始值、比例因子、偏移量、最小值和最大值。


CAN报文信号创建成功如下所示:


图片

根据需要可以创建多个信号。


6


将报文和信号关联

双击报文,进入报文界面,切换到Signals栏,点击Add将信号添加到报文中。


图片


如果CAN报文DLC设置得比添加进去的信号所占的字节数多,就会弹出这个窗口,点击否(N)即可,如果点击是(Y),系统会修改这条CAN报文的长度为刚刚添加进去的信号所占的字节数。


图片


添加完成后如下图所示,右边会列出这个报文里所有的信号,以及信号所占的字节和起始位。


图片


如果设置信号在CAN报文中的起始位和位置,双击信号,在Startbit处修改起始位。


图片


也可以在这条CAN报文的Layout中通过鼠标拖动修改信号所处的位置。


双击左侧CAN报文,在弹出的窗口中点击Layout,鼠标按住方框中标记的信号拖动即可改变信号所在的位置。


图片


6


设置CAN报文发送者和接收者

双击节点ECU1,在Mapped RX Sig中添加需要接收的报文中的信号,在Tx message中添加该节点发送的报文。


图片


图片


图片


此时我们展开左侧,可以看到ECU1节点已经有了对应的发送和接收报文以及信号。


图片


以上就是如何在CANoe中新建和使用CAN DataBase(DBC文件)的基本步骤。通过这些步骤,你可以创建一个简略版的CAN DBC。 


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客