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.)
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?
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!
' 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"
' 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!
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?
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!"
09.05.2007, 07:48 (Dieser Beitrag wurde zuletzt bearbeitet: 09.05.2007 09:48 von skywalker.)
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?
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???