FSoE


Fail Safe over EtherCAT (FSoE) ist ein Protokoll zur Übertragung von sicherheitsrelevanten Daten über EtherCAT unter Verwendung eines FSoE Masters und FSoE Slaves. In jedem FSoE-Zyklus sendet der Master seine Safety-PDU (Protocol Data Unit) an den Slave uns startet zugleich einen Watchdog Timer. Der Slave verifiziert und berechnet die Daten vor der Rückübermittlung an den Master. In diesem Fall startet auch der Slave eine Laufzeitüberwachung per Watchdog Timer. Der Master empfängt und verarbeitet die Daten wie beim Slave beschrieben und hält den Watchdog Timer an. Erst nach vollständiger Ausführung dieses Zyklus generiert der Master eine neue Safety-PDU. Aufgrund dieses Mechanismus ist die sichere Kommunikation stets von der verwendeten Hardware und Topologie abhängig.
Die Adressbeziehung zwischen Master und Slave wird „FSoE-Connection“ genannt und durch eine eindeutige Verbindungs-ID gekennzeichnet. Die 16-Bit Connection-ID wird vom Master an die einzelnen Slaves übertragen. Für die Ausstattung jedes Slaves mit einer eindeutigen ID müssen die Anwender sorgen. Für die korrekte Identifikation während  der Hochlaufsequenz generieren sowohl der Master als auch die Slaves eine „Sequence Number”, die für jede Nachricht von 0 bis 65535 reicht. Damit wird sichergestellt, dass nur aktuell gültige Meldungen verarbeitet werden. Die Adressierung der einzelnen Geräte erfordert die Vergabe eindeutiger Nummern durch Hardware-Einstellung mittels DIP-Schalter. Jeder FSoE-Master enthält einen „FSoE Master Handler“, der mit Slaves über einen „FSoE Slave Handler“ kommuniziert. Optional erlaubt ein zusätzlicher „FSoE Slave Handler“ zur Implementierung im Master Kommunikation zwischen verschiedenen Mastern innerhalb eines Netzwerks. Zur Absicherung der zu übertragenden PDUs wird für je 2 Byte Safety-Daten einmal CRC 16 verwendet. Für die Übertragung von 10 Byte Daten wird also fünfmal CRC 16 angewendet.
Das Setzen der Parameter selbst ist nicht spezifiziert. Der Parametriervorgang muss in der vom Anwender programmierten Applikationssoftware erledigt werden. Die FSoE-Spezifikation beschreibt die erforderlichen Parameter nicht. Dafür Sorge tragen, dass die einzelnen FSoE-Slaves ihre korrekten Parameter erhalten, müssen die Anwender.