Forum: PC-Programmierung 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
 
2
SendRequestAndCheckReturnvalue(diagRequest * req)
3
{
4
  long ret;
5
6
  ret=req.SendRequest();
7
  if(ret>=0)
8
      write("(First frame of) Request has been successfully sent");
9
  else
10
      write("Error when trying to send the request");
11
}
12
13
 on key '4'
14
{
15
  DiagRequest TesterPresent req;
16
  
17
  SendRequestAndCheckReturnvalue(req);
18
  
19
}
20
21
on diagResponse TesterPresent
22
{
23
  long ret;
24
  
25
  if(this.IsPositiveResponse())
26
  {
27
    ret = 1;
28
    write("Tester Present positive response");
29
  }
30
  else
31
  {
32
    ret = 0;
33
    write("Tester Present negative response");
34
  }
35
}
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?

Ich hatte das Problem auch scbonmal im  Mikrocontroller und Digitale 
Elektronik geschrieben aber bisher keine Antwort erhalten. Daher 
versuche ich es hier noch einmal.

von Horgel (Gast)


Lesenswert?

Hast du denn die Diagnosebeschreibung deiner ECU ins CANoe eingehängt?
Klappt das Senden und Setzen von Tester Present über die Diagnose GUI?

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.