state machine v Zustandsmaschine

Gast #116013
Lesenswert?
• ▲
▼
Hallo Jungs


Ich bin auf der Suche, nach einer Beschreibung einer solchen.
Wie ist sowas aufgebaut und welche Aufgaben, kann ich damit erledigen?
Wäre nett, wenn jemand einen Link hat.
Im WWW finde ich zwar viele Dokumente, die den Begriff benutzen, aber
niemand erklärt den Aufbau.
Ist wahrscheinlich alles Basic Know-How, aber mir leider unbekannt.

Danke
Gast #116014
Lesenswert?
• ▲
▼
Eine Zustandsmaschine (als Software) hat einfach verschiedene Zustände
und eine große Schleife mit vielen if-Abfragen, in denen steht, unter
welchen Bedingungen sie von einem Zustand in den nächsten wechseln
darf.
Der Zustand selber wird einfach in einer Variablen gespeichert.

Tank befüllen:

Zustand = Warten
do
  wenn Taste_Start = gedrückt und Tank nicht voll dann
      Wasser marsch und Zustand = befuellen.
  wenn Zustand = befuellen und Taste_Stop = gedrueckt,
      dann Zufluß abschalten und Zustand = Warten
  wenn Zustand = befuellen und Tank = voll, dann
      Zufluß abschalten und Zustand = voll.
loop


Das Ganze kann man auch noch grafisch darstellen, damit kann man schön
sehen wann was passieren darf und was nicht.

Benutzt wird das z.B. bei Steuerungen, bei Signalauswertung usw. usf.

Markus
Gast #116017
Lesenswert?
• ▲
▼
"Ich hatte mir das etwas komplizierter vorgestellt.
Aber ist ja auch schön, wenn mal was einfach ist."

Das ist relativ. In der Informatik wird eine Zustandsmaschine sehr wohl
formal mathematisch behandelt und dann ist das nicht mehr ganz so
trivial.
Es hängt halt davon ab, wofür Du das brauchst. Für eine
Controller-Anwendung ist das sicherlich nicht notwendig.
Gast #116018
Lesenswert?
• ▲
▼
Hallo,

man kann sowas auch in Hardware bauen. Haben wir vor 14 Jahren im
Studium noch gemacht und wurde Zustandsautomat genannt. Das Prinzip:
Mittels Flip-Flops oder anderen diskreten Speichern merkt sich die
Maschine den Zustand (als Bitset). Im Zustandsdiagramm sind die
zulässigen Übergänge definiert - diese werden mittels diskreten
Logikbausteinen geschaltet. Was dabei herauskommt lässt sich ähnlich
wie das Beispiel von Markus umgangssprachlich beschreiben:
    wenn Zustand=0100 und Eingang_x=1 und Eingang_y=0
        Wechsle in Zustand 0101

Über den Zustand kann man die Ausgänge beschalten, also z.B. eine
Anzeige oder einen Motor steuern. Seit es Mikrocontroller zu
erschwinglichen Preisen gibt, hat sich das Aufbauen mit diskreten
Logikbausteinen aber wohl erledigt...

Achim.
Gast #116019
Lesenswert?
• ▲
▼
Der diskrete Aufbau hat sich garantiert nicht erledigt. Was meinst Du
wozu die ganzen programmierbaren Logikbausteine gut sind?
Allerdings werden für "langsame" Aufgaben heute sicher
Mikrocontroller eingesetzt, wo früher diskrete Logik oder vielleicht
ein PAL unumgänglich waren.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren