【CAPL】CANoe两路CAN网络之间的路由通信和测试
不同CAN网络之间通信的必要性
-
举例:惯性导航
- 导航功能,当汽车开入地下车库,失去GPS信号
- 调用转向、车速等信息推算汽车在地图的什么位置
- 这时需要用到其他CAN网络中的数据
在CANoe中创建网关
需求分析
- node:switch 作为 路由节点
- 当接收到报文0x123后,第一时间从CAN1发送到CAN2网络中
在simulation的network中添加新的网络CAN2
-
CAN network - add:
-
添加DBC:
路由节点设置
- 打开节点设置:选中想要作为路由节点的节点-右键-configuration
- 路由节点添加网络:选择要添加的CAN网络,添加到右侧框中,如图CAN2
- 效果:CAN2网络中自动生成switch节点,左下角有gateway字样显示所属网络
CAPL设置:主要设置路由节点的.can代码
- 赋值Route,并发送该报文
variables { message Route Route; } on message CAN.0x123 { Route.SIGN1 = this.switch2; Route.SIGN2 = this.switch1; output(Route); }