Grundlagen zur Oversampling-Funktion
Die EtherCAT Klemme EL5031-0011 ist ein Interface zum direkten Anschluss von einem EnDat 2.2-Geber. Durch die Oversampling-Eigenschaft kann die Klemme mehrmals je Buszyklus die aktuelle Position des Gebers auslesen.
Oversampling
Eine herkömmliche Encoder-Interface Klemme erfasst mit jedem Buszyklus einen Positionswert ("Position") und gibt ihn im nächsten Feldbuszyklus an die übergeordnete Steuerung weiter. Die EL5031-0011 erfasst zwischen zwei Feldbuskommunikationszyklen konfigurierbar und zeitäquidistant mehrmals den aktuellen Positionswert.
Die Übergabe eines Pakets von n Positionswerten von je 64 Bit (je 32 Bit im Compact-Mode) an die übergeordnete Steuerung findet im nächsten Feldbuskommunikationszyklus statt. Dieses Verfahren wird "Oversampling" genannt.
Distributed Clocks (DC)
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 (DC) (s. Kapitel Distributed Clock). In der EL5031-0011 ist die Distributed Clock mit einem Umfang von 64 Bit realisiert (ausreichend für die nächsten 584 Jahre)
SYNC0-Interrupt
Abhängig von der Zykluszeit wird durch die lokale Uhr in der Klemme ein Interrupt ausgelöst. Dieser Interrupt wird SYNC0 genannt. Bei jedem SYNC0-Signal wird der Positionswert, entsprechend dem eingestellten Oversampling-Faktor n, erfasst. Die Werte 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 erfolgt.
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. Der EtherCAT Master wie z. B. Beckhoff TwinCAT konfiguriert die EL5031-0011 Klemmen so, dass ihre SYNC0 zum gleichen Zeitpunkt auftreten. Diese Gleichzeitigkeit liegt im Rahmen der Distributed-Clocks‑Genauigkeit von < 100 ns.
Zeitstempel der Prozessdaten
Die EL5031-0011 bietet mit dem Prozessdatum „StartTimeNextLatch“ einen 64-Bit-Zeitstempel für jeden Prozessdatenblock. Dieses ist im Reiter „Prozessdaten“ über die PDO-Zuordnung von 0x1A01 „FB Inputs NextSyncTime“ in der Werkseinstellung bereits aktiviert (s. Kapitel „Prozessdaten und Konfiguration]“). Dabei ist der in jedem Zyklus übertragene Datenblock Sample-Werte + Zeitstempel nicht zusammenhörig.
Der zeitliche Zusammenhang ist in folgendem Beispiel dargestellt.
Beispiel: Zwei EL5031-0011 Klemmen mit gleichem Oversampling-Faktor (n = 50)
Der EtherCAT Master wie z. B. Beckhoff TwinCAT konfiguriert beide EL5031-0011 so, dass ihre SYNC0 zum gleichen Zeitpunkt auftreten.
Annahme: die EtherCAT-Buszykluszeit TSYNC0 = 2 ms. Somit wird der SYNC0 in allen EL5031‑0011 alle 2 ms ausgelöst.
- Beide Klemmen arbeiten mit einem übereinstimmenden Oversampling-Faktor (z. B. n = 50),
- der SYNC0-Puls tritt in beiden EL5031-0011 zur gleichen Zeit auf,
Die Sampling-Zeit beträgt hier also TSYNC0 / 50 = 40 μs. - Das SYNC0-Signal in der Klemme füllt den internen Puffer mit 50 Positionswerten.
- SYNC0 läuft synchron mit der Zykluszeit und löst die Bereitstellung des gefüllten Puffers als Prozessdatum aus. Gleichzeitig wird der „StartTimeNextLatch“ aus der lokalen Distributed Clock abgeholt.
- Dabei wird das data array zusammen mit der SYNC0-Zeit (Next SYNC0 time) zusammengestellt.
- Der nächste EtherCAT-Zyklus holt diese Daten ab.
Maximale Sampling-Frequenz, Minimale Zykluszeit Minimale Sampling-Zeit (TSYNC0 / n), maximale Sampling-Frequenz (FSYNC0 * n) Minimale Zykluszeit (TSYNC0) |