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 

Sofortiger Stop einer While-Schleife in einer SubVi durch MainVi



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!

12.05.2010, 08:32
Beitrag #6

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.697
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Sofortiger Stop einer While-Schleife in einer SubVi durch MainVi
' schrieb:Besteht trotzdem nicht die Möglichkeit, die while-Schleife an jeder beliebigen Stelle sofort zu unterbrechen?
Natürlich.
Der Inhalt deiner While-Schleife ist ja ein Ablauf in dem Sinne, dass "mehrere Sachen nacheinander gemacht werden". Diese Sachen kann man eben in eine Statemachine (<= wichtiges Programmier-Konzept, das ist eine Case-Sequenz mit Enumerator-Selector in einer While-Schleife). Nach jedem State kann man z.B. was machen, nämlich auf Abbruch testen. Also: S1:Pumpe links, testen, S2:Warten, testen, S3:Pumpe rechts, testen ....

Zitat:Wenn ich das richtig sehe, schlägst du vor, daß die while-Schleife mindestens einmal fast komplett abgearbeitet wird?
Wann du auf Abbruch testet, hängt von der Applikation ab. Wenn mehrere Sachen hintereinander gemacht werden müssen, kann man das auch genau so programmieren.

Zitat:Ich glaube sogar, daß diese Stop.vi vielleicht nicht mal in der Autofill_v6_LV_2009.vi sitzen muss.
Von LabVIEW aus gesehen bist du da völlig frei. Wie's sein sollte, gibt lediglich die Applikation vor.

Zitat:In der Experiment.vi gibt es ja schon einen Stop-Button, der dort die innere Schleife abbricht und somit die Pumpe anhält. (Ich wollte ja viele Stop-Buttons vermeiden).
Richtig. Doppelt vorhanden sollte nichts sein. Funktioniert zwar, gibt aber Probleme.

Zitat:Die Schleife bricht ab und wegen Datenfluß wird die Pump via Stop.vi angehalten. Ist das korrekt?
Hm.
Die Pumpe wird nicht wegen Datenfluß angehalten. Die Pumpe wird angehalten, weil es der Algorithmus so will. Das hat mit dem Datenfluß als solches nichts zu tun. Wegen des Datenflusses wird die Pumpe erst nach der While-Schleife angehalten. (Hinweis: In "Datenfluss" steckt immer auch ein zeitlicher Aspekt.)

Zitat:Außerdem könnte ich ja diese Referenz vielleicht mit dem anderen Stop-Button aus der Main.vi verknüpfen. Wie du sagst, von außen abbrechen ...
Das ist eben eine Möglichkeit.

Zitat:Grundsätzliche Frage: Ich dachte, ich kann Sub.Vis mehr oder weniger unabhängig von Main.vis bauen und diese dann in die Main.vi einfügen. Das erscheint mir jedoch nun eine schlechte Idee, weil man viel zu viel ändern muss. Richtig?
Nein, nein. Die Idee ist sogar sehr gut. Sie fördert nämlich die Modularisierung.
Problem ist nur, wie bekommst du dann Daten in das SubVI. Das SubVI selbst ist ja nicht mehr in einen expliziten Datenfluss eingebunden. Lösung: Queues, Melder, Benutzerereignisse.

Zitat:Das hatte ich zuvor auch gemacht, aber dann dachte ich mir, ich könnte ja mal die event structure benutzen
Der Gedanke war richtig. Für die Ausführung musst du dann aber Benutzerereignisse (das ist was anderes als der Knoten Wert(signalisierend)) nehmen.

Zitat:Wäre das eigentlich auch mit diesen "Filmstreifen" aka Sequenz gegangen?
Ja.

Zitat:Warum hast du diese error-case struktur aus der Autofill.vi herausgenommen? Wann sollte man diese besser einsetzen?
Welche Error-Case-Struktur? Meinst du den IF-Case? Der war einfach nicht notwendig.

[Zitat]aber welche Wartezeiten meinst du bitte?[/Zitat]
Im Prinzip die Wartezeit zwischen Pumpe umschalten.

********************************************************************
Blöder Computer, wegen dem einen Zitat.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
Antwort schreiben 


Nachrichten in diesem Thema
Sofortiger Stop einer While-Schleife in einer SubVi durch MainVi - IchSelbst - 12.05.2010 08:32

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Eigenversuch einer ComboBox - Optimierung und Kritik gesucht TpunktN 2 2.456 30.05.2023 07:56
Letzter Beitrag: TpunktN
  HTML-Datei - Name einer PNG bzw. JPG ändern Dsans 1 2.144 09.02.2023 04:42
Letzter Beitrag: Martin.Henz
Music FGEN Erzeugung eines Signalverlaufs anhand einer Mathematischen Funktion DavidStefan 11 7.452 29.05.2021 07:03
Letzter Beitrag: GerdW
  MainVI sucht nach gelöschter .lvlib Bibliothek kwz 5 4.102 04.05.2021 16:11
Letzter Beitrag: kwz
  Mehrere Spitzenwerte aus einer Messreihe erkennen niklas2016 8 5.366 15.02.2021 14:27
Letzter Beitrag: BNT
  benutzerdefinierte Error Codes in einer zentralen Datei im Projekt verwalten t.hipp 6 6.720 26.10.2020 16:08
Letzter Beitrag: Jessel_de

Gehe zu: