Zustandsmaschinen: Unterschied zwischen den Versionen

Aus homeautomation.x-api.de
Wechseln zu: Navigation, Suche
K (Schützte „Zustandsmaschinen“ ([Bearbeiten=Nur Administratoren erlauben] (unbeschränkt) [Verschieben=Nur Administratoren erlauben] (unbeschränkt)) [kaskadierend])
K
Zeile 1: Zeile 1:
Hier werden die Eigenschaften von Zustandsmaschinen für die dezentrale Heimautomatisierung definiert.
+
Im dritten Semester haben unsere Studenten Zustandsmaschinen unter dem Begriff Automaten, genauer endliche Automaten, kennengelernt. Da waren es die 3 M's, Moore-, Mealy- und Medwedew-Automat, die sich anhand der Möglichkeiten bzw. Freiheitsgrade unterschieden. Die Zustandsmaschinen auf Basis eines Programms in einem Mikrocontroller haben im Vergleich dazu nahezu beliebige Freiheitsgrade.
- in Bearbeitung -
+
 
 +
== Takt (Clock) ==
 +
Die bekannten Automaten steuern Abläufe, die durch einen Takt angeregt werden. Dieser Takt wird bei einer programmgesteuerten Zustandsmaschine durch einen immer wiederkehrenden Start dargestellt. Betrachten wir die Zustandsmaschine als ein Unterprogramm, so wird dieses zyklisch, möglichst mit einer festen Frequenz, aufgerufen. Da ein Zustand (s.u.) durch ein bestimmtes Stück Programm dargestellt wird, muss beim Start eine entsprechende Verzweigung in den aktuellen bzw. neuen Zustand (s.u.) erfolgen. Das ist der Zustandsübergang.
 +
 
 +
Die Generierung eines entsprechenden Taktsignals im Programm kann auf mehrfache Weise erfolgen. Wir werden uns hier auf zwei grundsätzliche Methoden beschränken, dem zyklischen Aufruf in einer Endlosschleife und der Verwendung eines Zeitgebers (Timer).
 +
 
 +
== Zustand und Zustandsübergang ==
 +
[[Datei:Automat01.png|mini|gerahmt|Zustände und Übergänge]]Genau wie bei den bekannten Automaten wird mit dem Takt, hier also dem Aufruf der Zustandsmaschine, ein neuer Zustand definiert, der dann bis zum nächsten Takt (Aufruf) stabil bleibt. Bis zum Eintreffen des Taktes gilt der alte Zustand. Mit dem Takt (Aufruf des Unterprogramms) erfolgt ein Zustandsübergang in den neuen Zustand, der bis zum nächsten Takt (Aufruf) erhalten bleibt. Ein Zustandsübergang kann auch auf denselben Zustand erfolgen (Bild). Damit ist er über beliebig viele Takte (Aufrufe) gleich. Mit anderen Worten, die Dauer eines bestimmten Zustandes ist durch die Anwendung definiert.

Version vom 30. Juli 2017, 18:33 Uhr

Im dritten Semester haben unsere Studenten Zustandsmaschinen unter dem Begriff Automaten, genauer endliche Automaten, kennengelernt. Da waren es die 3 M's, Moore-, Mealy- und Medwedew-Automat, die sich anhand der Möglichkeiten bzw. Freiheitsgrade unterschieden. Die Zustandsmaschinen auf Basis eines Programms in einem Mikrocontroller haben im Vergleich dazu nahezu beliebige Freiheitsgrade.

Takt (Clock)

Die bekannten Automaten steuern Abläufe, die durch einen Takt angeregt werden. Dieser Takt wird bei einer programmgesteuerten Zustandsmaschine durch einen immer wiederkehrenden Start dargestellt. Betrachten wir die Zustandsmaschine als ein Unterprogramm, so wird dieses zyklisch, möglichst mit einer festen Frequenz, aufgerufen. Da ein Zustand (s.u.) durch ein bestimmtes Stück Programm dargestellt wird, muss beim Start eine entsprechende Verzweigung in den aktuellen bzw. neuen Zustand (s.u.) erfolgen. Das ist der Zustandsübergang.

Die Generierung eines entsprechenden Taktsignals im Programm kann auf mehrfache Weise erfolgen. Wir werden uns hier auf zwei grundsätzliche Methoden beschränken, dem zyklischen Aufruf in einer Endlosschleife und der Verwendung eines Zeitgebers (Timer).

Zustand und Zustandsübergang

Zustände und Übergänge
Genau wie bei den bekannten Automaten wird mit dem Takt, hier also dem Aufruf der Zustandsmaschine, ein neuer Zustand definiert, der dann bis zum nächsten Takt (Aufruf) stabil bleibt. Bis zum Eintreffen des Taktes gilt der alte Zustand. Mit dem Takt (Aufruf des Unterprogramms) erfolgt ein Zustandsübergang in den neuen Zustand, der bis zum nächsten Takt (Aufruf) erhalten bleibt. Ein Zustandsübergang kann auch auf denselben Zustand erfolgen (Bild). Damit ist er über beliebig viele Takte (Aufrufe) gleich. Mit anderen Worten, die Dauer eines bestimmten Zustandes ist durch die Anwendung definiert.