Betriebsarten und Prozessdaten

Versionshinweise

Die einkanalige EL60x1 kann auf eine langjährige Modellpflege zurückblicken. Durch Weiterentwicklung der EL6001/EL6021 sind folgende Funktionserweiterungen realisiert worden:

Eine EL6001/EL6021 in jeweils älterer Ausführung unterstützt diese Funktionalität nicht!

ab FW/HW

ESI

Bereich Control/Status-/ Parametrierobjekte

EL6001 01/01

EL6021 01/01 

ab EL6001-0000-0000
ab EL6021-0000-0000

Index 0x300n:01 (Control-Word)
Index 0x310n:01 (Status-Word)
Index 0x4070 (Data bytes in send buffer)
Index 0x4071 (Data bytes in receive buffer)
Index 0x4072 (Diagnosis)

Index 0x4073 (Baudrate)
Index 0x4074 (Data frame)
Index 0x4075 (Feature bits)

EL6001 05/03

EL6021 04/03

ab EL6001-0000-0016
ab EL6021-0000-0016

zusätzlich zu den oben beschriebenen Objekten:

Index 0x6000 (COM inputs)
Index 0x7000 (COM outputs)
Index 0xA000 (COM Diag data)

Index 0x8000 (COM settings)

EL6021 06/03

ab EL6021-0000-0018

zusätzlich zu den oben beschriebenen Objekten:

Index 0xB000 (Command)

EL6001 08/03

ab EL6001-0000-0019

zusätzlich zu den oben beschriebenen Objekten:

Objekte für 16-Bit-PDO

EL6001 11/11

Ab EL6001-0000-0020

Alle Baudraten 1000 … 115200 über explicitBaudrate implementiert

Die EL6002/EL6022 verfügen bereits ab Erst-Release mit Revision -0016 die Objekte im 6000er, 7000er und 8000er Bereich.

Betriebsarten und Prozessdaten 1:

Kompatibilität im Servicefall

Beispiel: Eine ab Hardware 03 eingesetzte und projektierte EL6001/EL6021 kann nicht durch eine EL6001/EL6021mit älterem Hardwarestand (< 03) ausgetauscht werden! Der umgekehrte Fall ist problemlos realisierbar!

Betriebsarten und Prozessdaten 2:

