Konečný stavový automat

  • Konečný stavový automat (Finite-State Machine)
    • Výpočetní matematický model s konečným počtem stavů, vstupy, výstupy a přechody.
    • Může se nacházet v právě jednom aktivním stavu.
    • Stav
      • Aktuální krok výpočtu, uložen v paměti obvodu
      • Má právě jeden počáteční stav, ve kterém se nachází po spuštění (znázorněn šipkou z puntíku).
      • Stavy jsou znázorněny „bublinami“ s názvem (a případně číslem stavu a hodnotami výstupů).
    • Přechod
      • Reakce na určitou kombinaci vstupů (+ případně hodinový impuls) v aktuálním stavu.
      • Znázorněn šipkou mezi stavy s popisem události, která jej spustí (např. kombinace vstupů).
    • V praxi realizován jako kombinační logika + klopné obvody (paměť) – jedná se tedy o sekvenční obvod.
    • Často využíván při návrhu programů.
    • Lze použít na většinu základních řídících úloh.
      • Nemusí být postačující na některé složitější výpočetní úlohy neboť jeho paměť je omezena počtem jeho stavů.
    • Lze je zanořovat.
      • Je možné mít uvnitř stavů další stavové automaty.
      • Příklad:
        • Hlavní stavový automat – pracovní režimy stroje (automat, manuál, stop, …)
        • Vnořený stavový automat – automatický chod stroje v režimu „automat“
  • Pro zájemce:

Příklad – dopravník s lisem

Jedná se o Moorův automat. Přechody jsou spouštěny změnou vstupu do požadované úrovně. Stavy drží výstupy ve správných logických úrovních.


Příklad – průchod bludištěm

Jedná se o Mealyho automat – výstup je zde závislý jak na aktuálním stavu, tak na vstupní hodnotě. Přechody jsou spouštěny stavem „detektoru stěny“. Každý přechod je zde reprezentován dvojicí „Stav snímače (vstupu) | Hodnota výstupu“ – je-li splněna kombinace „stav + vstup“, dojde k přechodu a po dobu jeho trvání je na výstupu vygenerován příkaz (impulz) k otočení nebo kroku.


Příklad – kódový zámek

Jedná se o Moorův automat. Přechody jsou spouštěny stiskem klávesy.