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 

Verschachtelte while-Schleifen 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!

08.05.2007, 14:14 (Dieser Beitrag wurde zuletzt bearbeitet: 08.05.2007 14:28 von skywalker.)
Beitrag #1

skywalker Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 154
Registriert seit: Jan 2007

2020
2007
DE

99310
Deutschland
Verschachtelte while-Schleifen beenden
Hallo,

ich habe ein Programm, welches drei while-Schleifen besitzt. Die eine befindet sich um das gesamte "Programm" herum,
um es dauerhaft laufen zu lassen.
In dieser befindet sich zwei weitere parallele while-Schleifen.

Wie kann ich nun das Programm mit nur einem Stop-Button stoppen?

Ich bekomm das einfach nicht hin, dass die inneren Schleifen anhalten.
Wo muss ich den Knopf platzieren? In der äußeren (wie bei mir) oder in der inneren Schleife?

Stefan


Sonstige .vi  schleifen.vi (Größe: 6,48 KB / Downloads: 311)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
08.05.2007, 14:44
Beitrag #2

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
Verschachtelte while-Schleifen beenden
Hallo,
Stop-Button gehört natürlich in eine der beiden inneren Schleifen (am besten in die, die schneller läuft). Die 2. parallele und die äußere könntest du z.B. über lokale Variablen des Stop-Buttons anhalten.
MfG, 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!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.05.2007, 14:54 (Dieser Beitrag wurde zuletzt bearbeitet: 08.05.2007 14:55 von Lucki.)
Beitrag #3

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

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Verschachtelte while-Schleifen beenden
Jens was schneller, hier noch das geänderte VI. Beachten: Schaltverhalten das Stop-Buttons ist geändert


Angehängte Datei(en)
Sonstige .vi  schleifen_WA.vi (Größe: 10,18 KB / Downloads: 382)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.05.2007, 15:19
Beitrag #4

skywalker Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 154
Registriert seit: Jan 2007

2020
2007
DE

99310
Deutschland
Verschachtelte while-Schleifen beenden
' schrieb:Hallo,
Stop-Button gehört natürlich in eine der beiden inneren Schleifen (am besten in die, die schneller läuft). Die 2. parallele und die äußere könntest du z.B. über lokale Variablen des Stop-Buttons anhalten.
MfG, Jens

Die zwei inneren Schleifen laufen beide gleich lange, das bedeutet, dass beide gleichzeitig durch einen Knopf gestartet werden und so lange laufen, bis sie durch den Stopp-Button abgebrochen werden. Daher weiss ich nicht, welche länger läuft.

Und das mit den lokalen Variablen hab ich auch schon probiert. Das geht nicht. Da erscheint folgende Meldung in der Fehlerliste: "Boolsche 'Stopp': Schaltverhalten ist mit lokalen Variablen nicht verienbar"
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.05.2007, 15:23
Beitrag #5

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
Verschachtelte while-Schleifen beenden
' schrieb:Und das mit den lokalen Variablen hab ich auch schon probiert. Das geht nicht. Da erscheint folgende Meldung in der Fehlerliste: "Boolsche 'Stopp': Schaltverhalten ist mit lokalen Variablen nicht verienbar"
Ich würde sagen, darauf hat Lucki die Antwort gegeben. Das mit lokalen Variablen eines Buttons geht nur, wenn du das Schaltverhalten auf "Switch when..." änderst.
MfG, 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!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.05.2007, 15:31
Beitrag #6

skywalker Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 154
Registriert seit: Jan 2007

2020
2007
DE

99310
Deutschland
Verschachtelte while-Schleifen beenden
Uii...sorry.
hab das wohl überlesen. Jedenfalls geht das so jetzt.

Danke.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.05.2007, 06:14
Beitrag #7

skywalker Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 154
Registriert seit: Jan 2007

2020
2007
DE

99310
Deutschland
Verschachtelte while-Schleifen beenden
Hallo,

ich bins nochmal. Ich bekomm das einfach nicht zum laufen. Ich stell mal meine VI's in den Anhang.
Ich hoffe, es kann mir wer weiterhelfen.

Ich will die Möglichkeit haben, dass entweder die Schleifen durch den Stopp-Button abgebrochen werden oder nach der definierten verstrichenen Zeit.
Das klappt nicht. Ich vermute mal, dass hängt mit den for-Schleifen und dem SubVi in der oberen inneren while-Schleife zusammen.
Bin mir allerdings nicht sicher.
Kann mir jemand helfen?