Überwachung der Prozessdaten

    • WcState: wenn ≠ 0, dann nimmt dieser EtherCAT Teilnehmer nicht am Prozessdatenverkehr teil
    • State: wenn ≠ 8, dann ist der EtherCAT Teilnehmer nicht im OP (Operational) Status
    • TxPDO State, SyncError: wenn ≠ 0, dann liegen keine gültigen Prozessdaten vor, z. B. durch Drahtbruch
    • TxPDO Toggle: wenn dieses Bit toggelt, liegt ein neuer Satz Prozessdaten vor

    StartUp-Einträge (Hardwarestand < 03)

    Betriebsarten und Prozessdaten 3:

    StartUp-Listeneintrag

    Bei der EL6001/EL6021 mit Hardwarestand < 03 können die StartUp-Einträge nur im Übergang SafeOP -> OP gesetzt werden (S -> O). Die Default Einstellung ist PreOP -> SafeOP (P -> S). Stellen sie bei der Erstellung von StartUp-Einträgen sicher, dass die Checkbox "S -> O" angehakt ist (siehe Abb.)!

    Betriebsarten und Prozessdaten 4:
    StartUp-Eintrag mit Übergang S -> O

    Prozessdaten

    Im Auslieferungszustand werden 22 Byte Nutzdaten und 1 Control/Status-Wort übertragen.

    Die Prozessdaten werden aus den CoE-Objekten 0x6000 (Inputs) und 0x7000 (Outputs) generiert und sind im Kapitel Objektbeschreibung und Parametrierung im Einzelnen dargestellt.

    Vergrößertes Prozessabbild 50x 16-Bit

    Für die Kommunikation mit > 8 Datenbits ist ein vergrößertes Prozessdateninterface nötig. Falls die Klemme dies unterstützt (siehe Kommunikationseigenschaften) kann alternativ zum 22-Byte-Interface ein 50-Word-Interface eingestellt werden (PDOs 0x1605 und 0x1A05). Dies kann mit jeder Codierungsvorschrift (7xx, 8xx) benutzt werden, macht aber nur mit einer Vorschrift > 8 bits Sinn, z. B. 9N1. In jedem Fall sind die unteren Bits mit den Datenbits zu belegen, bei 9N1 also die unteren 9 Bits in den Datenwörtern.

    Prozessdaten der EL60x2 ab Revision -0016

    EL60x2 ab Revision -0016

    Sync Manager (SM) - PDO-Zuordnung

    SM2, PDO-Zuordnung 0x1C12

    Index

    Index ausgeschlossener PDOs

    Größe (Byte.Bit)

    Name

    PDO Inhalt

    0x1600

    -

    24.0

    COM Outputs Channel1

    Index 0x7000:01 - Ctrl__Transmit request

    Index 0x7000:02 - Ctrl__Receive accepted

    Index 0x7000:03 - Ctrl__Init request

    Index 0x7000:04 - Ctrl__Send continous

    Index 0x7000:09 - Ctrl__Output length

    Index 0x7000:11 - Data out 0

    --

    Index 0x7000:26

    0x1601

    -

    24.0

    COM Outputs Channel2
     

    Index 0x7010:01

    Index 0x7010:02

    Index 0x7010:03

    Index 0x7010:04

    Index 0x7010:09

    Index 0x7010:11

    --

    Index 0x7010:26

    0x1604 (default)

    -

    24.0

    COM Outputs Channel1

    Index 0x7001:01 - Ctrl

    Index 0x7000:11 - Data out 0

    --

    Index 0x7000:26

    0x1605 (default)

    -

    24.0

    COM Outputs Channel2

    Index 0x7011:01 - Ctrl

    Index 0x7010:11 - Data out 0

    --

    Index 0x7010:26

    SM3, PDO-Zuordnung 0x1C13

    Index

    Index ausgeschlossener PDOs

    Größe (Byte.Bit)

    Name

    PDO Inhalt

    0x1A00

    -

    24.0

    COM Inputs Channel1
     

    Index 0x6000:01 - Status__Transmit accepted

    Index 0x6000:02 - Status__Receive request

    Index 0x6000:03 - Status__Init accepted

    Index 0x6000:04 - Status__Buffer full

    Index 0x6000:05 - Status__Input length

    Index 0x6000:06 - Status__Framing error

    Index 0x6000:07 - Status__Overrun error

    Index 0x6000:09 - Status__Input length

    Index 0x6000:11 - Data in 0

    --

    Index 0x6000:26

    0x1A01

    -

    24.0

    COM Inputs Channel2

    Index 0x6010:01

    Index 0x6010:02

    Index 0x6010:03

    Index 0x6010:04 - Status__Buffer full

    Index 0x6010:05

    Index 0x6010:06

    Index 0x6010:07

    Index 0x6010:09

    Index 0x6010:11

    --

    Index 0x6010:26

    0x1A04 (default)

    -

    24.0

    COM Inputs Channel1
     

    Index 0x6001:01

    Index 0x6000:11

    --

    Index 0x6000:26

    0x1A05 (default)

    -

    24.0

    COM Inputs Channel2

    Index 0x6011:01

    Index 0x6010:11

    --

    Index 0x6010:26

    Features und Anwendungshinweise

    Fallweise vorhandene Features werden im Allgemeinen im CoE-Verzeichnis (CAN over EtherCAT, Index 0x80n0) eingestellt.

    Betriebsarten und Prozessdaten 5:

    Parametrierung über das CoE-Verzeichnis (CAN over EtherCAT)

    Beachten Sie bei Verwendung/Manipulation der CoE-Parameter die allgemeinen CoE-Hinweise: - StartUp-Liste führen für den Austauschfall - Unterscheidung zwischen Online/Offline Dictionary, Vorhandensein aktueller XML-Beschreibung - "CoE-Reload" zum Zurücksetzen der Veränderungen. Im Besonderen ist bei den EL60xx zu beachten, dass nach Veränderung von Kommunikationseigenschaften (Baudrate, Dataframe, Feature Bits) ein InitRequest über das Control Wort erforderlich ist, um die Änderungen zu übernehmen.

    Folgende CoE-Einstellungen aus dem Objekt 0x8000 sind möglich und hier in den Default-Einstellungen wiedergegeben:

    Betriebsarten und Prozessdaten 6:
    Reiter "CoE - Online, Klemmen EL60x2"

    Transferraten

    Die Klemme verfügt über ein Prozessabbild von 22 Byte Nutzdaten. Es ist maximal jeden zweiten Zyklus möglich, diese 22 Byte zu versenden oder zu empfangen.
    Im ersten Zyklus werden die Daten von der Klemme an die Steuerung übertragen. Im zweiten Zyklus muss die Steuerung quittieren, dass sie die Daten übernommen hat.
    Bei einer Zykluszeit von 10 ms lassen sich also pro Sekunde 50 mal 22 Byte übertragen.

    Bei einem eingestellten Data frame von 8N1 setzt sich jedes gesendete Byte wie aus einem Startbit, acht Datenbits und einem Stoppbit zusammen. Dies entspricht 10 Bit pro Nutzbyte.

    Mit den oben erwähnen Einstellungen lässt sich demnach eine kontinuierliche Datentransferrate von:
     •    50[1/s]*22[Byte]*10[Bit] = 11000 bps
    erzielen.

    Die nächst niedrigere Baudrate ist 9600 Baud. Bei einer Zykluszeit von 10 ms lässt sich demnach eine kontinuierliche Übertragung mit maximal 9600 Baud sicherstellen.

    Ab FW11 werden durch CoE 0x8000:1B explicitBaudrate alle Baudraten von 1000…115200 Baud unterstützt. Bei der Wahl der Baudrate ist die Kompatibilität der Gegenstelle zur eingestellten Baudrate zu berücksichtigen.

    Sollten nur sporadisch geringe Datenmengen gesendet oder empfangen werden (z. B. Barcodescanner) kann die Baudrate auch größer eingestellt werden, bzw. die Zykluszeit vergrößert werden.
    Falls die Steuerung die Daten nicht schnell genug von der Klemme abholen kann, werden dies im internen Puffer der Klemme zwischengespeichert. Der Puffer für Empfangsdaten hat eine Größe von 864 Byte. Sollte dieser erschöpft sein gehen alle weiteren Daten verloren.

    Ein weiteres Szenario wäre, dass die Steuerung deutlich mehr Daten zur Klemme überträgt, als diese senden kann. Bei einer eingestellten "Baudrate" von 300 und einem "Data Frame" von 8N1 kann die Klemme nur 30 Byte pro Sekunde senden. Sollten jedoch mehr als diese 30 Byte pro Sekunde eingehen wird auch hier zuerst ein 128 Byte großer Sendepuffer beschrieben. Nachdem dieser gefüllt ist, gehen alle weiteren Daten verloren.

    Transferraten Optimierung: Automatische Zusammenfassung von Empfangsdaten

    Bei der seriellen Kommunikation wird ein Datensatz in der Regel als zusammenhängender Byte-Strom versendet. Zwischen zwei Datensätzen gibt es eine Pause. Anhand der Pausen kann die Klemme erkennen, wann ein Datensatz anfängt und wann er endet. So kann sie die Bytes eines Datensatzes zusammenfassen und zusammenhängend an die Steuerung weitergeben.

    Funktionsweise: Mehrere Bytes, die kurz nacheinander empfangen werden, werden zunächst im Empfangspuffer gesammelt. Wenn nach einem Byte eine Pause erkannt wird (oder der Puffer voll ist), werden die gesammelten Empfangsdaten aus dem Empfangspuffer in das Prozessabbild übertragen. Das Bit „Receive Request“ wird invertiert, um anzuzeigen, dass neue Empfangsdaten vorhanden sind.

    Aktivieren / Deaktivieren

    Die automatische Zusammenfassung von Empfangsdaten ist in der Werkseinstellung im CoE-Objekt 0x80n0:05 „Enable transfer rate optimization“ aktiviert. Es kann sinnvoll sein, sie zu deaktivieren, wenn die Daten, die ein Endgerät sendet, möglichst schnell in der Steuerung empfangen werden sollen. Oder wenn das Endgerät kontinuierlich ohne Pausen sendet. Wenn die automatische Zusammenfassung von Empfangsdaten deaktiviert ist, wird jedes empfangene Byte sofort in das Prozessabbild übertragen.

    Einstellbare Länge der Pause zwischen zwei Datensätzen

    Hinweis: Diese Funktion ist verfügbar in

    Um die Standard-Zeit für die Transferratenoptimierung zu ändern, ist in das CoE-Objekt 0xB000:01 in das Hi-Byte 0x24 und in das Low-Byte die Wartezeit in Bitzeiten 1...254 einzutragen

    Beispiel: 0x10 (16dez) für eine Wartezeit von 16 Bit-Zeiten:

    Betriebsarten und Prozessdaten 7:
    Beispiel:zur Einstellung der Wartezeit von 16 Bit-Zeiten

    Bei 115,2 kBaud entspricht dies dann 139 µs: (1/115200 [Bit/s]) * 16 [Bit]. Nach einer Lücke von dieser Länge werden die Daten automatisch in das Prozessabbild kopiert.

    Kontinuierliches Senden von Daten

    Normalerweise entscheidet die Klemme EL60xx eigenständig, wann sie die im Puffer befindlichen Datenbytes versendet. Für viele Anwendungen ist ein kontinuierlicher Datenstrom hilfreich. Zu diesem Zweck verfügen die Beckhoff EL60xx Klemmen über die Einstellung "Enable send FIFO data continuous" im Settings-Objekt. Wird dieser Schalter gesetzt

    Durch diese Einstellung ist es möglich, auch bei langsamen EtherCAT-Zykluszeiten und gleichzeitig hoher Baudrate bis zu 128 Byte ohne lange Wartezeiten zu übertragen.

    Die Klemme versucht dabei, so wenig Abstand wie möglich zwischen die Telegramme zu lassen und auf ein Stopbit sofort wieder nahtlos das nächste Startbit anzuschließen. Trotzdem kann es gerade bei hohen Baudraten und 2-kanaligem Betrieb zu kurzen Pausen zwischen Telegrammen kommen. Ein 20-Byte-Datenblock kann so beispielsweise in zwei Blöcke zu 5 und 15 oder 7 und 13 Telegramme oder anderer Aufteilung gesendet werden. Kanal 1 ist bei 2-kanaliger Klemme priorisiert.

    Priorisierung

    Da Empfangsdaten i. d. R. nicht wiederholt werden können, haben diese einer höheren Priorität als zu sendende Daten.
    Weiterhin sinkt auch hier die Priorität mit steigender Kanalnummer. Die höchste Priorität hat somit der Empfang von Daten auf Kanal 1.

    Kommando-Modus

    Die EL6021 unterstützt ab Firmware 06 / Revision -0018 den so genannten Kommando-Modus. Durch eine wahlfreie Kombination bzw. Abfolge von Kommandos können bestimmte Funktionen der Klemme genutzt bzw. gesteuert werden. Aktuell werden dabei folgende Funktionen unterstützt:

    Beispiele für die Datenübertragung

    Initialisierung

    Vor dem ersten Senden/Empfangen wird die Initialisierung durchgeführt. Dabei wird die Klemme mit den Daten des entsprechenden Settings-Objektes parametriert.

    Hinweis: x80n0:01 „Enable RTS/CTS“ ist default TRUE, die Firmware erwartet hier Signale. Wenn diese Leitungen nicht belegt sind, ist diese Einstellung für dieses Beispiel auf FALSE zu setzen.

    Vorgehensweise:

    1. "Init request" auf 1 setzen
    2. Die erfolgreiche Initialisierung wird von der Klemme durch das Setzen von "Init accepted" bestätigt.
    3. "Init request" zurücksetzen
    4. Die Klemme setzt "Init accepted" auf 0

    Die Klemme ist nun zum Datenaustausch bereit.

    Datenübertragung von der Steuerung zur Klemme (2 Zeichen senden)

    1. "Output length" auf 2 setzen
    2. "Data Out 0" und "Data Out 1" mit Nutzdaten füllen
    3. Den Zustand von "Transmit request" umschalten
    4. Die Klemme quittiert die Entgegennahme mit einer Zustandsänderung des "Transmit accepted" Bits

    Datenübertragung von der Klemme zur Steuerung (Zeichen empfangen)

    1. Die Klemme zeigt durch die Zustandsänderung des "Receive request" Bits an, dass sich neue Daten im Prozessabbild befinden.
    2. Die Anzahl der empfangenen Bytes wird in "Input length" abgelegt
    3. Die Steuerung quittiert mit einer Zustandsänderung von "Receive request" die Übernahme der Bytes