Funktionsgrundlagen und Hinweise
Die EL5001/EL5002 ist eine SSI-Masterklemme zur zyklischen Abfrage von SSI-Geräten. Die EL5002 kann dabei zwei Slaves bedienen.
In der Regel wird die EL500x so betrieben, dass jeder I/O-Zyklus eine SSI-Kommunikation auslöst und damit eine neue Geber-Position an die Applikation liefert. Wird eine einstellungs- und hardwareabhängige minimale EtherCAT Zykluszeit unterschritten, ist dieser Zusammenhang nicht mehr zu gewährleisten, die SSI-Transfers finden nicht mehr synchron zum EtherCAT Zyklus bzw. dem DC-Zyklus statt (siehe unten: EtherCAT Zykluszeit).
SSI Grundlagen
Ablauf der SSI-Kommunikation
- Der SSI-Master beginnt auf der Clock-Leitung mit festem Takt in das Schieberegister des SSI-Slave zu takten.
- Dieser "schiebt" auf der Datenleitung in der Regel Daten mit 25 Bit Breite zurück. Mit der ersten fallenden Flanke des Signals am Clock-Eingang sollte ein SSI-Geber seine Position ermitteln ("latchen"), diese wird nun übertragen.
- Nachdem die vorgegeben Anzahl von Bits geschoben wurde, wird das Taktsignal beendet.
- Nach einer Pause beginnt die Abfrage durch den SSI-Master erneut.
Das letzte Bit der Daten kann ein PowerFail-Bit sein, d. h. der Slave gibt einen Power-Fehler bekannt. Diese Ausgabe ist vom Slave abhängig.
Die Anzahl der Bitwechsel ist gleich der Taktfrequenz, d. h. bei 1 MHz Takt können max. auch 1 MBit/s Daten übertragen werden.
Die EL500x verfügen über einen 120 Ω Terminierungswiderstand in der eingehenden Datenleitung.
Damit die Daten des SSI-Slave richtig übertragen werden, sind im SSI-Master EL500x verschiedene Parameter einzustellen:
- Baudrate (z. B. 500 kBaud)
- Codierung (z. B. Gray-Code)
- Datenframe-Art, z. B. Multiturn 25 Bit
- Datenframe Größe, z. B. 25 Bit
- Datenlänge, also wie viele Bits im Datenframe die eigentlichen Positionsdaten sind, z. B. 24 Bit.
Diese Angaben sind dem Datenblatt des SSI-Slave zu entnehmen und im CoE-Verzeichnis der EL500x einzustellen.

