Oversampling-Einstellungen, Distributed Clocks (DC)

Beispiel: Einstellung 2 kanaliges, 2 faches Oversampling

Im Reiter "DC" (s. Abb. Karteireiter Prozessdaten, Beispiel Einstellung 2 kanaliges, 2 faches Oversampling) kann der Oversamplingfaktor eingestellt werden. Wird nur ein Kanal der EL37x2 benötigt, kann zur Prozessdatenreduktion die entsprechende Betriebsart nach Abb. Karteireiter Prozessdaten, Beispiel Einstellung 2 kanaliges, 2 faches Oversampling gewählt werden. Durch die Anwahl eines Eintrages im Auswahldialog wird automatisch sowohl das richtige Erfassungsverhältnis auf Distributed-Clocks-Ebene, als auch die korrekte Anzahl der zu übertragenden Prozessdaten eingestellt.

Oversampling-Einstellungen, Distributed Clocks (DC) 1:

Samplingfrequenz

Wird ein Oversamplingfaktor benötigt, der nicht in der Liste aufgeführt ist, obliegt es dem Anwender, mit den Information aus "Grundlagen zur Funktion" den SYNC0-Puls in die gewünschte Relation zum SYNC1-Puls innerhalb der zulässigen Grenzen zu setzen. Siehe dazu das Beispiel.

Oversampling-Einstellungen, Distributed Clocks (DC) 2:
Karteireiter Prozessdaten, Beispiel Einstellung 2 kanaliges, 2 faches Oversampling

Bei einer Oversamplingeinstellung n = 2 und 2 genutzten Kanälen ergibt sich das Prozessabbild nach Abb. TwinCAT Baum, Beispiel Einstellung 2 kanaliges, 2 faches Oversampling.

Oversampling-Einstellungen, Distributed Clocks (DC) 3:
TwinCAT Baum, Beispiel Einstellung 2 kanaliges, 2 faches Oversampling

"StartTimeNextLatch"-Aktivierung

Durch die Anwahl des Sync Manager 2 (Abb. Karteireiter Prozessdaten, Aktivierung des Indizes 0x1B10, Eintrag „StartTimeNextLatch“, oben links), kann im Feld darunter das zugeordnete Prozessdatum "StartTimeNextLatch" durch 0x1B10 zur Übertragung auf den EtherCAT-Bus aktiviert werden.

Oversampling-Einstellungen, Distributed Clocks (DC) 4:
Karteireiter Prozessdaten, Aktivierung des Indizes 0x1b10, Eintrag „StartTimeNextLatch“

Im 32 Bit breiten Prozessdatum StartTimeNextLatch wird in jedem Prozessdatenzyklus der Zeitpunkt angegeben, wann der nächste SYNC1-Puls und damit der nächste Block an Sample-Werten beginnt. StartTimeNextLatch verändert sich also in jedem Zyklus um den Betrag derjenigen Taskzykluszeit, mit der diese Klemme betrieben wird. Diese Zeitangabe basiert auf der klemmenlokalen Distributed Clocks Zeit. Die EL37x2 bildet allerdings nur die unteren 32 Bit der im Allgemeinen 64 Bit großen Distributed Clocks Zeit ab.

Durch diese Zeitangabe können mit dem bekannten Oversamplingfaktor alle Samples zeitlich mit anderen Zeitangaben im EtherCAT-Bus in Zusammenhang gebracht werden.

Beispiel:

Die EL37x2 liefert im betrachteten Zyklus bei 1 ms Zykluszeit (= 1.000.000 ns) und Oversamplingfaktor = 20 als Prozessdaten ein StartTimeNextLatch = 7.777.216dez und 2 x 20 Messwerte zu je 16 Bit. Es soll nun der Messzeitpunkt des 5. gelieferten Samples ermittelt werden, d.h. um welche Distributed Clocks Zeit das 5. Sample ermittelt wurde.

Der aktuell gelieferte Satz von 20 Samples wurde zum Zeitpunkt
7.777.216 - 1.000.000 (Zykluszeit) = 6.777.216 ns gestartet.
Der Zeitabstand zwischen den Samples beträgt 1.000.000 / 20 = 50.000 ns.
Das 5. Sample wurde also zum Zeitpunkt 6.777.216 + ((5 - 1) * 50.000) = 6.977.216 ns ermittelt.

Oversampling-Einstellungen, Distributed Clocks (DC) 5:
TwinCAT Baum, Eintrag "StartTimeNextLatch"

