Datenausgabe einer While-Schleife nach jedem Iterationsschritt??
Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
Datenausgabe einer While-Schleife nach jedem Iterationsschritt??
Hallo,
ich möchte folgende Anwendung programmieren.
Ich habe zwei Geräte und mittels Labview möchte bei beiden Geräten Daten auslesen - und ganz wichtig die Daten sollen kontinuierlich ausgelesen werden und der Datenauslesevorgang soll parallel zueinander laufen, also voneinander unabhägnig sein.
Ich habe mir also gedacht, ich lasse beide Geräte innerhalb jeweils einer eigenen While-Schleife auslesen.
Das Problem ist nun wie bekomme ich die Daten aus der jeweiligen While-Schleife raus um sie in einem weiteren Analyse-VI zu analysieren.... Der Datenauslesevorgang soll kontinuierlich laufen, heißt also die While-Schleifen kann ich nicht einfach anhalten um die Daten über einen Tunnel dann nach außerhalb auszugeben....
Ich brächte also so etwas wie eine While-Schleife, die nach jedem einzelnen Iterationsschritt den Wert an ihren Ausgängen nach ausßen hin abgibt, und nicht wie üblich erst nach beenden der While-Schleife.
Gibt es so etwas, oder hat vielleicht jemand eine andere Idee, wie ich mein Problem lösen könnte?
RE: Datenausgabe einer While-Schleife nach jedem Iterationsschritt??
Vielen Dank für die Antwort.
Das wäre kein Problem, da ich immer nur den aktuellsten Wert brauche.
Das eine Gerät liefert die Werte wesentlich langsamer als das andere... somit warte ich bis vom langsamen Gerät die Daten vorhanden sind und sobald sie alle angekommen sind lese ich vom schnellen Gerät nur den aktuellsten Wert ein.
RE: Datenausgabe einer While-Schleife nach jedem Iterationsschritt??
Hallo,
dann mach doch zwei Queues, die du auf ein Element beschränkst. In den zwei Erzeugerschleifen nimmst du Lossy-Enqueue, dann steht immer nur der Aktuelle Wert drin.
In der Verbraucherschleife setztz du bei der Langsameren ein Timeout, dass größer ist als das dt der Werte. Sobald in dieser Queue ein Wert ansteht wird im Programm fortgefahren. Als nächstes wird dann das Queue auslesen der schnellerern Schleife durchgeführt. Dann hast du die beiden aktuellen Werte und kannst diese Weiterverarbeiten.
RE: Datenausgabe einer While-Schleife nach jedem Iterationsschritt??
(25.02.2011 23:43 )Sternhagel schrieb: Vielen Dank für die Antwort.
Das wäre kein Problem, da ich immer nur den aktuellsten Wert brauche.
Das eine Gerät liefert die Werte wesentlich langsamer als das andere... somit warte ich bis vom langsamen Gerät die Daten vorhanden sind und sobald sie alle angekommen sind lese ich vom schnellen Gerät nur den aktuellsten Wert ein.
Wer sagt denn, dass man warten muss, bis ein Element in der Queue vorhanden ist? Einfach Timeout anders behandeln. Oder andersherum: aus einer Queue kann man auch alle vorhandenen Elemente auf einmal auslesen.
Gruß, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!