目录
工程描述
仿真工程X-Vehicle:
该工程包含三个 ECU:Engine、Door和Display。通过Control面板来仿真引擎状态切换、车速调整和车门 开关的操作,同时在Display面板上显示相关的状态。
工程目的
希望通过该工程,对CANoe的三个功能块进行理解:数据库设计、面板设计以及CAPL。
本文内容是基于X-Vehicle工程理解 CANoe的总线数据库设计模块。
前情提要
从第一个仿真工程(CANoe-第一个仿真工程:开关与灯(思路)_lamanchas的博客-CSDN博客)我们已经知道,仿真工程的主要组成部分:①功能模块②功能模块间传递消息的信号③部分功能模块内部的编程。
通过定义、模拟、实现这三部分,我们就可以得到一个仿真工程。
具体的,
- 功能模块主要包括:仿真节点,控制面板节点,总线。
- 功能模块间的负责传递消息的信号主要有:报文,信号,环境变量,系统变量。
- 功能模块内部的编程则涉及到CAPL语言。
(CANoe-第一个仿真工程:开关与灯(思路)_lamanchas的博客-CSDN博客)的仿真工程实现过程是:
- 总线:通过新建工程,基于总线模板建立总线
- 仿真节点,控制面板节点:通过工具栏添加
- 信号:通过数据库添加
- 编程:双击ECU进行CAPL编程
在本文中,我们则通过只设计‘网络总线数据库‘’(后面简称为‘数据库’)来建立整个仿真工程。因为,我们可以理解,所有的节点、信号,在计算机总都是由数据形式存储的,也就是说我们可以完全通过数据来描述整个仿真系统。
在汽车的总线系统中,ECU之间的通信、信息的交互以及相互之间的关系,都是通过总线数据库来管理的。总线数据库定义了总线系统中各个ECU所要发送和接收的报文,以及每个报文所有比特值的具体定义。
在实际工程中,一般不会采用定义数据库的方式建立仿真工程,而是如第一个仿真工程那样,先设计出整车网络架构,数据库设计主要负责描述基于整车网络架构的ECU功能交互,生成数据库设计文档。然后根据需要全部或部分地公开给各个ECU供应商,供应商根据分到的数据库设计文档进行具体的设计。
在某些特殊情况下,会需要ECU供应商根据客户文档,自行设计数据库,添加自己ECU相关联的数据信息。比如在项目的初期,ECU供应商不能从整车厂拿到标准数据库文件,而为了保证项目 的开发进度,ECU供应商需要自行依据报文矩阵(matrix)文件创建自己的数据库文件。
数据库设计关键步骤——概述
我们已经知道,仿真工程关键组成部分是 ECU仿真节点,ECU控制面板节点,总线,通信信号和ECU内部编码。数据库可以定义的部分除了ECU内部编码外都可实现。可以整体的划分成三块:总线,通信节点,信号。
整体步骤可概括为下面5步:
1. 新建工程&总线描述:新建空的仿真工程X-Vehicle,建立工程机构文件夹。 【File——new——模板CAN500kBaud 1ch】
2. 新建数据库&总线描述:基于数据库的总线模板,创建数据库。【Tools-CANdb++ Editor——File——CreateDatabase——根据功能选总线模板(本文选了Vector IL Basic Template.dbc)——创建数据库工程XVehicle.dbc】
3. 节点:在数据库中添加节点描述。
4. 信号:在数据库中添加信号、报文描述,设置不同信号数据的具体属性。
5.上述步骤完成后,数据库文件设计完成。将此数据库工程XVehicle.dbc导入我们之前创建的项目工程X-Vehicle。导入后可在Simulation——Simulation Setup中看到数据库创建的仿真节点。
详细步骤可参考:https://blog.csdn.net/lamanchas/article/details/122113719