Hallo zusammen,
ich habe auf meinem cRIO-9073 System eine Schleife die in 10ms-Abständen einen Messwert vom NI9211 Modul und zwei Messwerte vom NI9205 Modul in eine FIFO schreiben soll.
Leider wird die Schleife nur ca. alle 200ms ausgeführt!
Kann es sein, dass die Schleife durch die Messwertspeicherung aus 2 Modulen (NI9211 und NI9205) verzögert wird?
Schon mal im Vorraus vielen Dank für Ihre Antworten!
Grüß
Johannes
(18.11.2011 08:50 )maradona86 schrieb: [ -> ]Hallo zusammen,
ich habe auf meinem cRIO-9073 System eine Schleife die in 10ms-Abständen einen Messwert vom NI9211 Modul und zwei Messwerte vom NI9205 Modul in eine FIFO schreiben soll.
Leider wird die Schleife nur ca. alle 200ms ausgeführt!
Kann es sein, dass die Schleife durch die Messwertspeicherung aus 2 Modulen (NI9211 und NI9205) verzögert wird?
Schon mal im Vorraus vielen Dank für Ihre Antworten!
Grüß
Johannes
Ist das im FPGA oder im RT Teil?
Die Schleife befindet sich im FPGA!
Dann mal her mit dem Sourcecode. So kann man keine Aussage treffen.
Gruß, Jens
Hallo Jens,
schon einmal Danke, dass Du Dich mit meinem Problem beschäfftigen willst!
In den Screenshots siehst Du einmal die Schleife und das Sub-VI in aus der Schleife.
Die Schleife soll alle 10ms ausgeführt werden! Im Sub-VI werden dann die Offsets der
Reibungs- und Normalkraft von den Werten aus dem NI9205 Modul abgezogen und zusammen
mit der Temperatur aus dem NI9211 Modul, dem Zyklus und der Zeit in die FIFO geschrieben.
Wenn in der FIFO mehr als 8000 Elemente sind wird ein Interrupt ausgeführt, um die Daten
weg zu speichern.
Prinzipiell funktioniert das Ganze, nur die Ausführungsgeschwindigkeit der Schleife ist ca. 20mal
zu langsam! Kann das daran liegen, das noch andere While-Schleifen auf dem FPGA laufen?
Hab aber auch schon einmal nur diese Schleife laufen lassen und auch keine Verbesserung
festgestellt!
Danke für Deine Mühe!
Hallo diego,
das 9211 ist recht langsam mit nur 14S/s, vielleicht bremst das deine Schleife aus, indem der FPGA auf neue Messwerte erst warten muss?
Probier doch einfach mal mehrere parallele Schleifen aus. Die sind auf dem FPGA durchaus sinnvoll, da hier echt parallel gearbeitet wird. So kannst du eine langsame Schleife für die 9211-Abfrage einsetzen und schnellere für die 9205-Abfrage und Datenverarbeitung...
Hallo GerdW,
vielen Dank für die Antwort! Ich werd's gleich mal ausprobieren!
Gruß Diego
Hallo GerdW,
du hattest Recht! Das NI9211 Modul hat die Schleife ausgebremst! Ich schreibe jetzt die Werte aus den beiden Modulen mit Hilfe zweier Schleifen in Variablen und hol mir dann die Werte für die FIFO aus diesen Variablen!
Nochmal Danke für deine Hilfe!
Gruß
Johannes