Spezieller Oversamplingfaktor und "Shift-Time" für den SYNC0-Puls

VORSICHT

VORSICHT! Beschädigung der Geräte möglich!

Bei der Manipulation dieser Einstellungen im System Manager wird softwareseitig keine Plausibilitätskontrolle durchgeführt!
Eine korrekte Funktion der Klemme in allen denkbaren Einstellungsvarianten kann nicht gewährleistet werden!

Soll ein Oversamplingfaktor eingestellt werden, der nicht im Dialog angeboten wird, kann das Verhältnis von SYNC0 zu SYNC1-Puls manuell eingestellt werden. Dazu öffnen Sie den Dialog "Advanced Settings" im Reiter DC (Abb. Karteireiter DC, Aktivierung „Advanced Settings…“).
Ebenso kann hier ein zeitliches Versetzen mehrerer EL37x2 durch eine lokale Shift-Time eingestellt werden (Abb. Karteireiter DC, Aktivierung „Advanced Settings…“, „Distributed Clocks“).

Oversampling-Einstellungen, Distributed Clocks (DC) 6:
Karteireiter DC, Aktivierung „Advanced Settings…“
Oversampling-Einstellungen, Distributed Clocks (DC) 7:
Karteireiter DC, Aktivierung “Advanced Settings…”, “Distributed Clocks”

Beispiel:

Einstellung eines neuen Oversamplingfaktors:

In Abb. Karteireiter DC, Aktivierung „Advanced Settings…“, „Distributed Clocks“ befindet sich TwinCAT im Config-Modus mit 4 ms Zykluszeit (4000 µs). Deshalb wird der SYNC1-Puls alle 4000 µs ausgelöst. Der Oversamplingfaktor soll nun auf 80 eingestellt werden. Deshalb ist ein SYNC0-Abstand von 50 µs erforderlich. Dazu wird für SYNC0-Cycle Time entweder der entsprechende Teiler ausgewählt oder per "Anwenderdefiniert" manuell 50 µs eingetragen. Damit wird der ADC nun im gewünschten Zeitabstand angestoßen.

Zusätzlich muss die Anzahl der übertragenen Prozessdaten an den neuen Faktor angepasst werden. Im Beispiel sind also je Kanal 80 Werte erforderlich.

Oversampling-Einstellungen, Distributed Clocks (DC) 8:
Karteireiter Prozessdaten, Anpassung der Prozessdaten in SM0
Oversampling-Einstellungen, Distributed Clocks (DC) 9:
Karteireiter Prozessdaten, Anpassung der Prozessdaten in SM1

Wählen Sie nacheinander SM0 und SM1(Abb. Karteireiter Prozessdaten, Anpassung der Prozessdaten in SM0 + SM1) an und markieren Sie im Feld darunter (PDO Zuordnung) die dem Oversamplingfaktor gleichlautende Anzahl an Prozessdaten, hier also jeweils 80dez.
Vergleichen Sie in der rechtsstehenden PDO-Liste den PDO-Index mit dem letzten zu aktivierenden PDO in der PDO Zuordnung. In diesem Fall sind alle PDOs größer 0x1A4F (SM0) bzw. 0x1ACF (SM1) zu deaktivieren!

Oversampling-Einstellungen, Distributed Clocks (DC) 10:

Übereinstimmung Oversamplingfaktor/Prozessdaten

Stimmt die Anzahl der Prozessdaten nicht mit dem Oversamplingfaktor n überein, wird die Klemme zwar den OP-State erreichen, aber keine Prozessdaten erzeugen!

Beispiel:

Beispiel für Einstellung einer Shift-Time:

Tragen Sie manuell bei SYNC0-Shift-Time-User defined (Abb. Karteireiter DC, Aktivierung „Advanced Settings…“, „Distributed Clocks“) eine Ihren Vorstellungen entsprechende Zeit ein. Ein automatisch vom EtherCAT-Master generierter Wert kann dabei überschrieben werden. Dieser sollte aber bei der Berechnung berücksichtigt werden.
Beispiel: Ein Wert von "-5" ist voreingetragen. Eine zusätzliche Verschiebung von +10 µs wird gewünscht. Dann wird als neuer Wert -5 + 10 = +5 eingetragen.
Die gesamten zeitbasierten/Distributed Clocks basierten Interrupts (SYNC0/SYNC1) werden nun um diesen Betrag gegenüber anderen EtherCAT-Slaves versetzt laufen.