LabVIEWForum.de - Zustandsautomat geht nicht in nächsten Schritt

LabVIEWForum.de

Normale Version: Zustandsautomat geht nicht in nächsten Schritt
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Guten Morgen Labviewprofis,

ich habe leider mal wieder ein Problem mit den Basics.

Erst einmal versuche ich nur, dass in den nächsten Case gewechselt wird bei Tastendruck in den jeweiligen Zustand gewechselt wird und von dort aus wieder bei entsprechnder Auswahl in den jeweiligen Zustand.

Also im Case Start sollen erst einmal alle Sensoren gelesen und ausgegeben werden (eigentlich soll dies im Case "Register lesen"passieren aber es wird ja nicht in den nächsten Case gewechselt) und von dort aus in den Case "Wait for Modi" gegenagen werden. Bis jetzt soll beim Tastendruck "Flask Heater" in den Case "Flask Heater" gesprungen werden und der DO aktiviert werden. Später werden dort aber nochmal vier Modi abgefragt.

Wenn nichts passiert soll halt immer in Start gesprungen werden damit die Sensoren weiter ausgegeben werden.

Was setz ich diesmal wieder nicht richtig um?

Vielen Dank euch!
Das Schieberegister war nicht richtig verbunden. War wahrscheinlich ein Fehler von einigen aber noch nicht die Lösung.

Das Hauptproblem ist, dass die Schleife nur einmal durchlaufen. Gelöst habe ich es noch nicht.
Gruß
Ich würde zunächst einmal den Zeitbaustein aus der Schleife entfernen da du ja über Ereignisse arbeitest.
Beim Tastendruck von "Flask Heater" wir er sicherlich nicht in den den gewollten State wechseln da du von der Ereignisstruktur nicht auf das Schieberegister gehst.
Weiters würde ich den Button "Flask Heater" in die Ereignisstruktur packen und in deinem State "Flask Heater" eine Konstante anstatt des Buttons verwenden.
Und sie zu dass du nicht den Standardwert verwendest bei deinen States.
Außerdem gibt es sehr gute Beispiele von State Machines in der LabVIEW Hilfe bzw. kannst du beim Projekt sogar eine Vorlage einer State Machine als Vorlage nutzen.

lg panduci
Vielen Dank!

Also den Taster hatte ich schon in die Eventstruktur gezogen und durch eine LokaleVariable anstatt des Buttons ersetzt, da ich dass schon so in einem Beispiel gesehen hatte.

Ich habe nochmal alles überpruft und neu verbunden und es funktioniert nun.
Was meinst du genau mit:
Und sieh zu dass du nicht den Standardwert verwendest bei deinen State

Dass ich nicht immer in den "Start" wieder gehe? Ich habe es nun in "Register auslesen" gepackt.

Gruß
Hallo,

damit meine ich dass du überall eine "Enum" Konstante verdrahten solltest, zwecks Lesbarkeit des Programmes.
Und nicht so wie du es beispielsweise im Anhang gemacht hast.
lg panduci
Referenz-URLs