LabVIEWForum.de - Kommunikation CompactRio und Computer

LabVIEWForum.de

Normale Version: Kommunikation CompactRio und Computer
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

bezugnehmend auf mein vorheriges Thread
http://www.labviewforum.de/Thread-Datene...nalverlauf
nun weitere Fragen bezüglich der Darstellung:

Bis ca. 15 Hz wird das Spektrum sauber dargestellt. Die Anzeige des Signals ist aber abgehackt. Dies liegt meiner Meinung nach am langsamen Datenübertragungskabel zum Computer vom CompactRio aus. Misst man die Plateaus der Signaldarstellung und vergleicht diese mit der eingestellten Frequenz findet man heraus, dass ein Plateau 10 ms lang ist. Bei einer Frequenz von 99 Hz bekomme ich einen "scheinsinus" von 1 Hz und bei 100 Hz bekomme ich ein ganzes Plateau und keinen Sinus mehr angezeigt. Dies ist ja alles in Ordnung, auf die Signaldarstellung kommt es mit im Grunde nicht an. Wohl aber auf die Spektrumanalyse:

Diese müsste doch eigentlich unabhängig von der Datenübertragungsrate sein, da sie ja auf dem CompactRio programmiert ist (Screenshot) und dort eigentlich noch viel höhere Frequenzen sauber anzeigen müsste. Dies tut sie aber z.B. bei 155 Hz nicht, sondern zeigt wieder Frequenzen, die unplausibel sind.

(10Hz, 99Hz, 155Hz)
[attachment=35371][attachment=35372][attachment=35373]

[attachment=35374]

Wenn ich 250.000 Werte speichere bekomme ich in der Anzeige einen Sinus der Länge 1 Hz angezeigt. Bei 50.000 wie im Beispiel bekomme ich einen kleineren Ausschnitt, aber dafür die höheren Freuqenzen deutlich besser zu sehen. Mir ist klar, dass die Signaldarstellung nur ein "Spiegel" des Compact Rio ist, trifft dies aber auch für die Spektrumanalyse zu, und ist desshalb so unzuverlässig? Eigentlich sagt mir die Einstellung von 250.000 und die Kombination zu 1 Hz, dass der Compact Rio 250.000 Werte die Sekunde erfassen kann, und desshalb die noch intern berechnete Spektrumanalyse deutlich höhere Frequenzen anzeigen müsste.

Viele Grüße,

Tobias
Wo ist in deinem VI eine Taktrate programmiert? Nirgends.
Du holst dir per Scan-Engine im Software-Takt so schnell wie möglich die aktuellen Werte eines Analog-Eingangs ab.

Mit dem Scan-Engine handelst du dir übrigens die erste Einschränkung ein. Da ist bei Erfassungraten von ca. 1 kHz Schluss.
Wenn dir das reicht, dann kannst du damit weiterarbeiten.

Dann gehört die Datenerfassung (in deinem Fall das Auslesen per Scanengine) auf dem cRIO in eine Timed-Loop. Die sollte auf dem RT schon sehr exakt laufen!

Gruß, Jens
Hallo,

vielen Dank erst mal für die Antwort. Die bearbeitbaren Frequenzen sind deutlich gestiegen. Komme nun wie erwartet bis ca. 1 kHz hoch. Was mir auffällt ist, dass ein zweiter Peak, je näher man der 1000 Hz-Marke kommt, er sich von der anderen Seite der 1000 Hz Marke nähert, also an dieser Marke spiegelt. Dies hängt vermutlich mit dem "einseitigen Leistungsspektrum zusammen, richtig?

[attachment=35404]

Zudem habe ich noch weitere Fragen zum Timing: Die Scan-Engine-Eigenschaften habe ich einmal auf 1 ms und 0,5 ms gestellt. Schneller als 0,5 ms geht es nicht. Um die eingestellte Frequenz aber plausibel abzustimmen und auf der x-Achse richtig zu positionieren, musste ich die Konstante (rot eingerahmt, mittlerer Screenshot) verändern. Bei 1ms betrug der Wert 4,27*10^-6 und bei 0,5 ms 5,95*10^-6. Diese Stellgröße erscheint mir aber sehr ungenau, da ich bei mehrmaligem Ausführen erneute Abweichungen beobachtet habe (rechter Screenshot, eingestellte Frequenz 200 Hz, Ausschlag leicht links davon). Gibt es eine genauere Stellgröße, kann ich eventuell darauf verzichten?

[attachment=35407][attachment=35406][attachment=35405]

Für die weitere Bearbeitung: Es gefällt mich schon sehr gut, das ich Frequenzen bis 1 kHz aufnehmen kann, und ist ein deutlicher Fortschritt zu den 15 Hz der vorherigen Anwendung, aber eigentlich möchte ich Frequenzen bis zu 20 kHz aufnehmen. Welche grundlegenden Änderungen müssen dann vorgenommen werden, um diese hohen Frequenzen zu bearbeiten?

Viele Grüße, Tobias
Du nimmst immer noch nicht Werte in einem festen Takt auf, da du 10000x aus der Scan-Engine so schnell wie möglich den aktuellen Wert abholst. Aber im Prinzip können wir mit dieser Thematik komplett abbrechen. Denn wenn du mit bis zu 20 kHz abtasten willst, dass wird dir nichts anderes übrig bleiben, als die Datenerfassung im FPGA des cRIO zu programmieren.

Gruß, Jens
Hallo,

ja, das hab ich mir auch schon fast gedacht. Danke trotzdem für die Informationen.

Kann ich denn für die Programmierung im FPGA Teile der bisher programmierten Weiterverarbeitung nutzen?
Habe mich schon durch verschiedene Tutorials durchgeklickt und gelesen, aber das kommt mir vor wie ein riesiger Komplex, wo man nicht weiß, wo man einsteigen soll. Werde nochmal weiter schauen und Beispiele posten. Dann aber bestimmt in einem anderen Unterforum, richtig?

Danke und viele Grüße,

Tobias
Hallo,

nochmal eine Frage zum Compact Rio / Scan Engine:

Ich habe mit den 250.000 Werten, die ich in ein Array speichere ja eine relativ große Datenmenge, die ich verarbeiten muss. Dazu die Anzeigeelemente. Kann ich noch schneller werden beim Abtasten wenn ich die Anzeigeelemente komplett raus nehme und durch den analogen Output am CompactRio auf ein anderes Anzeigegerät gehe? Dann habe ich den PC nämlich nicht mehr als Bremse dazwischen. Oder kann der Compact Rio mit der ScanEngine-Einstellung nicht schneller, auch wenn ich den PC komplett rausnehme?

Vielen Dank.

Tobias
Referenz-URLs