Hi zusammen,
mein cRIO macht ganz komische Sachen. Ich lese mehere Kanäle per FPGA ein. Im FPGA filter ich die Werte und übertrage sie zur RT-Anwendung. Dort lese ich die Werte aus dem FIFO aus.
Das Ganze mache ich mit 2 Messkarten und je 6 Kanälen. Pro Messkarte verwende ich einen DMA-FIFO.
Das sieht wie folgt aus.
Werte per FPGA einlesen und filtern:
In der RT-Anwendung lese ich die Werte so aus:
Die Anzahl der auszulesenden Elemente liegt in meinem Fall bei einer durch 6 teilbaren Zahl wie z.B. 600.
Nun sollte man meinen, dass die Werte in jedem FIFO in dieser Reihenfolge stehen (FXP-Array in der RT-Anwendung):
Kanal0, Kanal1, Kanal2, Kanal3, Kanal4, Kanal5, Kanal0, Kanal1, ...
Prinzipiell klappt das auch, aber manchmal landen die Werte am falschen Platz (nach einen cRIO-Reboot). Die Werte von Kanal 4 stehen dann an der Stelle von Kanal 5. Alle sind um eine Stelle verschoben.
Ich habe auch schon versucht, die FIFOs zu leeren. Aber das half nichts.
Seht ihr einen Fehler?
Ich bin wirklich am Verzweifeln. Sollte sich herausstellen, dass es nicht an meinem Code liegt (muss egtl. am Code liegen), war das mein letztes cRIO ...
Frustriert grüßt
Matze