0
私は、テスター要求に診断応答を与えるCAPLのノードをシミュレートしようとしています。 CANoeでは、1)ECUと2)Testerの2つのネットワークノードを追加しました。CAPLのノード/ ECUのシミュレーション
//**In Tester.can**
DiagRequest service req; // In variables, with corresponding service from cdd
on key 'a'
{
read_diag_addr_request();
}
void read_diag_addr_request()
{
DiagSetTarget ("Target");
DiagResize(Diag_addr_req,2);
DiagSetprimitiveByte(req,1,0x1A);
DiagSetprimitiveByte(req,2,0xB0);
DiagSendRequest(req);
}
//**In ECU.can**
DiagResponse service res; // In variables, with corresponding service from cdd
on diagResponse *
{
write("IN DIAG_RESPONSE");
DiagResize(res,3);
DiagSetprimitiveByte(res,0,0x5A);
DiagSetprimitiveByte(res,1,0xB0);
DiagSetprimitiveByte(res,2,0x"data");
DiagSendResponse(res);
}
テスター要求[1A B0]がトレースウィンドウに表示されますが、肯定応答は確認されません。
注:肯定応答処理のみを考慮し、テスター要求は正しいです。私はメッセージ*イベントを使用して応答を取得しようとしており、これは正常に動作します。
CAPL機能のDiagSendResponse?を使用しているときに問題を理解するのに助けてくれる人がいますか。
おかげ