Begriffserläuterungen
Im Folgenden werden als Legende einige grundlegende Begriffe zur Multi-Timestamp-Funktion beschrieben. Diese bauen auf den Erläuterungen der Technologie-Seite auf, diese ist also unbedingt zu beachten.
Channel/Kanal
Die EL1259 verfügt beispielsweise über 8 Eingangs- und 8 Ausgangskanäle. Jeder Kanal kann unabhängig von den anderen arbeiten und hat seinen eigenen Buffer und seine eigenen Settings im CoE (Unterstützung des kanalorientierten Programmierens).
Trotz der kanalweisen Parametrierung (CoE, PDO) werden die Einstellungen für alle Kanäle gemeinsam in der Klemme vorgenommen.
Zyklische Prozessdaten/PDO
Jeder Kanal verfügt über 2 verschiedene Arten von zyklischen PDO:
- Diagnose/Status/Control-Werte die insbesondere für den Buffer angelegt sind
- die eigentlichen "Werte" als zeitgestempelte Bool-Daten in Form eines Arrays. Das Array ist in der Konfiguration auf eine passende Größe einzustellen, es kann zur Laufzeit nicht verändert werden.
Siehe dazu PDO-Übersicht auf den Inbetriebnahmeseiten und folgende Abschnitte.
Parameterdaten/CoE
Jeder Kanal besitzt im CoE einen Parameterbereich 0x80n0:ff mit passenden Einstellungen um z. B. den Buffer oder das Ein-/Ausgangsverhalten zu konfigurieren.
Siehe dazu Hinweise auf den Inbetriebnahmeseiten.
Buffer
Jeder Kanal verfügt über einen eigenen Buffer (Speicher) von 32 Events nach dem FIFO-Prinzip. Er wird über kanaleigene PDO bedient, siehe PDO-Übersicht auf den Inbetriebnahmeseiten.
- Bei Eingängen: der Kanalzustand wird im Mikrozyklus-Takt nach seinem Schaltzustand 0/1 abgefragt und bei festgestellter Änderung in den Buffer gespeichert. Je nach konfiguriertem Multi-Timestamp-Faktor des Kanals (MTSF) wird der Bufferinhalt komplett oder in mehreren Schritten von der Steuerung/PLC über EtherCAT abgeholt.
Das Verhalten bei Buffer-Überlauf kann konfiguriert werden, ein Überlauf des Buffers wird in den Prozessdaten angezeigt. Falls notwendig, kann der Buffer durch die Steuerung geleert werden. - Bei Ausgängen: die Steuerung lädt je nach konfiguriertem MTSF Schaltaufträge in den Buffer. In jedem Mikrozyklus wird überprüft, ob der oberste Eintrag im Buffer auszuführen ist. Das Verhalten bei „veralteten“ Zeitstempeln kann konfiguriert werden. Falls nötig kann der Buffer durch die Steuerung geleert werden.
Hinweis: die aktuelle FW unterstützt einen Buffer von 32 Events. Andere Größen auf Anfrage.
Event
Ein "Event" ist eine wechselnde Signalflanke am Eingang oder Ausgang. Für einen Eingangskanal ist ein Event also der Wechsel des Eingangszustands 0->1 oder 1->0, dieser Wechsel besteht aus den Informationen Zeitstempel des Events und Zustand 0/1 nach der Veränderung.
Für einen Ausgangskanal ist ein Event ein Schaltauftrag, ebenfalls bestehend aus den Informationen Zeitstempel des Events und Zustand 0/1 nach der gewünschten Veränderung.
Timestamp
Originär hat die EtherCAT-Distributed-Clocks-Zeit folgende Eigenschaften: Startzeitpunkt 1.1.2000 00:00, 64 Bit Umfang mit 1 ns Auflösung (~ 584 Jahre). Um redundante Prozessdaten zu vermeiden, arbeiten die Multi-Timestamp-Klemmen mit reduzierter Zeitstempelbreite von 32 Bit (~ 4,29 sek.). Somit können Schaltaufträge bis 4,29 Sekunden in der Zukunft vorgegeben werden – Eingangs-Events sind innerhalb von 4,2 Sekunden zu verarbeiten, da sonst ein Überlauf eintritt und der tatsächlich erfasste Zeitpunkt nicht mehr gesichert ist. Es wird im Rahmen dieser Dokumentation auch ein Funktionsblock (FB) bereitgestellt, der in der PLC das Auffüllen von 32-Bit-Eingangszeitstempeln auf die aktuell gültigen 64 Bit durchführt.
MTSF
Multi-TimeStamp-Faktor, derzeit 1..10, höhere auf Anfrage
In der Konfiguration kann jeder Kanal auf eine feste, maximal je EtherCAT-Zyklus übertragbare Anzahl von Events konfiguriert werden. D.h., je Zyklus können maximal genauso viele Events (Schaltaufträge bei Ausgängen oder Events bei Eingangsklemmen) mit der Steuerung/PLC ausgetauscht werden. Diese Prozessdaten sind als Platzhalter zu verstehen, die nicht alle jederzeit zu füllen sind. Das bedeutet für
- Eingänge:
Der Kanal legt so viele Eingangsevents in die Prozessdaten zur Steuerung wie im letzten Zyklus am Eingang ankamen ODER noch im Buffer liegen. - Ausgänge:
Es werden die von der Steuerung vorgegebenen Events in den Kanalbuffer transferiert, dieser wird dann als FIFO abgearbeitet.
Makrozyklus
Die Klemme benötigt eine gewisse Zeit für die interne zyklische Abarbeitung der Abläufe. Je nach Anzahl der aktiven Kanäle und konfigurierten MTSF ergibt sich für die Klemme eine interne Verarbeitungszeit im Bereich von einigen 100 µs, siehe folgende Tabelle.
Diese je nach Konfiguration tatsächlich resultierende Makrozykluszeit kann aus dem CoE 0xF900:08 online ausgelesen werden.
Diese Zeit ist als absolute Untergrenze für die EtherCAT-Kommunikation zu betrachten. Die auf diese Klemme angewendete EtherCAT-Task-Zykluszeit sollte je nach Performance des Systems durchaus 10..20 % höher gewählt werden. Die in der folgenden Tabelle angegebenen Makrozykluszeiten sind empirisch ermittelt und als Richtwerte zu verstehen. Die tatsächlich an der Anlage auftretende Makrozykluszeit sollte bei der Inbetriebnahme im o.a. CoE-Objekt kontrolliert werden.
EL1258 Makrozyklus [µs, typisch] |
MTSF 1 |
MTSF 2 |
MTSF 5 |
MTSF 10 |
---|---|---|---|---|
1 Kanal |
130 |
140 |
160 |
170 |
2 Kanäle |
130 |
140 |
160 |
170 |
4 Kanäle |
130 |
140 |
170 |
200 |
8 Kanäle |
130 |
160 |
190 |
290 |
EL1259 Makrozyklus [µs, typisch] |
MTSF 1 |
MTSF 2 |
MTSF 5 |
MTSF 10 |
---|---|---|---|---|
1 In / 1 Out Kanal |
160 |
160 |
170 |
180 |
2 In / 2 Out Kanäle |
170 |
190 |
210 |
270 |
4 In / 4 Out Kanäle |
180 |
230 |
260 |
360 |
8 In / 8 Out Kanäle |
240 |
320 |
360 |
540 |
EL2258 Makrozyklus [µs, typisch] |
MTSF 1 |
MTSF 2 |
MTSF 5 |
MTSF 10 |
---|---|---|---|---|
1 Kanal |
90 |
90 |
100 |
120 |
2 Kanäle |
90 |
90 |
100 |
120 |
4 Kanäle |
140 |
150 |
180 |
230 |
8 Kanäle |
150 |
170 |
210 |
290 |
Zeitangaben für andere Konfigurationen sind am besten über xF900:08 zu ermitteln.
Mikrozyklus
Der Mikrozyklus ist der interne konstante Takt der Klemme, in dem die Abtastung der Eingänge bzw. die Prüfung der Schaltaufträge für Ausgänge erfolgt. Dieser Wert ist von der Anzahl der aktiven Kanäle, aber nicht vom MTSF-Wert abhängig. Die entsprechenden Werte sind in der folgenden Tabelle zu entnehmen.
Die Distributed-Clock-Uhr in der Klemme wird über EtherCAT auf die übliche Genauigkeit von <<1 µs geregelt. Durch den internen Verarbeitungstakt des Mikrozyklus ergibt sich aber die u.a. Vergröberung der tatsächlich mit den Multi-Timestamp-Klemmen realisierbaren Zeitauflösung.
Die je nach Konfiguration tatsächlich resultierende Mikrozykluszeit kann aus dem CoE 0xF900:09 online ausgelesen werden.
Für den zeitlichen Ablauf gilt:
- Für Eingänge: eine Schaltflanke, die zu einem beliebigen Zeitpunkt von außen an einem Eingangskanal ankommt, wird zum nächsten Mikrozyklus erfasst und in den Buffer gelegt, die Zeit-Ungenauigkeit für die Erfassung beträgt also ca. -x/+0 µs (mit x=Mikrozykluszeit).
- Für Ausgänge: ein Schaltauftrag wird in einem Mikrozyklus zur Ausführung gebracht, wenn er in diesem Mikrozyklus erstmalig "nach" der Ausführungszeit liegt. Dann wird er umgehend aus dem Buffer gelöscht.
EL1258 |
Mikrozykluszeit [µs, typisch] |
---|---|
1 Kanal |
7 |
2 Kanäle |
10 |
4 Kanäle |
14 |
8 Kanäle |
23 |
EL1259 |
Mikrozykluszeit [µs, typisch] |
---|---|
1 Kanal |
10 |
2 Kanäle |
14 |
4 Kanäle |
22 |
8 Kanäle |
39 |
EL2258 |
Mikrozykluszeit [µs, typisch] |
---|---|
1 Kanal |
7 |
2 Kanäle |
9 |
4 Kanäle |
13 |
8 Kanäle |
21 |
Zeitangaben für andere Konfigurationen sind am besten über 0xF900:09 zu ermitteln.