Zustandsautomat: SPS-Begriff einfach erklärt
SchrittkettenWie das Programmrad einer Waschmaschine: Waschen, Spülen, Schleudern, jedes mit seiner eigenen Aufgabe. Ein Zustandsautomat merkt sich, in welcher Stufe eine Aufgabe ist, und tut nur, was diese Stufe erlaubt.
Ein Programm, das sich merkt, in welchem Teil einer Aufgabe es gerade ist. Es legt für jeden Teil die Befehle und die erlaubten Wechsel fest.
Zustandsautomat an einer echten Maschine
Ein Zustandsautomat ist ein Programm, das sich mit einem einzigen gespeicherten Wert merkt, in welchem Teil einer Aufgabe es gerade ist. Dieser Wert ist der Zustand. In jedem Zustand weiß das Programm, welche Befehle es geben soll und welche Wechsel erlaubt sind.
Er wird meist als Text geschrieben, mit CASE und einer Zahl wie State. 10 könnte Running bedeuten und 30 Held. Die Zahl ist nur ein Code, keine Zeitdauer.
Er ist ein weiterer Weg, eine Schrittkette zu schreiben. Ein Diagramm zeichnet sie, ein Zustandsautomat hält sie im Code. Bevor du einen schreibst, liste für jeden Zustand die Befehle und die erlaubten Ausgänge auf.
Zustandsautomat: ein durchgerechnetes Beispiel
Eine Charge kann Running, Held oder Complete sein. Drückst du Hold, während sie Running ist, wechselt der Zustand zu Held, wo die Befehle aus sind. Jeder Zustand hat andere Befehle, also kann das Programm sie nicht verwechseln.
Zustandsautomat: ein häufiger Fehler
Den Zustand von überall im Programm aus ändern. Halte die Ausgänge jedes Zustands in seinem eigenen Zweig, damit du sie an einer Stelle prüfen kannst.
Immer noch unsicher? Frag in der Umkleide.