Oversampling-Einstellungen, Distributed Clocks (DC)
Beispiel: Einstellung 2 kanaliges, 2 faches Oversampling
Im Reiter "DC" (s. Abb. Karteireiter DC, Beispiel Einstellung 2 kanaliges, 2 faches Oversampling, TwinCAT 2.10) kann der Oversamplingfaktor eingestellt werden. Wird nur ein Kanal der EL47xx benötigt, kann zur Prozessdatenreduktion die entsprechende Betriebsart nach Abb. Karteireiter DC, Beispiel Einstellung 2 kanaliges, 2 faches Oversampling, TwinCAT 2.10 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.
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 die Erläuterungen am Ende dieser Seite. |
Unterschiede TwinCAT Version 2.10 und Version 2.11 In einigen der folgenden Screenshots werden die Unterschiede der TwinCAT Versionen 2.10 und 2.11 bei den Distributed Clocks Einstellungen dargestellt (z. B. Abb. (Karteireiter DC, Beispiel Einstellung 2 kanaliges, 2 faches Oversampling, TwinCAT 2.10), (Karteireiter DC Beispiel Einstellung Betriebsart 2 Kanal, TwinCAT 2.11) und (Karteireiter DC Beispiel Einstellung, Oversampling Faktor 2, TwinCAT 2.11)) |
Bei einer Oversamplingeinstellung n = 2 und 2 genutzten Kanälen ergibt sich das Prozessabbild nach Abb. TwinCAT Baum, Beispiel Einstellung 2 kanalieges, 2-faches Oversampling
"StartTimeNextOutput"-Aktivierung
Durch die Anwahl des Sync Manager 2 (Abb. Karteireiter Prozessdaten, Aktivierung des Indizes 0x1A82, Eintrag „StartTimeNextOutput“, oben links), kann im Feld darunter das zugeordnete Prozessdatum "StartTimeNextOutput" durch 0x1A82 zur Übertragung auf den EtherCAT-Bus aktiviert werden.
Im 32 Bit breiten Prozessdatum StartTimeNextOutput wird in jedem Prozessdatenzyklus der Zeitpunkt angegeben, wann der nächste SYNC1-Puls und damit der nächste Block an Sample-Werten beginnt. Diese Zeitangabe basiert auf der Klemmen-lokalen Distributed-Clocks-Zeit. Die EL47xx 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-System in Zusammenhang gebracht werden.
Beispiel:
Bei einem Oversamplingfaktor von n = 20 und einer StartTimeNextOutput = 0x12345678 wird also der nächste Sampleblock von 20 Samples zum Distributed Clocks Zeitpunkt 0x123456678hex bzw. 305.419.896 ns starten.
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" bzw. "Erweiterte Einstellungen" im Reiter DC (Abb. Karteireiter DC, Aktivierung „Advanced Settings…“, TwinCAT 2.10 und TwinCAT 2.11).
Ebenso kann hier ein zeitliches Versetzen mehrerer EL47xx durch eine lokale Shift-Time eingestellt werden (Abb. 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 DAC 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.
Wählen Sie nacheinander SM0 und SM1(Abb. Karteireiter Prozessdaten, Anpassung der Prozessdaten in SM0 und 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 0x164F (SM0) bzw. 0x174F (SM1) zu deaktivieren!
Ü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.