• 512查看
  • 1回复

[系统功能] CANoe篇——新建DBC文件

[复制链接]


该用户从未签到

发表于 4-6-2024 19:23:48 | 显示全部楼层 |阅读模式

汽车零部件采购、销售通信录       填写你的培训需求,我们帮你找      招募汽车专业培训老师


汽车CAN总线系统中,ECU之间的通信都是通过总线数据库来管理的。总线数据库定义了系统中各ECU所要发送和接收的报文,以及报文中每条信号的具体定义。它的格式是DBC文件。CANoe提供了CANdb++ Editor用来新建、编辑DBC文件。

1.新建DBC

CANoe篇——新建DBC文件w1.jpg

CANoe界面菜单下Tools→CANdb++ Editor,之后File→Creat Database新建dbc。CANdb++ 提供了不同类型的DBC模板。其实之前在使用python脚本制作dbc时,https://mp.weixin.qq.com/s/RBybWjAxgyoynOOVlDy-Vw 就发现了基础模板不对会导致生成的DBC文件无法打开。以后可以使用DBC模板来做基文件,之后再去根据xls中报文、信号的定义来完成DBC文件的填充。

这里选择CANTemplate.dbc模块,可以通过notepad++对比查看dbc文件的文本信息。

CANoe篇——新建DBC文件w2.jpg

2. 添加Networks

Network可以理解为整车的某一条CAN总线,一般主机厂会通过不同的功能来定义总线的名称,如:动力CAN、车身CAN、ADASCAN,互相依赖通讯的ECU会挂在同一条总线上。

不过在DBC文件中,Network就是DBC文件的名字。

CANoe篇——新建DBC文件w3.jpg

3. ECUs/Network Nodes

ECU不能直接创建,CANdb++在创建网络节点时,会自动创建同名的ECU。

点击Network Nodes→New,创建node。

CANoe篇——新建DBC文件w4.jpg

4. 添加Message

在导航区栏中右击Message→New,创建报文。

CANoe篇——新建DBC文件w5.jpg

可以在Transmitter和Receivers中选择ECU,完成发送/接收节点的映射。这些发送/接收的节点,在使用CANoe或Autosar或其他工具时,软件会根据自身ECU,来筛选自身需要发送/接收的报文,其他的报文可以选择过滤掉不使用。

5. 添加Signal

同Messag,在导航区栏中右击Signal→New,创建信号。

CANoe篇——新建DBC文件w6.jpg

之后可以在Message选项中,将Signal添加到某条报文中去。

CANoe篇——新建DBC文件w7.jpg

6. Attribute

在工具栏Attribte Definitions中打开DBC文件定义的属性。

CANoe篇——新建DBC文件w8.jpg

对应的文本信息如下:

CANoe篇——新建DBC文件w9.jpg

下图中可见数据库常见的属性和描述

CANoe篇——新建DBC文件w10.jpg

CANoe篇——新建DBC文件w11.jpg

7. VauleTable

即信号值的枚举定义。可以新建Vaule Table,之后映射到signal的定义中去。

CANoe篇——新建DBC文件w12.jpg

CANoe篇——新建DBC文件w13.jpg

  • TA的每日心情
    开心
    22-10-2024 10:50
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 22-10-2024 10:53:34 | 显示全部楼层
    最近正在学习这个,不错不错
    回复 支持 反对

    使用道具 举报

    快速发帖

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    QQ|手机版|小黑屋|Archiver|汽车工程师之家 ( 渝ICP备18012993号-1 )

    GMT+8, 20-11-2024 15:28 , Processed in 0.295449 second(s), 31 queries .

    Powered by Discuz! X3.5

    © 2001-2013 Comsenz Inc.