LabVIEWForum.de
Timing mit Queues - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Timing mit Queues (/Thread-Timing-mit-Queues)



Timing mit Queues - Joe - 17.02.2005 15:05

Hi,

ich habe mal eine kleine Frage:
Ich habe 3 parallele While-Schleifen. In der ersten wird ein Signal erzeugt und dieses in eine Queue geschrieben.
Die zweite ist dafür zuständig, das Signal anzuzeigen, da sind also die Graphen usw. drinnen. Und die dritte soll dazu verwendet werden, die Daten dann in eine Datei zu schreiben.

Um das mal einfacher dazustellen, habe ich einfach in die Queue den Schleifenzähler der ersten Schleife eingetragen.

Mein Problem ist nun, dass:
[list]
[*] die 2. und 3. Schleife immer abwechselnd die neuen Queue-Werte bekommen, die sollten aber eigentlich parallel hochzählen
[*] die Zähler der 2. und 3. Schleife langsamer laufen als der Zähler, der über die Queue übertragen wird.
[list]

Wie bekomme ich das denn hin, dass die 5 Anzeigen synchron zueinander laufen? Kann mir da jemand von euch einen Tipp geben?


Timing mit Queues - Mario W. - 17.02.2005 16:41

Hallo Joe

Das Problem bei deinem Prog ist, daß wenn du von deinem Queue einen Wert liest dieser aus dem Queue entfernt wird. Versuchs mal mit "Preview Queue" wobei du dann aber trotzdem darauf achten mußt denn Wert aus dem Queue zu entfernen

mfg Mario

PS. warum willst du denn eigentlich drei Schleifen verwenden, das würde ja auch mit einer funkn ?


Timing mit Queues - Oliver Listing - 18.02.2005 11:50

Hi Joe,

wenn du die Fkt. Preview Queue Element empfiehlt, verschiebt sich meines erachtens das Problem nur in die Richtung:
Wer ist für das Löschen zuständig, und wann darf er dieses tun, damit der andere per Preview den Wert schon ausglesen hat...

ich würde der Einfachheit halber empfehlen mit zwei Queues eine Punkt zu Punkt-Verbindung aufzubauen.

Gruß
Oliver

P.s.: Ich gehe mal davon aus, das die drei parallelen Schleifen einen tieferen Hintergrund haben, ansonsten schließe ich mich Mario W.s letzter Frage an.


Timing mit Queues - Joe - 19.02.2005 22:49

Hi,

also erstmal danke für die Antworten. Ich habe den Dequeue durch den Preview ersetzt und jetzt gehts.

Der Sinn von dem Ganzen ist eigentlich nur, dass ich richtig lernen wollte, mit Queues umzugehen.

Die erste Schleife ist nötig, weil ich da eine unabhängige Signalquelle habe. Die beiden anderen sind nur zur Datenverarbeitung vorhanden, die könnte ich auch zusammenlegen.
Dass ich 3 Schleifen genommen habe, hat nur den Grund, dass mein Programm schon die oben genannten Schleifen hatte und ich noch eine File I/O Schleife einbauen wollte, die möglichst schnell arbeitet. Und wenn die Schleifen ja parallel arbeiten (ich weiß, Software arbeitet nur quasi-parallel), hab ich gemeint, dass ich vielleicht Geschwindigkeit rauskitzeln kann.