我正在为诊断请求和响应编写CAPL,如果数据最多为8个字节,我可以得到响应,如果数据是多帧我没有得到响应,并且跟踪上的消息是"断开连接服务器和测试人员",如何处理?我知道CANTP帧,但在这种情况下它应该由CAN / Canoe处理。
答案 0 :(得分:2)
请阅读CANoe ISO-TP协议。在多帧响应的情况下,测试仪必须发送流控制帧,该帧提供发送器和接收器之间的同步,通常为0x30。它还具有连续帧的块大小和分离时间的字段。请尝试以下CAPL代码。
variables
{
message 0x710 msg = { dlc=8,dir = rx };
byte check_byte0;
}
on message 0x718
{
check_byte0 = this.byte(0) & 0x30;
if(check_byte0 == 0x10)
{
msg.dword(0)=0x30;
msg.dword(4)=0x00;
output(msg2);
}
}
答案 1 :(得分:-1)
我试图通过最大格式的消息ID发送请求,如22 XX YY,这是一个读取DID请求,如果响应小于8个字节,如果响应超过8个字节,则此方法很有效不会工作。所以我们需要使用Diagnostic对象来处理项目中使用的CDD(或任何描述文件)中定义的请求和响应。
如果您不使用CDD,在这种情况下您需要使用CCI(Capl回调接口),这主要是模拟设置所必需的。