Forum: Mikrocontroller und Digitale Elektronik Nachricht kann nicht vom CAPL-Code gesendet werden


von Johannes (Gast)


Lesenswert?

Hallo,
ich habe in CANoe UDS Nachrichten definiert. Jetzt möchte ich in CAPL 
ein Skript schreiben, welches mir eine Nachricht raussendet und die 
Antwort auswertet. Später möchte ich dann so mein Protokoll testen. Aber 
bei CAPL habe ich noch das Problem, dass ich nicht weiß, wie ich an die 
Daten von CANoe komme. Als Vorlage habe ich mir das Beispiel von Vector 
genommen.
1
SendRequestAndCheckReturnvalue(diagRequest * req)
2
{
3
  long ret;
4
5
  ret=req.SendRequest();
6
  if(ret>=0)
7
      write("(First frame of) Request has been successfully sent");
8
  else
9
      write("Error when trying to send the request");
10
}
11
12
 on key '4'
13
{
14
  DiagRequest TesterPresent req;
15
  
16
  SendRequestAndCheckReturnvalue(req);
17
  
18
}
19
20
on diagResponse TesterPresent
21
{
22
  long ret;
23
  
24
  if(this.IsPositiveResponse())
25
  {
26
    ret = 1;
27
    write("Tester Present positive response");
28
  }
29
  else
30
  {
31
    ret = 0;
32
    write("Tester Present negative response");
33
  }
34
}

Dieses Skript soll mir eigentlich nur ausgeben, ob vom Service 
TesterPresent eine positive oder negative response zurück kam.

Allerdings bekomme ich schon immer den Fehler
Error when trying to send the request
Das ist auch ein bisschen klar, da nirgendwo in CAPL definiert ist, wie 
die Nachricht von TesterPresent aussieht.
In CANoe ist der Request und die erwartete response eingetragen.
Wie kann ich in CAPL jetzt sagen, dass diese Daten benutzt werden 
sollen?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.