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 

Mehrere while Schleifen über globale Variable beenden



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!

25.01.2009, 20:17 (Dieser Beitrag wurde zuletzt bearbeitet: 25.06.2012 12:41 von Lucki.)
Beitrag #11

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Mehrere while Schleifen über globale Variable beenden
' schrieb:ich hab mal ein analoges beispiel programmiert und beigefügt, gestartet wird es über die Hauptwhileschleife. außerdem wäre es schön, wenn es eine möglichkeit gäbe dass sie gleichzeitig loslaufen. wäre tolle wenn mir jemand weiterhelfen könnte..

Habe den Thread hier gelesen, der so gelaufen ist: Du hast eine kompliziert aussehende Antwort erhalten, da hat Dich der Mut verlassen, so daß sich Deine weitern Fragen dann nur noch darauf richten, wie man LabVIEW lernt.

Deine Frage bezieht sich nicht nur auf das Stoppen, sondern auch auf die Synchronisierung der 3 Programme, und hierzu möchte ich etwas sagen.
Wenn man die in den Sub-Vi erzeugten Daten nicht mit globalen Veriablen, sondern mit Meldern zum Haupt-VI überträgt, dann synchronisieren sich die beiden Vis von selbst. Der Meldeempfänger (Im Haup-VI) wartet bei jedem Schleifendurchlauf, bis neue Daten vorliegen. Man braucht dort keine Waits.
Allerdings ist es dann immer so, daß der Datenerzeuger den Datenempfänger synchronisiert, also in Deinem Fall die Sub-Vis das Haup-VI bzw. die entsprechenden while-Schleifen im Haup-VI.
In umgekehrter Richtung, oder wenn wie in Deinem Fall alle freilaufenden SUB-VIs mit dem Haupt-VI synchronisiert werden solle, wirds schwieriger. (Stichwort: Rendezvous). Das möchte ich Dir erst mal ersparen.
Gewissermassen als Abfallprodukt eines solchen Erzeuger-Verbraucher-Konstruktion, also ohne jeden zusätzlichen Programmaufwand, funktioniert der Stopp aller VIs: Beim Stop im Haup-Vi zerstört man einfach den Melder. Das wird in den anderen VIs bemerkt, es kommt zu Fehlermeldung, die man dort an die Stoppknöpfe in den while-Schleifen anschließt.
Tipp: Hier im Forum suchen nach Erzeuger-Verbraucher-Struktur, es gibt da einfache Beispiele.
Hier Deine VIs ein bisschen geändert:


Angehängte Datei(en)
8.2 .vi  _Haupt_whileSchleife1.vi (Größe: 13,88 KB / Downloads: 174)

8.2 .vi  whileSchleife2.vi (Größe: 6,6 KB / Downloads: 132)

8.2 .vi  whileSchleife3.vi (Größe: 6,62 KB / Downloads: 123)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
Antwort schreiben 


Nachrichten in diesem Thema
Mehrere while Schleifen über globale Variable beenden - Lucki - 25.01.2009 20:17

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Datenaustausch über Cluster in zwei While-Schleifen creo_123 5 3.828 04.03.2022 09:36
Letzter Beitrag: Kiesch
  Globale Variablen Edi70 7 3.246 08.10.2021 17:01
Letzter Beitrag: GerdW
  2 Parallele While-Schleifen mit unterschiedlichen Timer beenden Tomate27 3 2.467 18.08.2020 13:29
Letzter Beitrag: GerdW
  Boolean als globale Variable ares2013 12 9.858 06.09.2019 13:57
Letzter Beitrag: GerdW
  Mehrere Befehle über System Exec VI creo_123 9 5.795 04.05.2017 06:03
Letzter Beitrag: creo_123
  Mehrere Messreihen aufnehmen über For-Schleife Gesetzt 3 3.604 18.04.2017 15:21
Letzter Beitrag: GerdW

Gehe zu: