1.引言
通过创建DBC文件、系统变量、Panle、网络节点及其CAPL来实现一个仿真工程。
代码先写“hello world”,工程肯定是从点灯开始。通过仿真工程模拟开关ECU和灯ECU,通过开关来实现灯的亮灭。
![](http://image109.360doc.cn/DownloadImg/2024/06/1221/284789773_1_20240612095701282.png)
2.创建DBC
这边简单创建一个报文msg和信号switch即可。
![](http://image109.360doc.cn/DownloadImg/2024/06/1221/284789773_2_20240612095701376.png)
![](http://image109.360doc.cn/DownloadImg/2024/06/1221/284789773_3_20240612095701485.png)
![](http://image109.360doc.cn/DownloadImg/2024/06/1221/284789773_4_20240612095701594.png)
3.创建系统变量
Environment->System Variables 创建系统变量svlight和svswitch。
![](http://image109.360doc.cn/DownloadImg/2024/06/1221/284789773_5_20240612095701766.png)
4. 创建 ECU
在simulation step中,右击CAN1的连线,选择Insert Network Node命令 ,分别创建ECU_SWITCH和 ECU_LIGHT。
![](http://pubimage.360doc.com/wz/default.gif)
右击ECU,点击configuration,在界面中选择ECU.can的路径,并创建ECU.can。
![](http://pubimage.360doc.com/wz/default.gif)
![](http://pubimage.360doc.com/wz/default.gif)
5. 创建panle
创建一个按钮和一个灯。
再将对应的系统变量 svswitch和svlight拖到按钮中去,可以看到按钮属性中的symbol已经改变了。
![](http://pubimage.360doc.com/wz/default.gif)
6.编写CAPL程序
![](http://pubimage.360doc.com/wz/default.gif)
点击按钮打开capl编辑界面。
添加开关的代码,并关联到信号的发送。
![](http://pubimage.360doc.com/wz/default.gif)
可以编译一下看看。
![](http://pubimage.360doc.com/wz/default.gif)
之后编写灯的代码。
![](http://pubimage.360doc.com/wz/default.gif)
7.测试验证
通过鼠标左键开switch、右键关switch,可以看到灯的亮灭,并且在trace界面 也可以看到信号的跳变。
![](http://pubimage.360doc.com/wz/default.gif)
![](http://pubimage.360doc.com/wz/default.gif)