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 

While-Schleife aus zweiter Schleife steuern



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!

17.03.2015, 17:22 (Dieser Beitrag wurde zuletzt bearbeitet: 17.03.2015 17:24 von Nordvestlys.)
Beitrag #9

Nordvestlys Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 108
Registriert seit: Sep 2014

2015 (und testweise 2016)
2005
EN

07743
Deutschland
RE: While-Schleife aus zweiter Schleife steuern
Moin,

im Prinzip sieht das schonmal ganz gut aus. Nur wird die untere Schleife den Case Serial-Port Run immer wieder aufrufen, weil sie den Befehl ja selber immer wieder in die Queue schreibt.

Ausserdem reicht es, die Queue nur hinter der oberen Schleife zu löschen. Die grüne Error-Leitung kannst Du unten auch direkt an den roten Punkt für's Schleifenende anschließen.

Etwas aufpassen musst Du, wenn Du an Ausgangstunnel Defaultwerte verwendest. Das sind dann nicht(!) die Werte am Eingangs-Pendant, sondern die ganz allgemeinen Default-Werte (Null bei Zahlen, leerer String, leeres Array etc.)
Man muss dann nicht zwingend alle Tunnel in allen Cases "durchverdrahten" aber zumindest diejenigen bei denen "ordentliche" Werte am Ausgang notwendig sind.

Für eine begrenzte Auswahl von Befehlen ist es recht komfortabel keine Strings zu verwenden, sondern "Enums". Die findest Du bei den Bedienelementen fürs Frontpanel und kannst sie von dort aus auch als Konstante ins Blockdiagramm kopieren. Das vermeidet Schreibfehler und bei der Case-Auswahl gibt es automatische Vorschläge.

Noch komfortabler wird es wenn man aus dem Enum eine Typdefinition macht. Denn dann werden etwaige Änderungen automatisch an allen Stellen übernommen. Aber das kannst Du Dir auch für "später" aufheben.....


Zu Deinen Fragen:

- die Queue vergisst prinzipiell nichts... das kann aber ggf. zu Überläufen oder seltsamen Wartezeiten führen

- In die Eventstruktur gehören alle Bedienelemente die ein Event auslösen sollen ;-)
Das kann auch bei Feldern mit irgendwelchen Werten der Fall sein (z.B. "Sollstrom") muss aber nicht. Wenn nicht auf eine Wertänderung, auf anklicken o.ä. reagiert werden muss, gehört es nicht in die Eventstruktur (z.B. ein Namensfeld oder Dein Umschalter).

- als Faustformel für eigene Schleifen würde ich sagen, alles was Verzögerungen verursachen kann (z.B. Benutzereingaben) oder zeitkritisch ist (z.B. Messwerterfassung) kommt in unabhängige Schleifen und wird mit Queues, Meldern etc. synchronisiert.
Alle übrigen Sachen "dürfen" zusammen abgearbeitet werden.

bis denne,
* mario *
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Nachrichten in diesem Thema
RE: While-Schleife aus zweiter Schleife steuern - Nordvestlys - 17.03.2015 17:22
Hilfe bei Programm-Struktur - flipp86 - 16.03.2015, 14:53

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Prüfstand mit LabVIEW ansteuern - Schleife mit vielen Zyklen Thomas_E 3 6.816 24.08.2023 13:43
Letzter Beitrag: Thomas_E
  Schleife stoppen in subVI illy777 31 16.290 14.09.2020 18:00
Letzter Beitrag: illy777
  ungebremste Schleife / laufendes VI finden Trinitatis 3 3.388 18.08.2020 13:13
Letzter Beitrag: Trinitatis
  While-Schleife sofort beenden ? RobertRoth 17 12.482 21.10.2019 11:00
Letzter Beitrag: RobertRoth
  Schleife Werte Ausgeben MarcelXX 4 4.399 30.08.2019 09:19
Letzter Beitrag: jg
  For-Schleife takten Christoph1993 4 4.663 23.06.2019 12:05
Letzter Beitrag: Christoph1993

Who read this thread?
1 User(s) read this thread:
Tobi Wan Kenobi

Gehe zu: