FSoE: Alle Zustände der Zustandsmaschine

Die FSoE-Verbindung (Fail Safe over EtherCAT) wird von einer kleinen, deterministischen Zustandsmaschine gesteuert. Master und Slave betreiben jeweils eine eigene Kopie der Maschine, und beide Kopien rücken im Gleichschritt voran, indem sie in jeder Safety PDU den korrekten FSoE-Befehl austauschen. Nach dem Power-on oder sobald ein Kommunikationsfehler erkannt wird, fällt die Verbindung in den Reset-Zustand zurück und beginnt von vorn.

Das folgende Diagramm zeigt alle Zustände und Übergänge in einer vertikalen Ansicht. Jeder Zustand entspricht einem der FSoE-Befehle, und die drei Übergangsbezeichnungen — OK, STAY und NOT_OK — beschreiben, wie der empfangene Befehl zum aktuell erwarteten Zustand der Maschine steht.

FSoE-ZustandsmaschinendiagrammVertikale Zustandsmaschine mit fünf Zuständen: Reset, Session, Connection, Parameter und Data. OK rückt nach unten vor, STAY hält den aktuellen Zustand bei, NOT_OK kehrt zu Reset zurück.ResetSessionConnectionParameterDataOKOKOKOKOKSTAYSTAYSTAYSTAYSTAYNOT_OKNOT_OKNOT_OKNOT_OKNOT_OK

Wie das Diagramm zu lesen ist

Die drei Übergangstypen werden anhand des Befehls ausgewertet, der in der Safety PDU der Gegenseite empfangen wird:

ÜbergangBedeutungErgebnis
OKDer empfangene Befehl entspricht dem als nächstes erwarteten Zustand.Einen Schritt auf der Leiter nach unten rücken (oder in Data bleiben, sobald dieser Zustand erreicht ist).
STAYDer empfangene Befehl entspricht dem aktuellen Zustand.Im aktuellen Zustand bleiben und warten.
NOT_OKDer empfangene Befehl ist unerwartet oder es ist ein CRC-/Watchdog-Fehler aufgetreten.Sofort zu Reset zurückkehren.

Jeder Zustand sendet außerdem seinen eigenen Befehl in der ausgehenden PDU, sodass beide Seiten gemeinsam vorrücken. Wenn sich der Master beispielsweise im Session-Zustand befindet, sendet er den Session-Befehl und erwartet vom Slave die Antwort Connection (OK) zum Weiterkommen, Session (STAY) zum Warten oder einen anderen Befehl (NOT_OK) zum Zurückfallen auf Reset.

Die fünf Zustände

1. Reset

Dies ist der Eintrittszustand nach dem Power-on, nach einem Neustart („Reset Connection") oder sobald ein FSoE-Kommunikationsfehler erkannt wird. In Reset werden keine Nutz-Sicherheitsdaten ausgetauscht; die PDU enthält den Reset-Befehl und auf der Seite, die den Fehler verursacht hat, einen einstelligen Fehlercode. Sequenznummer und geerbter CRC werden beim Eintritt beide zurückgesetzt. Siehe FSoE Reset State PDU: Master- und Slave-Struktur für das genaue Byte-Layout und die Fehlercode-Tabelle.

2. Session

Der Master verlässt Reset als Erster, indem er den Session-Befehl sendet. Der Slave folgt, sobald er eine gültige Session-PDU empfängt. In diesem Zustand tauschen beide Seiten die Connection IDs aus und prüfen, ob die FSoE-Slave-Adresse korrekt ist. Ein Connection-Befehl von der Gegenseite ist das OK-Signal, das die Maschine in den nächsten Zustand überführt.

3. Connection

Im Connection-Zustand vereinbaren die Seiten die grundlegenden Kommunikationsparameter: die Länge der Sicherheitsdaten, die Watchdog-Timing und die Conn_Id. Der OK-Übergang wird durch den Empfang des Parameter-Befehls ausgelöst. Solange sich beide Seiten noch in Connection befinden, senden sie weiterhin Connection, und die Maschine bleibt im STAY.

4. Parameter

Hier überträgt der Parameter-Befehl die SafeParameter-Daten, die die Sicherheitsapplikation konfigurieren (z. B. applikationsspezifische Parametersätze). Der Empfang des Data-Befehls ist das OK-Signal zum Eintritt in den finalen Betriebszustand. Scheitert der Parameteraustausch oder dauert er zu lange, fällt die Verbindung per NOT_OK auf Reset zurück.

5. Data

Dies ist der normale Betriebszustand. In jeder Safety PDU werden Nutz-Sicherheitsdaten ausgetauscht, und beide Seiten senden den Data-Befehl. Ein OK-Selbstschluss bedeutet, dass die Verbindung in Data verbleibt, solange die Kommunikation fehlerfrei ist. Ein STAY-Selbstschluss ist in Data normalerweise nicht zu sehen (es gibt keinen höheren Zustand, auf den gewartet wird), aber die Zustandsmaschine behandelt einen wiederholten Data-Befehl dennoch als „in Data bleiben". Jeder unerwartete Befehl oder ein CRC-/Watchdog-Fehler führt die Maschine auf Reset zurück.

Zusammenfassung

Die FSoE-Zustandsmaschine ist eine lineare Leiter aus fünf Zuständen: Reset → Session → Connection → Parameter → Data. Ein grüner OK-Übergang rückt die Maschine einen Schritt auf der Leiter nach unten, ein grauer STAY-Übergang hält sie an ihrer Position fest, und ein roter NOT_OK-Übergang bringt sie vollständig auf Reset zurück. Da Master und Slave dieselbe Maschine implementieren, startet die gesamte Verbindung sicher neu, sobald eine Seite etwas Falsches erkennt.

Referenzen

  • ETG.5100 S (D) V1.2.0, die FSoE-Spezifikation, die diese Zustände und Übergänge definiert.

Verwandte Beiträge

Überblick & Grundlagen

PDU-Strukturen nach Zustand

CRC

Fehlercodes & Datenformat


Ähnliche Beiträge nach Kategorie: FSoE EtherCAT Safety