LabVIEWForum.de
LabVIEW zu langsam für große Datenmengen über VISA? - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Instrument IO & VISA (/Forum-Instrument-IO-VISA)
+---- Thema: LabVIEW zu langsam für große Datenmengen über VISA? (/Thread-LabVIEW-zu-langsam-fuer-grosse-Datenmengen-ueber-VISA)



LabVIEW zu langsam für große Datenmengen über VISA? - Elcosta - 01.04.2010 14:24

Hi,
Ich habe folgendes Problem: Ich bekomme über Visa:Read 11 Bytes in der Frequenz 32Hz bis 4kHz. Also bis zu 4000 11-Byte Pakete pro Sekunde. Die Datenpakete bestehen aus 5 Byte Abstandswerten einem Komma und 5 Byte Intensitätswerten. Jetzt kann ich die Abstandwerte Problemlos in einem Signalverlaufsdiagramm anzeigen lassen, aber die Intensitätswerte würde ich gerne über ein Thermometer oder einen Balken ausgeben. Dies funktiniert aber nicht. Nichtmal in einem numerischen Anzeigefeld werden diese Daten ausgegeben. Das einzige was klappt ist, wenn man die Intensität ebenfalls über ein Signalverlaufsdiagramm ausgibt.
Hat einer einen Tipp?

Lv09_img2[attachment=25538]


LabVIEW zu langsam für große Datenmengen über VISA? - VDB - 01.04.2010 14:59

Du solltest die Werte nicht jedes Mal ausgeben, sondern nur jedes n-te Mal. Sogar schon 32 Werteänderungen pro Sekunde kann kaum ein Mensch unterscheiden....

VDB


LabVIEW zu langsam für große Datenmengen über VISA? - jg - 01.04.2010 15:50

So was hier:
[attachment=25542]
absoluter Performance-Killer!

Eine PropertyNode wird im UI-Thread ausgeführt, du schreibst aber dauernd neue Sachen ins GUI rein.

Gruß, Jens


LabVIEW zu langsam für große Datenmengen über VISA? - IchSelbst - 01.04.2010 16:58

' schrieb:Also bis zu 4000 11-Byte Pakete pro Sekunde.
4000 11er-Pakete ist schon recht viel für ein Windows-System. 250µs - Resepkt. Ich sag aber mal: das geht.

Zitat:Dies funktiniert aber nicht.
Das wundert mich nicht. So schnell, also 4kHz, ist eine Bildschirmanzeige nicht. Was spricht denn die Prozessorauslastung, wenn deine Einlese-Schleife läuft?

Zitat:Hat einer einen Tipp?
Erster Tipp:
Mach ein SubVI, das im Hintergrund läuft und nichts weiter macht, als die Daten von RS232 zu lesen. Diese Daten schickst du per Queue an ein SubVI, das nichts weiter macht, als die aus der Queue ausgelesenen Daten anzuzeigen.

Zweiter Tipp:
Bearbeite die vier Buttons in einer Event-Struktur. Der VISA-Handle liegt dann in dem Schieberegister um die Event-Struktur.