Danke
Stefan

Sonstige .vi  Ausz_hlen_auf_LtAnp2_test.vi (Größe: 16,78 KB / Downloads: 233)

Sonstige .vi  Einz_hlen_auf_LtAnp1_test.vi (Größe: 16,77 KB / Downloads: 235)

Sonstige .vi  Schleifen.vi (Größe: 49,45 KB / Downloads: 270)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.05.2007, 07:17 (Dieser Beitrag wurde zuletzt bearbeitet: 09.05.2007 07:17 von marker.)
Beitrag #8

marker Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 226
Registriert seit: Feb 2005

8.2.1
2002
kA


Deutschland
Verschachtelte while-Schleifen beenden
Hallo Stefan,

das sind grundlegende Probleme.
Jede While-Schleife wird erst nach dem kompletten Durchlauf abgebrochen und es dauert eben bei Deinem Programm etwas länger bis die obere Schleife abgearbeitet ist (siehe die beiden FOR-Schleifen und die 20s Wartezeit).
Um einen schnelleren Abbruch zu realisieren würde ich die FOR-Schleifen durch While-Schleifen ersetzen und jeweils den Laufindex selbst erzeugen, so kannst Du dann auch diese nach jedem Durchlauf und nicht erst nach 511 Durchläufen abbrechen.
Die Wartezeit kannste Du für den Abbruchfall auch noch auf null setzen.
Wird der Abbruch-Button allerdings während der Wartezeit betätigt muß gewartet werden bis die Zeit verstrichen ist.

Gruß,
Marko

"Make it simple, make it strong!"
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.05.2007, 07:48 (Dieser Beitrag wurde zuletzt bearbeitet: 09.05.2007 09:48 von skywalker.)
Beitrag #9

skywalker Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 154
Registriert seit: Jan 2007

2020
2007
DE

99310
Deutschland
Verschachtelte while-Schleifen beenden
' schrieb:Hallo Stefan,

das sind grundlegende Probleme.
Jede While-Schleife wird erst nach dem kompletten Durchlauf abgebrochen und es dauert eben bei Deinem Programm etwas länger bis die obere Schleife abgearbeitet ist (siehe die beiden FOR-Schleifen und die 20s Wartezeit).
Um einen schnelleren Abbruch zu realisieren würde ich die FOR-Schleifen durch While-Schleifen ersetzen und jeweils den Laufindex selbst erzeugen, so kannst Du dann auch diese nach jedem Durchlauf und nicht erst nach 511 Durchläufen abbrechen.
Die Wartezeit kannste Du für den Abbruchfall auch noch auf null setzen.
Wird der Abbruch-Button allerdings während der Wartezeit betätigt muß gewartet werden bis die Zeit verstrichen ist.

Gruß,
Marko

So...das klappt eigentlich nun alles. Wie kann jetzt noch den Abbruch nach der definierten Zeit mit einbringen?
Wie muss ich die untere WHILE-Schleife verbinden, damit die ebenfalls stoppt und somit das ganze Programm stoppt, wenn die Zeit abgelaufen ist?

Sonstige .vi  Schleifen3.vi (Größe: 57,36 KB / Downloads: 268)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
11.05.2007, 09:12
Beitrag #10

skywalker Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 154
Registriert seit: Jan 2007

2020
2007
DE

99310
Deutschland
Verschachtelte while-Schleifen beenden
Hallo,

leider bin ich noch immer nicht weiter und weiß nicht, wie ich das Programm dazu bekomm, dass es nach der verstrichenen Zeit stoppt.
Hat jemand eine Idee???
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Verschachtelte Clusterelemente auslesen simcum 5 3.939 31.08.2020 10:25
Letzter Beitrag: simcum
  2 Parallele While-Schleifen mit unterschiedlichen Timer beenden Tomate27 3 2.913 18.08.2020 13:29
Letzter Beitrag: GerdW
  verschachtelte Bibliotheken - Architekturfrage seuk 3 3.644 12.07.2018 11:32
Letzter Beitrag: GerdW
  verschachtelte Cluster gottfried 5 5.016 04.12.2017 17:24
Letzter Beitrag: gottfried
  Verschachtelte und parallele Schleifen gleichzeitig beenden Rayid 6 7.179 14.11.2016 08:24
Letzter Beitrag: GerdW
  Zugriff auf verschachtelte Referenzen Hasenfuss 6 5.228 23.06.2015 19:05
Letzter Beitrag: Hasenfuss

Gehe zu: