LabVIEWForum.de - Performance Probleme mit cRIO

LabVIEWForum.de

Normale Version: Performance Probleme mit cRIO
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hy,

bin mir nicht ganz sicher ob das Thema an dieser Stelle richtig ist...
Folgendes Problem:
Benutze ein cRIO und möchte damit Messungen im millisekundentakt aufzeichnen.
Wenn ich es richtig verstanden habe läuft die Scan engine des cRIO mit 1KHz. Die Messung sollte also technisch möglich sein.
Leider gelingt mir das nicht, ich lande bei einer Aufzeichnungsrate von 5-15ms und das auch nocht ungleichmäßig.

Kann sich jemand mal das VI ansehen und mir helfen die Performance zu verbessern?
Hallo Stefan,

die ScanEngine ist bei 1kHz schon ziemlich am Limit.
Außerdem hängt die Rate auch davon ab, wie schnell die Module sind und wieviele Messdaten du über die ScanEngine abfragen willst...
Hy Gerd,

ja die Scan Engine sollte ziemlich genau bei 1KHz am limit sein. Deswegen haben wir uns für ein cRIO entschieden, dass muss sie bringen, ist aber bis jetzt nicht der Fall...
Hallo Stefan,

1) Ohne Projektdatei sieht man leider immer noch nicht, welche Module verwendet werden. Die sind mitentscheidend für die Geschwindigkeit der ScanEngine...
2) In deinem VI wird eine Timing-Funktion verwendet, die die Schleife auf 500Hz begrenzt...
3) Was soll es bringen, wenn UI-Elemente im Millisekundentakt angesteuert werden. Kannst du wirklich so schnell gucken?
4) Ich weiß nicht, wie schnell die FileWrite-Funktion auf dem cRIO läuft. Auch da könnte das millisekündliche Schreiben von Daten hinderlich sein. (Außerdem gibt es nicht umsonst Pfad-Controls. Dann muss man keine Strings fehlerträchtig nachträglich in Pfade umwandeln.)
5) Wozu überhaupt diese ganzen grafischen UI-Elemente auf dem cRIO? Dieses verfügt doch selbst über keinen Monitorausgang!?

Um die ScanEngine zu testen, kannst du eine Schleife programmieren, wo du nur die AIs/DIs abfragst und Konstanten in den AO/DO schreibst (sonst nichts weiter). Dann man von dieser Schleife die Schleifenzeit ausgeben lassen. Gut dafür verwenden kann man auch TimedWhileLoops...
Hy Gerd,

erstmal vielen vielen Dank. Ich bin ja nun noch ein Labview Neuling aber es macht spaß mit der Software zu arbeiten besonders weil der Support passt Wink
Nun habe ich versucht das umzusetzen was du beschrieben hast und siehe da... Aufzeichnung im 1ms Takt funktioniert.
Bin mir nicht sicher, was jetzt letztlich zum Erfolg geführt hat aber es geht und ich freue mich riesig.
Nur am Anfang der Aufzeichnung macht er noch einen sprung von 1ms auf 7ms aber damit kann ich leben.

Was ich nicht verstanden habe ist der Teil mit den "Pfad-Controls" kannst mir noch erklären was damit gemeint ist bzw. was ich besser machen kann.

Im Anhang nochmal das nun fertige Vi und ein screenshot vom Projekt.

[attachment=40560]
[attachment=40561]

Dank und Gruß
Stefan
Hallo Stefan

so wird das wohl nichts...
Hast du schon mal den Begriff DATAFLOW vernommen? Er beschreibt das Grundprinzip von LabVIEW!

Du hast jetzt eine zweite Whileloop erstellt. Die wird aber erst nach der großen Schleife ausgeführt - wegen des DATAFLOWs! Da sie dann acuh gleich noch die STOPP-Bedingung erhält, wird diese Schleife auch nur ein einziges Mal ausgeführt - und ist damit sinnlos...

Denk mal drüber nach...
Die Scan-Engine ist als quasi eierlegende Wollmilchsau konzipiert, da darfst du wirklich nicht 1kHz Performance erwarten.
Und du hast doch schon FPGA-VI für die Encoder-Erfassung. Also am besten hier noch die weitere Erfassung dazuprogrammieren, dann geht da auch die Post ab.

Gruß, Jens
Hallo Jens,

Zitat:Die Scan-Engine ist als quasi eierlegende Wollmilchsau konzipiert, da darfst du wirklich nicht 1kHz Performance erwarten.
Aber NI zeigt doch so schöne AppNotes mit eben diesen Kennwerten, da kann man das doch erwarten! Wink (Ironie! Oder war das Sarkasmus?)
(05.07.2012 18:47 )GerdW schrieb: [ -> ]da kann man das doch erwarten! Wink (Ironie! Oder war das Sarkasmus?)
Rofl Nach dem Motto, mit ein paar Express-VIs lösen Sie schnell beliebige Probleme. Wink
@gerd: Ich glaube das Prinzip von Dataflow verstanden zu haben nur war mir nicht klar, dass der Tunnel erst beim Verlassen der while loop geschrieben wird. Irgendwie dachte ich es wäre wie bei einem Scan der Ein-Ausgänge des cRio. Sagte ja bin neuling.

Erstaunlich ist aber doch, dass die Erste Schleife nun eine Aufzeichnungsrate von 1ms schafft.
Den beiträgen zu folge wäre es vermutlich am besten alles auf den FPGA zu packen.
Seiten: 1 2
Referenz-URLs