LabVIEWForum.de
Datensnyc von zwei Whileschleifen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Datensnyc von zwei Whileschleifen (/Thread-Datensnyc-von-zwei-Whileschleifen)



Datensnyc von zwei Whileschleifen - LV-Fred - 20.08.2011 12:33

Hallo Zusammen,

ich hab "schon wieder Angel_not " ein Problemchen... Im angehängten VI habe sieht man die Grundstruktur meines Messprogramms. Ich habe alle überflüssigen Programmteile entfernt, damit es übersichtlicher ist und nicht zu Fehlern aufgrund fehlender Programmteile kommt. Dank GerdW (Danke nochmal ;-) )funktioniert die Steuerung tadellos!, ich habe nur ein Problem die Daten zu syncronisieren.

In den Cases: Start measurement sind jeweils eine Whileschleife. Eine dient zur Abholung der Sensordaten und die andere zur Abholung der Motorposition. Mein Problem ist, die Daten aus den beiden Whileschleifen 1.)überhaupt und 2.) syncronisiert in die Queue: Data storage zu bekommen. Zudem soll irgendwann noch ein zweiter Motor in gleicher manier wie der erste dazu kommen...

Die beiden Schleifen laufen mit dem Rest des Programms unterschiedlich schnell. Ich habe sie mit der timing Funktion Wait until...multiple ms zwar zeitlich syncronisieren können, jedoch musste ich eine sehr hohe zeit von 250ms angeben, was die Messrate stark reduzierte. Gibt es da eine bessere Möglichkeit?

Vielen Dank schonmal für eure Hilfe.

LV-Fred


RE: Datensnyc von zwei Whileschleifen - LV-Fred - 20.08.2011 14:31

Hey,

Ich habe es hinbekommen das aus beiden Schleifen der Messwert in ein Queue geschrieben wird. Kann man das so machen, oder wäre das noch etwas eleganter zu gestalten?

Wie kann ich die Schleifen jetzt noch Synchronisieren?

Gruß

Fred


RE: Datensnyc von zwei Whileschleifen - LV-Fred - 22.08.2011 07:42

Hey,

ich habe die beiden Schleifen jetzt mit der Rendezvous Funktion synchronisiert. das Funktioniert auch gut, bis die Schleifen verlassen werden. Dann hängt sich leider das Programm auf. Hat jmd eine Idee woran das liegen könnte?

Gruß Fred


RE: Datensnyc von zwei Whileschleifen - GerdW - 22.08.2011 08:28

Hallo Fred,

im Moment (Beitrag#2) ist mir deine Programmstruktur etwas schleierhaft.
Es fehlt mir eine klare Trennung der einzelnen Funktionseinheiten! Du hast 3 Command-Queues, die parallel in der gleichen Schleife abgearbeitet werden - und alle 3 ohne Timeout auf ihre Befehle warten. Um einen Block abzuarbeiten, musst du für alle 3 ein Kommando schicken...

Zitat:ich habe die beiden Schleifen jetzt mit der Rendezvous Funktion synchronisiert.
Wozu das ganze? Die eine Schleife verarbeitet doch nur UI-Eingaben (per Eventstruktur), was willst du da synchronisieren?


RE: Datensnyc von zwei Whileschleifen - LV-Fred - 22.08.2011 08:46

Hallo Gerd,

(22.08.2011 08:28 )GerdW schrieb:  
Zitat:ich habe die beiden Schleifen jetzt mit der Rendezvous Funktion synchronisiert.
Wozu das ganze? Die eine Schleife verarbeitet doch nur UI-Eingaben (per Eventstruktur), was willst du da synchronisieren?

Die Synchronisierung ist notwendig, da die Motorposition immer dem aktuellen Messwert zugeordnet werden soll. Die verwurstete Struktur beruht auf meinen Lösungsversuchen :-) Grund dafür ist, das ich die Daten synchronisierten Daten aus der Sensorschleife ( im Bsp. die Werte 1 und 2) und die Daten aus der Motorschleife (Wert 3) in das Queue Data Storage schreiben möchte. Leider hat das nicht geklappt, wenn ich die Motor und Sensorcases in verschiedene Whileschleifen packe.

Ohne die Datensynchronisation wurde das natürlich funktionieren.

Ach, das Rendezvous funktioniert jetzt, aber wie du schon angesprochen hast, die Struktur ist irgendwie komisch... :-)
Gruß Fred
Ich glaube wir sprechen von zwei verschiedenen Schleifen...

Hier mein aktueller Stand. Die angesprochenen Whileschleifen befinden sich innerhalb der Case Struktur.