09.02.2024, 14:53
Hallo Zusammen,
ich hab eine Frage zur Architektur in LabView.
In einem Loop befindet sich eine Case Structure als StateMachine.
Es gibt die States Init, Wait for Events, Action 1 und Action 2.
Das Programm startet im Case Init und geht dann in den State Wait for Events weiter.
[attachment=62645]
In dem Case Wait for Events wird auf die Events von Buttons beobachtet. Werden die gedückt wechselt die Statemachine in die Case Action 1 bzw. Action 2. Nach dem Ausführen des Cases gehts wieder zurück in den Zustand Wait for Events. Zusätzlich wird auf das Event "Panel Close?" beobachtet.
In dem Init-Case wird in einer Loop so lang nach Hardware gesucht, bis diese angeschlossen / gefunden wird. Sprich das kann etwas dauern.
[attachment=62644]
Jetzt meine Frage:
Wenn ich jetzt im State Init das Programm über den Close(x)-Button das Programm beenden will klappt das natürlich nicht, da ich nicht im State "Wait for Events" vorbeikomme.
Was wäre hierzu eine sinvolle Lössung?
Passt meine grundsätzliche Programmarchitektur?
Vielen Dank
Viele Grüße
Christoph
[attachment=62646]
ich hab eine Frage zur Architektur in LabView.
In einem Loop befindet sich eine Case Structure als StateMachine.
Es gibt die States Init, Wait for Events, Action 1 und Action 2.
Das Programm startet im Case Init und geht dann in den State Wait for Events weiter.
[attachment=62645]
In dem Case Wait for Events wird auf die Events von Buttons beobachtet. Werden die gedückt wechselt die Statemachine in die Case Action 1 bzw. Action 2. Nach dem Ausführen des Cases gehts wieder zurück in den Zustand Wait for Events. Zusätzlich wird auf das Event "Panel Close?" beobachtet.
In dem Init-Case wird in einer Loop so lang nach Hardware gesucht, bis diese angeschlossen / gefunden wird. Sprich das kann etwas dauern.
[attachment=62644]
Jetzt meine Frage:
Wenn ich jetzt im State Init das Programm über den Close(x)-Button das Programm beenden will klappt das natürlich nicht, da ich nicht im State "Wait for Events" vorbeikomme.
Was wäre hierzu eine sinvolle Lössung?
Passt meine grundsätzliche Programmarchitektur?
Vielen Dank
Viele Grüße
Christoph
[attachment=62646]