FSoE: Všechny stavy stavového automatu

FSoE (Fail Safe over EtherCAT) spojení je řízeno malým, deterministickým stavovým automatem. Master i Slave provozují vlastní kopii automatu a obě kopie postupují ve vzájemném kroku výměnou správné FSoE komandy v každé Safety PDU. Po zapnutí napájení nebo při detekci chyby komunikace se spojení vrátí do stavu Reset a začne znovu.

Následující diagram zobrazuje všechny stavy a všechny přechody v jednom svislém pohledu. Každý stav odpovídá jedné z FSoE komand a tři popisky přechodů — OK, STAY a NOT_OK — popisují, jak přijatá komanda souvisí se stavem, který automat aktuálně očekává.

Diagram stavového automatu FSoESvislý stavový automat s pěti stavy: Reset, Session, Connection, Parameter a Data. OK posouvá dolů, STAY ponechává aktuální stav a NOT_OK vrací do Reset.ResetSessionConnectionParameterDataOKOKOKOKOKSTAYSTAYSTAYSTAYSTAYNOT_OKNOT_OKNOT_OKNOT_OKNOT_OK

Jak číst diagram

Tři typy přechodů se vyhodnocují na základě komandy přijaté v Safety PDU protistrany:

PřechodVýznamVýsledek
OKPřijatá komanda je další očekávaný stav.Posun o jeden stupeň dolů (nebo setrvání v Data, jakmile je dosaženo).
STAYPřijatá komanda je shodná s aktuálním stavem.Setrvání v aktuálním stavu a čekání.
NOT_OKPřijatá komanda je neočekávaná nebo došlo k chybě CRC/watchdog.Okamžitý návrat do Reset.

Každý stav navíc odesílá vlastní komandu v odchozí PDU, takže obě strany postupují společně. Například zatímco je Master ve stavu Session, odesílá komandu Session a očekává, že Slave odpoví komandou Connection (OK) pro posun dále, Session (STAY) pro čekání nebo čímkoli jiným (NOT_OK) pro návrat do Reset.

Pět stavů

1. Reset

Toto je vstupní stav po zapnutí napájení, po restartu („reset connection") nebo při detekci jakékoliv chyby komunikace FSoE. V Reset se nevyměňují žádná uživatelská bezpečnostní data; PDU nese komandu Reset a na straně, která chybu způsobila, jedno bajtový chybový kód. Po vstupu se číslo sekvence i zděděné CRC vymažou. Viz FSoE Reset State PDU: Master and Slave Structure pro přesné rozložení bajtů a tabulku chybových kódů.

2. Session

Master opouští Reset jako první odesláním komandy Session. Slave jej následuje, jakmile přijme platnou PDU Session. V tomto stavu si obě strany vyměňují connection ID a ověřují, že adresa FSoE Slave je správná. Komanda Connection od protistrany je signálem OK, který posune automat do dalšího stavu.

3. Connection

Ve stavu Connection si strany nastavují základní parametry komunikace: délku bezpečnostních dat, časování watchdog a Conn_Id. Přechod OK je vyvolán přijetím komandy Parameter. Dokud jsou obě strany stále v Connection, nadále odesílají Connection a automat setrvává (STAY).

4. Parameter

Zde komanda Parameter nese data SafeParameter, která konfigurují bezpečnostní aplikaci (např. sadu parametrů specifickou pro aplikaci). Přijetí komandy Data je signálem OK ke vstupu do konečného provozního stavu. Pokud výměna parametrů selže nebo trvá příliš dlouho, spojení se přes NOT_OK vrátí do Reset.

5. Data

Toto je normální provozní stav. Uživatelská bezpečnostní data se vyměňují v každé Safety PDU a obě strany odesílají komandu Data. Samosmyčka OK znamená, že spojení setrvává v Data, dokud je komunikace v pořádku. Samosmyčka STAY se v Data běžně nevyskytuje (neexistuje vyšší stav, na který by se čekalo), ale stavový automat přesto opakovanou komandu Data vyhodnotí jako „setrvat v Data". Jakákoliv neočekávaná komanda nebo chyba CRC/watchdog vrátí automat do Reset.

Shrnutí

Stavový automat FSoE je lineární žebřík pěti stavů: Reset → Session → Connection → Parameter → Data. Zelený přechod OK posune automat o jeden stupeň dolů, šedý přechod STAY jej ponechá na místě a červený přechod NOT_OK jej vrátí až do Reset. Protože Master i Slave implementují stejný automat, celé spojení se bezpečně restartuje, jakmile kterákoliv strana zjistí cokoliv nesprávného.

Reference

  • ETG.5100 S (D) V1.2.0, specifikace FSoE, která definuje tyto stavy a přechody.

Související příspěvky

Přehled a základy

Struktury PDU podle stavů

CRC

Chybové kódy a formát dat


Podívejte se na podobné články podle kategorie: FSoE EtherCAT Safety