Distributed Clock

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:

In der EL4732 sind nur die unteren 32 Bit mit einem Umfang von ~4,2 Sekunden realisiert.

Distributed Clock 1:

EtherCAT und Distributed Clocks

Auf der Beckhoff Website können Sie eine grundlegende Einführung in das Thema EtherCAT und Distributed Clocks herunterladen: die "Systembeschreibung Distributed Clocks".

Beispiel:

Der Feldbus/EtherCAT Master wird mit 1 ms Zykluszeit betrieben weil z. B. die übergeordnete SPS mit 1 ms Zykluszeit betrieben wird. Damit wird alle 1 ms ein EtherCAT-Frame zur Übergabe der Prozessdaten an die EL4732 geschickt. Im ESC wird deshalb durch die lokale Uhr in der Klemme alle 1 ms (1 kHz) ein Interrupt ausgelöst, um die Prozessdaten des übergebenen EtherCAT-Frame auszulesen. Dieser erste Interrupt wird SYNC1 genannt.

Die EL47xx sei im TwinCAT System Manager auf ein Oversampling n = 10 eingestellt. Dadurch generiert der ESC in der Klemme einen zweiten Interrupt mit einer n-fach höheren Frequenz, hier also 10 kHz oder 100 µs Periode. Dieser Interrupt wird SYNC0 genannt. Bei jedem SYNC0-Signal wird die auszugebene Spannung als digitaler Wert dem DAC (Digital to Analog Converter) übergeben.

Distributed Clock 2:

Ausgabe der Ausgangsspannungen

Beide Ausgangsspannungen (von Kanal 1 und 2) werden immer gleichzeitig ausgegeben. Dies gewährleistet die Bauart des DAC, der durch den SYNC0-Puls angestoßen wird. Eine andere Betriebsart ist nicht möglich.

Durch die Generierung des SYNC0-Pulses aus der lokalen synchronisierten Uhr im Distributed-Clocks-Verbund ist gewährleistet, dass die Erfassung der analogen Messwerte in zeitlich hochkonstant gleichen Abständen mit der Periode des SYNC1-Pulses erfolgt.
Der maximale Oversamplingfaktor ist abhängig vom Speicherumfang des eingesetzten ESC und beträgt bei der EL47xx n = 100.

Distributed Clock 3:

Maximale Samplingfrequenz

Eine kleinere Periode als 10 µs ist für die EL47xx nicht zulässig! Die maximale Samplingfrequenz beträgt für die EL47xx also 100 kSps (Samples per second).
Bei der Berechnung des SYNC0 aus dem SYNC1-Puls durch die manuelle Vorgabe eines Oversamplingfaktors ist darauf zu achten, daß für SYNC0 nur ganzzahlige Werte im Nanosekundenabstand berechnet werden.
Beispiel: 187.500 µs ist zulässig, 333.3 nicht!

Beispiel:

Bei SYNC1 = 1 ms sind Oversamplingfaktoren wie 1,2,5 oder 100 zulässig, nicht aber 3! Wird mit unplausiblen Werten gearbeitet, erreicht die Klemme zwar den OP-State, gibt aber keine korrekten Prozessdaten aus. Dies drückt sich ggf. auch durch einen Working Counter Error aus.
Bei 2 Kanälen und n = 100 müssen so je EtherCAT-Zyklus 2 x 2 x 100 = 400 Byte Prozessdaten an die EL47xx übermittelt werden.

Arbeiten mit DC-Zeiten in der Steuerung

Die Distributed-Clock-Zeit hat aus der Sicht der Steuerung folgenden Eigenschaften:

Zur Bearbeitung von DC-Zeiten werden folgende 3 Datentypen empfohlen

Distributed Clock 4:

64- vs. 32-Bit-Darstellung

Manche EtherCAT-Slaves können die DC-Zeit nur als 32-Bit-Wert darstellen bzw. als Prozessdatum verarbeiten. Um durch Überlauf verursachten Problemen (alle 4.2 Sekunden) entgegenzuwirken wird jedoch dringend empfohlen, in der Steuerung generell nur mit 64-Bit-Zeiten zu rechnen.

    • An die PLC gelieferte 32-Bit-Zeiten sind um den aktuellen High-Teil zu erweitern
    • An die HW ist in diesem Fall nur der Low-Part (untere 32 Bit) zu liefern

    In diesem Beispielprojekt
    Distributed Clock 5: (Download) ist ein Funktionsblock enthalten, der zyklisch eine 32-Bit-DC-Zeit um den High-Part zu 64 Bit ergänzt.