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!
Zitat:Allerdings hakt es daran, dass bei Betätigen des Stopp Buttons erst nach der Rechenoperation bzw. nach der Durchführung eines Cases abgebrochen werden soll und nicht mittendrin. Die Beendigung der While Schleife scheidet ja daher schon mal aus.
???
Die Eventstruktur wird nur einmal pro Iteration der While-Schleife aufgerufen. Du kannst in deinem jetzigen Programm weder die Berechnung in der FOR-Loop noch die Abarbeitung der Case-Struktur abbrechen. Einfach den Stopp-Button als neues Event einfügen und gut ist...
Wie implementiere ich dann einen Abbruchbutton, mit den oben genannten Abbruchbedingungen?
Ich habe mich undeutlich ausgedrückt. Ich meinte die Abbruchbedingungen aus Beitrag 9. Mit der von dir genannten State Machine könnte ich ja meines Wissens nach, auch erst abbrechen, wenn die For Schleife abgearbeitet ist.
Ich habe Dich so verstanden, dass Du bei Stop einen augenblicklichen Abbruch, auch mitten in einer Rechenoperation, wünschst. Das geht, allerdings sollte man dann hier in der Demo eine genügend hohe Wartezeit zwischen den Operationen einbauen, damit man überhaupt sieht, dass es funktioniert.
Meinst Du etwa so?
Zitat:Für mich ist allerdings "Add" ein Case, "Sub" ein Case usw. So meinte ich das.
Ok, also ~10 Beiträge später schreibst du mal, was du wirklich willst...
Tipp: Wenn du LabVIEW-BDs beschreibst, benutzt auch die Worte, die in der Kontexthilfe genannt werden. Eine FOR-Loop hat keine Cases, sondern nur Iterationen.
Nochmal mein Vorschlag: erstelle eine vernünftige Statemachine. Die kannst du nach jedem State (der bei dir einer Rechenoperation entspricht) abbrechen lassen...
Zitat:Für mich ist allerdings "Add" ein Case, "Sub" ein Case usw. So meinte ich das.
Ok, also ~10 Beiträge später schreibst du mal, was du wirklich willst...
Tipp: Wenn du LabVIEW-BDs beschreibst, benutzt auch die Worte, die in der Kontexthilfe genannt werden. Eine FOR-Loop hat keine Cases, sondern nur Iterationen.
Nochmal mein Vorschlag: erstelle eine vernünftige Statemachine. Die kannst du nach jedem State (der bei dir einer Rechenoperation entspricht) abbrechen lassen...
Hallo Gerd,
wieso was ich wirklich will? Eine Casestruktur besteht doch aus Cases und in unserem bisherigen Beispiel befand sich die Casestruktur in der for Schleife. Nach jeder Iteration der for Schleife wurde ein Case abgearbeitet. Bei 4 Cases waren also 4 Iterationen notwendig. Ein Abbrechen der for Schleife, bei sagen wir mal 2 von 4 Iterationen ist bei dem derzeitigen Stand der Dinge wohl nicht möglich. Das war doch mein Problem.
Vielleicht haben wir auch einfach nur aneinander vorbeigeschrieben.
Hast du dein VI schon mal ausgeführt und dann auf "Stopp" geklickt"?
Den Abbruch der While Schleife habe ich eingefügt.
Mir geht es vorrangig darum, dass das "Prinzip" funktioniert. Der hohe Zahlenwert ist zweitrangig.
Aso, ich lasse mein Programme meistens im "Highlight Execution" Modus durchlaufen, da fallen z.B. der hohe Zahlenwert, oder das mit der While Schleife nicht immer sofort auf.