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 

Programm 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!

04.05.2009, 13:51
Beitrag #1

Labview-Beginner Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 114
Registriert seit: Oct 2007

6.1
2007
kA

67705
Deutschland
Programm beenden
Hallo Leute,

ich sinniere gerade darüber, wie ich ein Programm beende in dem While-Schleifen ineinander verschaltelt sind.

Denn wenn ich eine STOP Taste einbaue, welche die "übergeordnete" Schleife beendet, so hängt das Programm ja immernoch in den internen Schleifen, die erst bestätigt, sprich beendet werden müssen.

Jetzt kann ich ja nicht einfach die STOP Taste an "jede" interne While-Schleife zusätzlich dranhängen. Sondern müsste eine Art Case Structure für jede interne Schleife basteln, die abfragt ob das Programm beendet werden soll und falls nicht, normal weiterlaufen.

Geht das irgendwie eleganter?

Cheers,
Lv-B
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.05.2009, 14:19
Beitrag #2

Cardinal1664 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 147
Registriert seit: Aug 2006

2014 SP1
2006
EN


Schweiz
Programm beenden
Suche mal nach Notifyer!!

Schau mal hier: http://www.LabVIEWforum.de/index.php?showt...amp;hl=notifier

Vieleicht hilft dir das weiter!!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.05.2009, 14:19
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
Programm beenden
Habe jetzt keine Zeit, die Frage ausführlich zu beantworten, hoffentlich tut es jemand anderes.

Nur so viel: Ja, es ist umständlich, aus der vierten verschachtelten Schleife oder Subroutone wieder herauszukommen. Aber das ist nicht nur bei LabVIEW umständlich, sondern es ist eine Eigenschaft aller strukturierten Programmierung. Es ist der notwendige und bezahlbare Preis für die Vorteile der strukturierten Programmierung. Da verbietet es sich nämlich, sich einfach mit "goto end" aus jeder Situation wieder herauszumogeln.

Aber unter uns gesagt: Genau so wie goto gibt es einen solchen Befehl auch in LabVIEW, aber schon der Hinweis darauf ist eigentlich strafbar, und wenn Du ihn verwendest, verschweige das, sonst ist Dein Renomme als Programmierer futsch. Es ist die Funktion "Stop", welch die gleiche Funktion hat wie der rote Knopf für den Abbruch des Proagramms.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.05.2009, 15:04
Beitrag #4

kpa Offline
LVF-Stammgast
***


Beiträge: 385
Registriert seit: Mar 2007

2019
2002
DE

88***
Deutschland
Programm beenden
Hallo LabVIEW-Beginner,

hier ist ein Bsp. mit lokalen Variablen. Der Stopp-Schalter hat das Verhalten "beim Loslassen schalten" deswegen muss er zu Beginn initialisiert werden.
Die innere Schleife kann normal abgebrochen werden, mit Stopp werden alle Schleifen abgebrochen.

Grüße

kpa


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.05.2009, 17:31 (Dieser Beitrag wurde zuletzt bearbeitet: 04.05.2009 17:33 von Lucki.)
Beitrag #5

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

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Programm beenden
Bei ineinander verschachtelten Schliefen, also wonach Du gefragt hattest, ist das abstoppen eigentlich recht einfach. Da braucht man keine lokalen Veriablen, und der Stop-Taster kann weiterhin auf Latch-Verhalten eingestellt bleiben:
   
Ein Problem ist auch, wenn in einer Schleife lange waits, z.B 10sec, vorkommen, so wie hier:
   
Dann kann man die Zeit in kleine Häppchen unterteilen, hier z.b 100*0.1 sec, und hat damit die Möglichkeit, jederzeit sofort zu stoppen:
   
Aber das ist nur ein Beispiel für Anfänger. Denn die weitaus besere Löung ist in diesem Fall eine Ereignisstruktur in der Schleife mit Stop-Behandlung und Timeout von 10 sec.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
25.06.2009, 12:35
Beitrag #6

Labview-Beginner Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 114
Registriert seit: Oct 2007

6.1
2007
kA

67705
Deutschland
Programm beenden
Danke für die Ratschläge und ich bitte um Entschuldigung, dass ich diesen Thread so lange haben Ruhen lassen.

Leider hilft es mir nicht ganz passend weiter, dafür habe ich mal ein konkretes Problem als jpg - Datei angehängt:

Und zwar ist rechts und eben der Knopf, um die Schleife zu beenden.

In der Case structure ist aber noch eine Schleife, welche die ganze Zeit darauf wartet, dass eben der Code 06 gesendet wird. Was bedeutet, dass das Gerät wieder bereit ist. Es fährt z.B. von A nach B und während es fährt (ist ja eine endliche Zeit), kann ich das Gerät eben nicht ansteuern.

Jetzt möchte ich aber das Programm beenden, weil z.B. das Gerät hängt.

Sprich ich möchte die äußere Schleife beenden, ohne auf die innere Schleife angewiesen zu sein. Und dabei kann ich ja nicht einfach den Beenden Knopf der äußeren Knopf zusätzlich mit der inneren Schleife verbinden, sondern müsste eine Case Structer bauen.

Cheers,
Lv-B


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Programm beenden State Machine simcum 3 3.425 17.10.2020 20:57
Letzter Beitrag: BNT
  Programm mit Obtain Notifier beenden LVT_Hiwi 5 4.579 01.09.2016 13:57
Letzter Beitrag: LVT_Hiwi
  Programm beenden Pansonia 8 5.616 19.01.2015 10:27
Letzter Beitrag: Pansonia
  Programm beenden trotz Verzögerungszeiten? Destiny 5 5.895 21.07.2009 11:29
Letzter Beitrag: Destiny
  Programm aus vi heraus beenden kaloy 11 12.585 13.01.2009 14:28
Letzter Beitrag: Wulfi
  Programm lässt sich nicht beenden / hängt sich auf Labview-Beginner 18 15.962 14.07.2008 14:27
Letzter Beitrag: Labview-Beginner

Gehe zu: