Grundlagen zur Oversampling-Funktion
Die EtherCAT Klemme EL5101-0011 ist ein Interface zum direkten Anschluss von Inkremental-Encodern mit Differenzeingängen (RS422). Durch die Oversampling-Eigenschaft kann die Klemme mehrmals je Buszyklus den aktuellen Zählerstand erfassen.
Oversampling
Eine herkömmliche Inkremental-Encoder-Interface Klemme erfasst mit jedem Buszyklus einen Zählerstand ("Counter Value") und gibt ihn im nächsten Feldbuszyklus an die übergeordnete Steuerung weiter. Die EL5101-0011 erfasst zwischen zwei Feldbuskommunikationszyklen konfigurierbar und zeitäquidistant mehrmals den aktuellen Zählerstand. Die Übergabe eines Pakets von x Positionswerten von je 32 Bit an die übergeordnete Steuerung findet im nächsten Feldbuskommunikationszyklus statt. Dieses Verfahren wird "Oversampling" genannt.
Distributed Clocks
Für das Oversampling ist ein Taktgeber in der Klemme nötig, der die einzelnen Messwerterfassungen auslöst. Dazu wird die lokale Uhr in der Klemme genutzt, genannt Distributed Clock.
Die Distributed Clock stellt eine lokale Uhr im EtherCAT Slave Controller (ESC) dar mit den Eigenschaften:
- Einheit 1 ns
- Nullpunkt 1.1.2000 00:00
- Umfang 64 Bit (ausreichend für die nächsten 584 Jahre); manche EtherCAT-Slaves unterstützen jedoch nur einen Umfang von 32 Bit, d. h. nach ca. 4,2 Sekunden läuft die Variable über.
- Diese lokale Uhr wird vom EtherCAT Master automatisch mit der Master Clock im EtherCAT Bus mit einer Genauigkeit < 100 ns synchronisiert.
In der EL5101-0011 ist ein Umfang von 64 Bit realisiert.
Beispiel Oversampling mit Sync0 und Sync1:
Der Feldbus/EtherCAT Master wird mit 1 ms Zykluszeit (TSYNC1) betrieben weil z. B. die übergeordnete SPS mit 1 ms Zykluszeit betrieben wird. Damit wird alle 1 ms ein EtherCAT-Frame zur Abholung der Prozessdaten der EL5101-0011 geschickt. Im ESC (EtherCAT Slave Controller) wird deshalb durch die lokale Uhr in der Klemme alle 1 ms (1 kHz) ein Interrupt ausgelöst, der die Prozessdaten rechtzeitig für den abholenden EtherCAT-Frame bereitstellt. Dieser erste Interrupt wird SYNC1 genannt.
Die EL5101-0011 sei im TwinCAT System Manager auf einen Oversampling-Faktor n = 100 eingestellt. Dadurch generiert der ESC in der Klemme einen zweiten Interrupt mit einer n-fach höheren Frequenz (FSYNC0), hier also 100 kHz oder 10 µs Periode (TSYNC0). Dieser Interrupt wird SYNC0 genannt. Bei jedem SYNC0-Signal wird der Zählerstand erfasst, diese werden nacheinander in einem Puffer abgelegt. Durch die Generierung des SYNC0-Pulses aus der lokalen synchronisierten Uhr im Distributed-Clocks-Verbund ist gewährleistet, dass die Erfassung des Positionswertes in zeitlich hochkonstant gleichen Abständen mit der Periode des SYNC1-Pulses erfolgt.
![]() | Maximale Sampling-Frequenz / Minimale Zykluszeit Eine kleinere Sampling-Zeit (TSYNC0) als 10 μs ist für die EL5101-0011 nicht zulässig! |
Beispiel zulässige und unzulässige Oversampling-Faktoren:
Bei TSYNC1 = 1 ms sind Oversampling-Faktoren wie 1,2,5 oder 100 zulässig, nicht aber 3! Wird mit unplausiblen Werten gearbeitet, erreicht die Klemme zwar den OP-State, liefert aber keine Prozessdaten.
Dies drückt sich ggf. auch durch einen Working Counter Error aus.
Die im Puffer gesammelten Messwerte von je 32 Bit Umfang werden als Paket an die übergeordnete Steuerung übergeben.
Zusammenfassung:

Zeitbezogene Zusammenarbeit mit anderen Klemmen
Die Messwerterfassung in der EL5101-0011 wird durch einen Interrupt ausgelöst, der von der lokalen Uhr in der Klemme generiert wird. Alle lokalen Uhren in den unterstützenden EtherCAT-Slaves sind synchronisiert. Dadurch ist es möglich, EtherCAT-Slaves (hier: Klemmen) unabhängig von ihrer jeweiligen Entfernung untereinander gleichzeitig ihre Messwerte erfassen zu lassen (gleichzeitige Interrupt-Erzeugung). Diese Gleichzeitigkeit liegt im Rahmen der Distributed-Clocks-Genauigkeit von < 100 ns.
Beispiel für die Abstimmung zweier EL5101-0011 untereinander:
Der EtherCAT Master wie z. B. Beckhoff TwinCAT konfiguriert beide EL5101-0011 so, dass ihre SYNC1 zum gleichen Zeitpunkt auftreten.
Annahme: die EtherCAT-Buszykluszeit TSYNC1 = 500 μs. Somit wird der SYNC1 in allen EL5101-0011 alle 500 μs ausgelöst.
- Wenn beide Klemmen mit einem übereinstimmenden Oversampling-Faktor (z. B. n = 20) arbeiten, wird auch der mit dem SYNC1 korrelierende SYNC0-Puls in allen EL5101-0011 zur gleichen Zeit auftreten, hier also TSYNC0 = 25 μs.
- Werden in den eingesetzten EL5101-0011 verschiedene Oversampling-Faktoren verwendet, treten deren SYNC0-Pulse nicht mehr gleichzeitig auf. Der übergeordnete SYNC1-Puls bleibt bestehen.
Zeitstempel der Prozessdaten
Die EL5101-0011 bietet einen Zeitstempel für jeden Prozessdatenblock. Dieses Prozessdatum ist als StartTimeNextLatch durch die Aktivierung von 0x1A01 ENC NextSync1Time im Reiter Prozessdaten als 64-Bit-Wert in der Werkseinstellung bereits aktiviert, siehe auch die Kapitel Prozessdaten.
Dabei ist der in jedem Zyklus übertragene Datenblock Sample-Werte + Zeitstempel nicht zusammenhörig. Der Zusammenhang ist in der folgenden Abb. dargestellt.
Zur Erläuterung:
- Dargestellt ist ein Beispiel für Oversampling-Faktor n = 100.
- Das SYNC0-Signal in der Klemme füllt den internen Puffer mit 100 Positionswerten.
- Synchron mit der Zykluszeit läuft SYNC1, der die Bereitstellung des gefüllten Puffers als Prozessdatum auslöst und gleichzeitig den StartTimeNextLatch aus der lokalen Distributed Clock holt.
- Dabei wird das data array zusammen mit der nächsten SYNC1 Time zusammengestellt.
- Der nächste EtherCAT-Zyklus holt diese Daten ab.
