【CAPL】CANoe两路CAN网络之间的路由通信和测试

不同CAN网络之间通信的必要性

  • 举例:惯性导航

    • 导航功能,当汽车开入地下车库,失去GPS信号
    • 调用转向、车速等信息推算汽车在地图的什么位置
    • 这时需要用到其他CAN网络中的数据

在CANoe中创建网关

需求分析

  • node:switch 作为 路由节点
  • 当接收到报文0x123后,第一时间从CAN1发送到CAN2网络中

在simulation的network中添加新的网络CAN2

  • CAN network - add:

    图片
    图片
  • 添加DBC:

    image

路由节点设置

  • 打开节点设置:选中想要作为路由节点的节点-右键-configuration
    image
  • 路由节点添加网络:选择要添加的CAN网络,添加到右侧框中,如图CAN2
    image
  • 效果:CAN2网络中自动生成switch节点,左下角有gateway字样显示所属网络
    image

CAPL设置:主要设置路由节点的.can代码

  • 赋值Route,并发送该报文
    variables
    {
      message Route Route;
    }
    
    on message CAN.0x123
    {
      Route.SIGN1 = this.switch2;
      Route.SIGN2 = this.switch1;
      output(Route);
    }
    

trace效果

  • image

CAN1发送数据

tbd

posted @ 2025-08-13 17:43  anliux  阅读(162)  评论(0)    收藏  举报