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 sofort 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.10.2019, 10:19 (Dieser Beitrag wurde zuletzt bearbeitet: 04.10.2019 10:22 von GerdW.)
Beitrag #11

GerdW Offline
______________
LVF-Team

Beiträge: 17.498
Registriert seit: May 2009

LV2019 (LV2021)
1995
DE_EN

10×××
Deutschland
RE: While-Schleife sofort beenden ?
Hallo Robert,

Zitat:Mein vi, RSM-New-01 hab ich nun mal drangehängt. Bitte spottet nicht all zu viel über meine Fehler ;-)
Hier wird nicht (oder nur sehr selten) "gespottet".
Aber berechtigte Kritik solltest du schon annehmen können!

Zum VI:
   
Der Ausschnitt zeigt typische Anfängerfehler, die vom fehlenden "THINK DATAFLOW" zeugen!
Warum musst du lokale Variablen verwenden, wenn die Terminals der entsprechenden Indicators ungenutzt im Blockdiagramm rumliegen???
Tipp: IndexArray kann von allein den Index hochzählen und startet dabei automatisch mit Null. Da brauchst du in deinem Fall keine Konstanten anschließen…

   
Andere Fehler:
Warum heißen die Anschlüsse "error out", wenn dort eindeutig ein Errorwire hineingeht?
Warum iterieren die Schleifen genau einmal? Dann sind sie überflüssig!
Warum verwendest du nicht den Errorwire, um die Funktionen zu sequenzieren? (THINK DATAFLOW!)
Warum verwendest du stattdessen den Ausgang des Iterators der ersten/oberen Schleife, um damit die zweite Schleife zu sequenzieren? (Das scheinst du mit allen Schleifen darunter auch zu machen…)

Verwende eine Statemachine mit klar definierten States (z.B. das, was in den einzelnen Schleifen steckt)! Rufe die States in der richtigen Reihenfolge auf: du brauchst exakt eine While-Loop mit einer Case-Struktur drin!
Alle lokalen Variablen in den "States"/Schleifen können dann direkt durch die Terminals ersetzt werden…

   
Dieser Teil mit den boolschen Verknüpfungen wird dann der Teil der Statemachine, in der die Logik steckt, mit der der nächste State ausgewählt wird:
Code:
IF stateX AND/OR BedingungY THEN
  stateY
ELSE
  stateZ
ENDIF

Bitte nutze die ganzen Einsteigerkurse, die NI so anbietet…

Allgemeines, auch zu Statemachines:
- Daten sinnvoll in Clustern bündeln, z.B. diese ganzen Referenzen
- Cluster (und Enums) immer typdefinieren!
- Daten speichert man in Drähten und Schieberegistern!
- Erstelle sinnvolle subVIs
- Bündele alles in einem LabVIEW-Projekt und einem Projektordner auf der Festplatte…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Nachrichten in diesem Thema
RE: While-Schleife sofort beenden ? - GerdW - 04.10.2019 10:19

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Asynchrone VIs mit Event Struktur sofort beenden Kiesch 4 12.293 26.04.2024 10:29
Letzter Beitrag: Kiesch
  Case Struktur 2 Schleifendurchläufe verzögert True setzen aber sofort auf False bachatero18 4 6.024 07.11.2020 14:08
Letzter Beitrag: Martin.Henz
  Schleife sofort beenden mprocket 9 8.026 19.01.2018 23:26
Letzter Beitrag: mprocket
  While Schleife durchläuft ein zweites mal nach beenden p4tti 5 5.744 15.09.2016 10:34
Letzter Beitrag: jg
  Schleife nach Pop-Up beenden TDO 6 6.742 16.02.2016 09:59
Letzter Beitrag: TDO
  While Schleife mit Mausklick beenden eincremerle 3 4.241 10.11.2015 07:53
Letzter Beitrag: eincremerle

Gehe zu: