CAPL中在CAN1上监听UDS报文,在CAN2上输出控制码的方法

Method of listening to UDS message on CAN 1 and outputting control code on CAN2 in CAPL

我完全是编程方面的业余爱好者,但在操作 Vector 工具方面有一些经验,并且长期熟悉汽车 CAN 网络和 UDS。我可以发送控制消息以手动操作总线 2 上 RAD I/O 接口上的继电器(ON KEY)所以我知道命令有效(点击点击)但我需要它在收到诊断 CAN 时这样做框架(在诊断请求中)。问题是,diagRequest 在 CAN 总线 1 上,我需要在 CAN 总线 2 上发送命令。有没有 CAPL 键盘侠能提出解决方案?

includes
{

}

variables
{
  message 0x600 radio={dlc=8};
}

ON key 'p'
{radio.byte(0)=0x04;
output (radio);
}
ON key 'o'
{radio.byte(0)=0x00;
output (radio);
}
on diagRequest RequestTransferExit

  {radio.byte(0)=0x04;
output (radio);
}
  1. 您应该将模拟节点配置为网关(在其配置...总线选项卡中)也添加其他 CAN,以便它可以同时访问。

  2. 为了在不同的频道上输出 ID,您还必须使用频道选择器定义无线电消息,如下所示:

    变量 { 消息 CAN1.0x600 radio={dlc=8}; }