Frage:Welche Diagnosemöglichkeiten bestehen um beispielsweise bei einer Elektrische-Welle-Anwendung im Master und Slave sehr schnell eine Reaktion, wie den Schnellhalt (QSP) ausführen zu können?
Wie erfolgt die Implementierung in i950 TAs?
Antwort:
Wenn der EtherCAT onboard als Systembus zum übertragen von Positions- und Geschwindigkeitsleitwerten verwendet wird, ist es oftmals erforderlich im Master und Slave sehr schnell auf Kommunikationsfehler zu reagieren.
i950 als EtherCAT Master:
Für die Erkennung einer Kommunikationsunterbrechung ist ein i950 PLC erforderlich.
Im Falle einer i950 TA muss die dazu passende Projektvorlage verwendet werden.
Für die Erkennung sollte bei diesen Geräten auf keinen Fall der Parameter <Axis_Ref>.xCommunicationOK verwendet werden.
Es kann zwischen 30-100ms dauern bis sich der Status dieses Parameters ändert.
Anstelle dessen sollte der Status über die Eigenschaft ETCSlave.WcState überwacht werden
Über der WorkingCounterState kann im Master erkannt werden, wenn der tatsächliche Zählerwert vom erwarteten Wert abweicht. Damit kann erkannt werden, ob zu einem der Slaves eine Einschränkung in der Kommunikation vorliegt. Das geht sehr schnell aber es ist nicht zu unterscheiden, mit welchen Slaves noch kommuniziert werden kann und mit welchen nicht.
WcState ist ein boolscher Status: TRUE = Abweichung im WorkingCounter erkannt.

Beispiel für die Implementierung WcState. Diese Eigenschaft braucht nur bei einem der EtherCAT-Teilnehmer abgefragt werden, da der Wert immer bei allen Teilnehmer identisch ist (TRUE bzw. FALSE).
i950 als EtherCAT Slave:
Im Systembus Slave wird eine Kommunikationsunterbrechung von der ‚PDO-Telegrammausfallerkennung für DC‘, einer Überwachungsfunktion der i950 Firmware erkannt.
Die Empfindlichkeit dieser Überwachung ist einstellbar. Mit der Default-Einstellung Sync error counter limit 0x10F1:2 = 20 werden sechs ausbleibende Telegramme toleriert.
Mit 0x10F1:2 = 1 oder 2 wird bei dem ersten ausbleibenden Telegramm ein Fehler 0x8181 (EtherCAT Kommunikationsfehler) gemeldet.
Die Übergangsreaktion ist in 0x605E (Reaktion bei Störung) einstellbar. Im Default mit 0x605E = -2 (Erweiterter Schellhalt) wird mit der Schnellhalt Verzögerung 0x6085:0 gestoppt. ‚Erweitert‘ bedeutet in diesem Zusammenhang, dass im Falle eines Motorgeber-Fehlers, wenn keine Servoregelung mehr möglich ist, ein Bremsmoment durch eine Kurzschlussbremsung (SM) oder die Gleichstrombremsung bei ASM aufgebracht wird.
Wird der Stillstand erkannt oder die Zeitüberwachung für die Fehlerreaktion 0x2826:0 ist abgelaufen, dann wird automatisch in den Zustand Fehler gewechselt und das Leistungsteil wird gesperrt.
Abschaltbar ist die Überwachungsfunktion nicht. Es könnte lediglich die Reaktionszeit mit Erhöhung von 0x10F1:2 erhöht werden oder es kann über 0x605E:0 = 0 statt der Reaktion mit Schnellhalt direkt in den Zustand Fehler gewechselt werden.
Mit 0x10F1:2 = 1 oder 2 keine fehlenden Telegramme zuzulassen, ist eher nicht praxistauglich, weil es sonst bei singulären Fehlern zum unerwarteten Fehlerstopp kommen kann. Werden singuläre Fehler toleriert, muss mit einer Sollwertextrapolation verhindert werden, dass Sollwertsprünge auftreten.
Für dynamische Anwendungen wird ein Wert von 3 bzw. 6 für 0x10F1:2 empfohlen. Damit erfolgt eine Fehlerreaktion nach 1 bzw. 2 Telegrammausfällen.
Bei nicht-dynamischen Anwendungen kann der eingestellte Wert (20) beibehalten werden.
Ab i950 FW1.9.0:
Im Falle eines Telegrammausfalles wird die Position weiter extrapoliert bis die eingestellte Anzahl an Telegrammausfällen erreicht ist. Dies wird intern über die Variable xSyncProcessDataValid des onBoardEtherCAT erreicht.