Hallo zusammen,
ich habe heute einen Zaubertrick in LabView kennengelernt. Und zwar kann den Inhalt von CAN-Frames verschwinden lassen
Also es geht darum, in einem CAN-J1939-Netzwerk Multiframes zu empfangen (die BAMs). Ich erhalte nicht immer den Payload, den der NI-XNET-Bus-Monitor mir anzeigt, sondern einen komplett leeren. Komischerweise fehlt nur der Payload, die ID und den Zeitstempel erhalte ich. Außerdem taucht die Lücke zwischen den einzelnen Frames auf, nicht am Anfang oder am Ende, siehe Bild im Anhang
.
Orientiert habe ich mich an dem Beispiel von NI:
http://www.ni.com/example/31215/en/#toc10
Ich habe das Beispiel-VI um die Sendefunktion gekürzt, da ich nur lesen möchte. Zudem habe ich ein Sub-VI hinzugefügt, der mir die BAMs richtig nummeriert (dies wird vom Beispiel verlangt) und zwei Fehler-Counter. Die Session ist wie im Beispiel ein Frame-In-Stream. Nach dem erfolgreichen Zusammensetzen der BAMs stoppe ich die Session und leere ihre Queue. In der Vergangenheit trat ohne sie ständig ein Puffer-Überlauf auf.
Das VI ist nur ein Sub-VI und alleine nicht lauffähig:
J1939 Read BAM RAWdata.vi (Größe: 47,94 KB / Downloads: 259)
Könnt ihr am VI etwas verdächtiges erkennen? Ich hoffe, dass wir zusammen diese schwarze Magie in den Griff bekommen können.
Schöne Grüße
EinVolvic