CANoe-Signalfilterung

Gast #939215
Hallo,

ich würde gerne in CANoe Messages mit gleichem identifier anhand der 
enthaltenen Signale filtern (Messages werden nur bei bestimmtem Wert 
eines enthaltenen Signals weitergereicht), bevor sie in den Graphik-View 
gehen. Der Filterblock arbeitet aber nur auf Message-Ebene.

Kann ich das irgendwie mit einem CAPL-Knoten machen?

Danke + Gruß, Das Ich
Gast #939679
Mit einem CAPL-Knoten gehts bestimmt. Du kannst das Signal ja ganz 
einfach per Verknüpfungen und if-Bedingung(en) filtern und in eine 
Umgebungsvariable schreiben oder ein neues Signal erzeugen.
#940044
Hi,

mit nem CAPL-Knoten geht das. Der muss vor dem Grafikfenster im 
Messaufbau eingebunden werden.

Ausm Kopf sollte das ungefähr so ausschauen:
1
on message XYZ {
2
  if (this.byte[0] == 0x33) {
3
    output(this);
4
  } 
5
}

wenn XYZ im DBC File definiert ist kann man glaub' ich auch auf die 
Signale der Nachricht zugreifen mit this.Signaname

Damit werden nur Nachrichten durchgelassen, die dem If Kriterium 
entspechen.

Damit alle andern Messages nicht auch ausgefiltert werden, muss dann 
noch ein zweites on message in den CAPL-Code , der alle anderen Messages 
ungehindert durchlässt:
1
on message * {
2
  output(this);
3
}

Soweit ich weis gilt bei den on message Funktionen, dass speziell 
Vorrang hat vor allgemein. Also werden die XYZ mit der ersten Funktion 
bewertet und alles andere mit der * Funktion.

Bin aber grad im Urlaub und kann's deshalb nur ausm Kopf 
runterschreiben...


Gruß
Martin
Gast #2517074
Cool,

nach langer Zeit wieder das Problem mit dem CAPL Filter aus der 
Versunkenheit wieder hervorgehollt.
Endlich konnte ich es dank diesem Beitrag lösen :)

Cool :)))))

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.