Referenzieren eines SSI Signals
Ein SSI-Geber ist ein Absolutwertgeber, d. h. der Positionswert steht ohne Referenzieren unmittelbar nach dem Einschalten zur Verfügung.
Viele SSI-Geber bieten über einen zusätzlichen digitalen Eingang die Möglichkeit, den Positionswert zu referenzieren bzw. zu nullen. Je nach Signalspannung des digitalen Eingangs am Encoder, kann dieser z. B. über eine digitale Ausgangsklemme EL2xxx gesetzt werden.
Funktionsumfang EL500x
Die technische Entwicklung ermöglicht eine Erweiterung des Funktionsumfangs der EL5001. Folgende Erweiterungen stehen abhängig von Hardware-/Firmwarestand zur Verfügung:
EL5001 bis Firmware (FW) 10 (bis EL5001-0000-0001)
- Diese Masterklemme startet die SSI-Kommunikation ausschließlich mit dem EtherCAT-Zyklus, im so genannten synchronen Betrieb.
- Die CoE-Einstellungen (Baudrate, Framelänge, ..) werden im Objektverzeichnis in den Objekten 0x4060ff vorgenommen.
- Das Prozessdateninterface besteht aus Status (1 Byte) und Value (4 Byte).
EL5001 ab Firmware (FW) 11 (ab EL5001-0000-1017) und EL5002 (ab EL5002-0000-0016)
- Diese Versionen verfügen darüber hinaus auch über Distributed Clocks-Funktionalität und können so genau synchronisiert mit anderen Distributed Clocks-Teilnehmern den SSI-Slave abfragen. Dadurch entfällt der kommunikationsbedingte geringe Jitter und die Zeitunsicherheit der Abfrage verringert sich deutlich.
- Die CoE-Einstellungen (Baudrate, Framelänge, ..) werden bevorzugt im Objektverzeichnis im Objekt 0x8010 (EL5001) bzw. 0x8000 / 0x8010 (EL5002) mit seinen Subindizes vorgenommen.
Gleichwertig dazu werden weiterhin die Einstellungen in den Indizes 0x4060ff verwaltet und unterstützt; geänderte Einstellungen werden in den jeweils anderen Abschnitt kopiert. - Standardmäßig wird die EL500x im bekannten Prozessabbild (Status [1 Byte] und Value [4 Byte]) erkannt.
Darüber hinaus ist ein erweitertes Prozessabbild aus 2 Byte Status und 4 Byte Value umschaltbar. Ab TwinCAT 2.11 können die Bits aus der Statusvariable auch einzeln verknüpft werden.
![]() | Firmware Update Ein Update älterer EL5001 bis Firmwarestand 10 mit neuerer Firmware ist nicht möglich! |
EL5002 ab Firmware (FW) 03 (ab EL5002-0000-0020)
Die Firmware der EL5002 ist um die folgenden Funktionen erweitert worden:
- Verbesserter Jitter, max. ±100 ns
- Implementierung eines Mehrfachübertragungsmodus
Verbesserter Jitter
Im DC-Synchronmodus wird die Prozessdatenverarbeitung im Slave durch die Hardware SYNC-Ereignisse ausgelöst, die im Slave basierend auf der DC-Systemzeit erzeugt werden. Die lokale Uhr in jedem Slave wird vom Master während der Initialisierungsphase mit der DC-Systemzeit synchronisiert. Basierend auf der DC-Systemzeit werden in jedem Slave Hardware-SYNC-Ereignisse erzeugt.
Der EL5002-Trigger mit dem Ereignis SYNC0 / SYNC1 gibt die SSI-Clock an den SSI-Slave aus. Das ausgelöste Ereignis hat einen gerätespezifischen Zeitjitter. Dieser Zeitjitter wird in der EL5002 auf den Wert optimiert: max. ±100 ns.
Die Jitter-Kompensation kann für jeden Kanal einzeln über das Objekt 0x80n0:0C aktiviert werden.
Index (hex) | Name | Bedeutung |
---|---|---|
Enable SSI clock jitter compensation | 0: SSI clock jitter compensation is disabled (default) | |
1: SSI clock jitter compensation is enabled |
Mehrfachübertragungsmodus
Folgende Modi können mit dem SSI-Protokoll verwendet werden:
- Einzelübertragung (bereits Bestandteil von EL5002)
- Mehrfachübertragung (neue Funktion, ab FW003 und XML Rev.0020)
Die Einzelübertragung ist nach dem SSI-Protokollstandard implementiert. Die Mehrfachübertragung ist eine Erweiterung der Einzelübertragung und kann vom Benutzer für jeden Kanal einzeln aktiviert werden.
Für die Mehrfachübertragung sendet der SSI-Master innerhalb der Monoflop-Zeit zusätzliche Taktimpulse (mindestens einen). Als Antwort wird das komplette Datenwort erwartet, das bereits nach der ersten steigenden Taktflanke gesendet wurde. Die empfangenen Datenwerte werden verglichen. Liegt eine Differenz zwischen dem empfangenen Datenwert vor, wird ein Fehlerzustand gesetzt, der durch ein Fehlerbit angezeigt wird. Daher ist die Mehrfachübertragung ideal geeignet, um die Datenintegrität zu überprüfen.
Die Mehrfachübertragung kann durch ein CoE-Objekt für jeden Kanal unabhängig voneinander aktiviert werden. Die Anzahl der zusätzlichen Taktimpulse kann vom Benutzer eingestellt werden.
Index 0x80n0 SSI-Einstellungen
Index (hex) | Name | Bedeutung |
---|---|---|
Number of clock bursts | 1: Einzelübertragung ist aktiv (Standard) | |
2: Mehrfachübertragung mit 2 Taktimpulse | ||
3: Mehrfachübertragung mit 3 Taktimpulse |
Die zusätzlichen Taktimpulse werden innerhalb der Monoflop-Zeit tm gesendet, diese Zeit wird angegeben mit:
- Monoflop-Zeit des Gebers: 15 µs < tm < 25 µs
Die Mehrfachübertragungsfunktionalität kann für die Monoflop-Zeit tm < 15 µs nicht garantiert werden.
Die Anzahl der zusätzlichen Taktimpulse wird durch die Baudrate begrenzt. Je höher die Baudrate, desto mehr Taktimpulse können gesendet werden.
Während bei einer Einzelübertragung der empfangene Wert direkt in den Zählerwert geschrieben wird, wird bei einer Mehrfachübertragung der erste gültige Wert in den Zählerwert geschrieben.
Das bedeutet:
Mehrfachübertragung mit 2 Taktimpulsen (0x80n0:14):
- Beide Werte werden verglichen. Wenn die Werte gleich sind, wird der erste empfangene Wert in den Zählerwert geschrieben. Wenn die aufeinanderfolgenden Empfangswerte unterschiedlich sind, wird der Übertragungsfehler durch ein Fehlerbit im Statusbyte (SB) angezeigt. Der erste empfangene Wert wird, auch wenn er nicht gültig ist, als Zählerwert übertragen.
Mehrfachübertragung mit 3 Taktimpulsen (0x80n0:14):
- Es werden drei Werte verglichen. Mindestens zwei von drei Werten müssen gleich sein. Der erste gültige Wert wird in den Zählerwert geschrieben. Wenn alle drei empfangenen Werte unterschiedlich sind, wird der Übertragungsfehler durch ein Fehlerbit im Statusbyte (SB) angezeigt. Der erste empfangene Wert wird, auch wenn er nicht gültig ist, als Zählerwert übertragen.
Das Statusbyte (SB) befindet sich im Eingangsprozessabbild und wird von der Klemme an die Steuerung übertragen.
Bit | Name | Bedeutung | |
---|---|---|---|
SB.7 | TxPDO Toggle | 0/1bin | TxPDO Toggle wird vom Slave umgeschaltet, wenn die Daten des zugehörigen TxPDO aktualisiert werden |
SB.6 | TxPDO State | 0/1bin | Gültigkeit der Daten des zugehörigen TxPDO |
SB.5 | Sync error | 0/1bin | Das Synchronisationsfehlerbit wird nur im DC-Modus benötigt. Es zeigt an, ob im vorherigen Zyklus ein Synchronisationsfehler aufgetreten ist. Das bedeutet, dass in der EL500x ein SYNC-Signal ausgelöst wurde, obwohl keine neuen Prozessdaten verfügbar waren. 0 = OK |
SB. 4 | - | 0bin | reserviert |
SB.3 | Data mismatch | 0/1bin | Ein „Value error“- Bit (tbd) wird nur angezeigt, wenn es zuvor über den Index 0x80n0:xx (tbd )aktiviert wurde: Mehrfachübertragung mit n Taktimpulsen. 0 = die mehrfach gesendeten und empfangenen Datenwerte sind identisch. |
SB.2 | Power failure | 0/1bin | Ein geberbezogener Fehler wird angezeigt, wenn er zuvor durch den Index 0x80n0:02 aktiviert wurde. 0 = kein geberspezifischer Fehler |
SB.1 | Frame error | 0/1bin | Der Datenrahmen ist falsch, d. h. der Datenrahmen wurde nicht mit Null abgeschlossen (evtl. Drahtbruch bei der Clock- Leitung). 0 = kein Frame error |
SB.0 | Data error | 0/1bin | SSI-Eingangsfehler:
Erfolgt keine Datenkommunikation, befindet sich der SSI-Eingang der Klemme auf LOW-Pegel. |