LabVIEWForum.de
2 While Schleifen parallel - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: 2 While Schleifen parallel (/Thread-2-While-Schleifen-parallel)

Seiten: 1 2


2 While Schleifen parallel - Surfman - 28.03.2006 20:18

hallo,

wie kann ich in LabVIEW 2 hile schleifen paralell synchron laufen lassen?
in beiden schleifen ist eine verzögerung von 100ms eingebaut aber trotzdem laufen beide nicht gleich...

cu


2 While Schleifen parallel - eg - 28.03.2006 20:56

Es gibt in LV Syncronisation-Palette. Nimm Semaphoren und synchronisiere damit deine While-Loops, die sind ja dazu da.

Oder suche mal in Beispielen von LV nach Syncronisation.

Gruss, Eugen


2 While Schleifen parallel - Surfman - 29.03.2006 21:16

hi,

und wofür ist so ne deterministische loop? da ist ja auch ne art timer dabei und delta t....

cu

ich hab mal ein das mit der sem. probiert, aber synchron lauft das nicht so richtig;((

VI LV 8.0


2 While Schleifen parallel - marker - 30.03.2006 09:43

Hallo Surfman,

ich mach das immer mit Rendezvous.

Gruß,
Marko

VI LV 8.0


2 While Schleifen parallel - eg - 30.03.2006 10:18

Hallo Surfman, hier mein Vorschlag mit Occurences, aber es geht genauso mit Semaphoren.

Gruss, Eugen

VI LV 8.0


2 While Schleifen parallel - eg - 30.03.2006 10:31

@marker

richtig, dein Vorschlag ist noch besser.

Gruss


2 While Schleifen parallel - Surfman - 30.03.2006 14:06

hi, danke
was heisst Rendezvous genau?Wink
könnt ihr mir noch zeigen wie man das mit semaphoren baut?

ps.: der stop button funzt nicht so wirklich bei deinem Rendezvous beispiel!

cu


2 While Schleifen parallel - eg - 30.03.2006 14:42

Über Rendezvous kannst du in der Hilfe von LV lesen (Rechtsklick auf das VI->Help). Es ist genau das was du brauchst. Das mit dem Stopbutton ist nur eine Kleinigkeit.

Gruss, Eugen


2 While Schleifen parallel - marker - 30.03.2006 14:49

Hi Surfman,

also mit Semaphoren macht das keinen Sinn. Semaphoren sind hilfreich wenn man z.B. auf eine Harware oder Datei von mehreren Programmstellen aus zugreift und verhindern möchte das zu viele Zugriffe gleichzeitig ablaufen. Die Anzahl wie oft eine Semaphore belegt werden darf wird an der Funktion "Create Semaphore" angegeben. Ist die maximale Semaphorenbelegung erreicht, wartet das Programm bei dem nächsten semaphorengesteuerten Programmteil solange bis mindestens eine Semaphrenbelegung freigegeben wird.

Bei den Rendezvous wird immer abgefragt ob sich eine gewisse Anzahl von Programmteilen an einem bestimmten Punkt befinden. Ist die aktuelle Anzahl kleiner als die an der Funktion "Create Rendezvous" angegebene erforderliche Anzahl, warten alle Programmteile solange bis sich soviele Rendezvous wie gefordert gemeldet haben.

Die Synchronisation der Schleifen könnte auch gut mit "Funktionalen Globalen Variablen" realisiert werden, allerdings wäre das dann ein "Nachbau" der Rendezvous.

Was funktioniert denn nicht an dem Stopp-Button? Die zweite Schleife wird einmal mehr durchlaufen, das ist klar. Wenn das natürlich Probleme bereitet muss der Stopp-Vorgang anders realisiert werden.



Gruß,
Marko


2 While Schleifen parallel - FilthHound - 31.03.2006 09:56

Hallo!

Da ich gerade ein ähnliches Problem wie Surfman habe, aber leider nur LabVIEW 7.0 möchte ich Euch fragen ob ihr die Beispiele für Semaphoren und Rendevouz auch in LabVIEW 7.0 hier reinstellen könntet? Wäre super.

Ich beschäftige mich erst seit kurzer Zeit mit LabVIEW und das hier ist auch mein erstes Programm. Es geht darum dass mit dem Drücken des Messung starten Buttons einmal die Datenerfasssung gestartet wird und gleichzeitig ein Schrittmotor in bewegung gesetzt wird. Da ich später in der Auswertung ein Kraft-Weg-Diagramm erstellen möchte ist es wichtig dass wenn der Schrittmotor den ersten Schritt tut auch der erste Kraftwert da ist. Im Programm habe ich das jetzt durch eine Case Struktur umgesetzt. Allerdings habe ich meine Zweifel dass das alles so gleichzeitig abläuft. Ich habe zum beispiel eine blinkende LED eingebaut die blinken soll solange die Kraftmessung läuft (in der While-Schleife) allerdings fäng die LED erst an zu blinken wenn die Bewegung des Schrittmotors abgeschlossen ist.
Es kann natürlich auch sein dass meine Art wie ich das programmiert habe völlig daneben ist, darum würde ich mich über ein paar Kommentare von erfahrenen LabVIEWnutzern freuen.

Grüße

FilthHound

VI LV 7.0