INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Dieses Thema hat akzeptierte Lösungen:

While-Schleifen-Problem



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!

19.12.2012, 18:51
Beitrag #1

Baaand Offline
LVF-Neueinsteiger


Beiträge: 6
Registriert seit: Dec 2012

12.0
2012
DE



While-Schleifen-Problem
Hallo Leute,

ich hab ein Problem an dem ich schon den ganzen Tag hänge. Ich bin blutiger Anfänger, daher ist es wahrscheinlich ne Kleinigkeit und ich werde mir danach in den Arsch beißen Big Grin

Ich habe die Ehre mein Bachelorarbeit über ein LabVIEW-Programm zu schreiben Wink

Und zwar hab ich mehrere SubVIs, die zum Beispiel den Sonnenstand berechnen, Wetterdaten aus einer Wetterstation abrufen und Daten von einer Wettervorhersage abrufen.

Wenn man mein VI anschaut, arbeiten die oberen zwei While-Schleifen zusammen. D.h. generierte Daten aus der linken Schleife, werden in der rechten benötigt, daher auch die Randevouzs! Das Ergebnis wird auf dem Frontpanel im Cluster "Ausgangscluster" angezeigt.

Bei den beiden unteren Schleifen ist es das gleiche. Daten die aus der linken Schleife werden in der rechten Schleifen weiterverarbeitet. Daher hab ich hier auch ein Randevouz, damit die beiden Schleifen sauber nacheinander ablaufen. Das Ergebnis wird auf dem Frontpanel im Cluster "Value" angezeigt.


Wenn man nun das Programm ablaufen lässt, sieht man, wenn nach ein paar Sekunden die ersten Werte kommen und diese dann nach kurzer Zeit wieder in einen Ausgangswert zurückspringen. Lasse ich die unteren zwei Schleifen, oder die oberen zwei Schleifen "alleine" in einem eigenen VI ablaufen funktionierts. Auch wenn ich ein Randevouz lege, damit erst die oberen zwei Schleifen laufen und danach die unteren beiden, funktionierts auch. So macht aber mein Programm leider keinen Sinn.

Ich hoffe ich konnte mein Problem etwas näherbringen! Wink

Danke schon mal

Version 12.0


Angehängte Datei(en)
12.0 .vi  Randevouz_LF.vi (Größe: 76,49 KB / Downloads: 185)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
19.12.2012, 19:49
Beitrag #2

BNT Offline
LVF-Freak
****


Beiträge: 744
Registriert seit: Aug 2008

5.0 - 22Q3
1999
EN

64291
Deutschland
RE: While-Schleifen-Problem
Hi
Such mal nach dem Entwurfsmuster Producer-Consumer. Dazu gibt es viele Einträge in diesem Forum und Beispiele in LabVIEW.

Empfehlung: Beginne mit Menü->New... VI/From Template/Frameworks/Design Patterns/Producer-Consumer Design Pattern und benutze die bereits vorhandenen SubVI's.

Den großen Cluster solltest Du in Eingabe- und Anzeige-Elemente splitten. Dann kannst Du auch die Referenzen vermeiden.

Probier mal, es ist gar nicht so schwer.

Gruß Holger

NI Alliance Partner & LabVIEW Champion
GnuPG Key: 6C077E71, refer to http://www.gnupg.org for details.
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.12.2012, 22:02
Beitrag #3

Baaand Offline
LVF-Neueinsteiger


Beiträge: 6
Registriert seit: Dec 2012

12.0
2012
DE



RE: While-Schleifen-Problem
Danke Holger, ich werde es mal testen! Smile

Kann das Problem bei mir also daran liegen, dass ich teilweise gleichzeitig an verschiedenen Stellen in das gleiche Cluster schreibe?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.12.2012, 22:48
Beitrag #4

BNT Offline
LVF-Freak
****


Beiträge: 744
Registriert seit: Aug 2008

5.0 - 22Q3
1999
EN

64291
Deutschland
RE: While-Schleifen-Problem

Akzeptierte Lösung

(19.12.2012 22:02 )Baaand schrieb:  Kann das Problem bei mir also daran liegen, dass ich teilweise gleichzeitig an verschiedenen Stellen in das gleiche Cluster schreibe?

Ja, genau. Und der Ansatz die Schleifen mit Rendezvous zu synchronisieren, ist in diesem Fall nicht angebracht. Rendezvous werden benutzt, um den Start unabhängiger Aktivitäten zu synchronisieren, die verschieden lange Ausführungszeiten benötigen.

In Deinem Fall scheint es ja noch einfacher zu gehen. Eingangsparameter lesen, SubVI ausführen, Ausgänge anzeigen. Alles in einer einzigen Schleife!

Gruß Holger

NI Alliance Partner & LabVIEW Champion
GnuPG Key: 6C077E71, refer to http://www.gnupg.org for details.
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Übergabe-Problem zweier While-Schleifen mit Queue onsight8c 1 3.712 10.10.2014 16:42
Letzter Beitrag: jg
  DAQ While-Schleifen Problem xxmoritzon360xx 6 5.293 09.03.2014 18:26
Letzter Beitrag: GerdW
  While Schleifen Problem bolle 7 6.032 04.12.2008 12:40
Letzter Beitrag: bolle
  Problem mit while Schleifen Regenwurm 7 6.221 30.04.2008 10:18
Letzter Beitrag: Kvasir
  Problem mit while-schleifen teirack 4 4.800 23.10.2007 05:31
Letzter Beitrag: Achim
  problem mit paralellen schleifen gottfried 7 5.700 31.05.2007 10:41
Letzter Beitrag: gottfried

Gehe zu: