EtherCAT State Machine

Die EL6751 kann auf verschiedene Weisen konfiguriert werden:

1. Konfiguration der EL6751 mit StartUp-SDOs: Hierbei werden die StartUp-SDOs im EtherCAT Konfigurator berechnet und an den EtherCAT Master übergeben wie es z. B. im TwinCAT System Manager durchgeführt wird.

2. Konfiguration der EL6751 mit Scannen des CAN-Busses: Hierbei wird die EL6751 aufgefordert, den CAN-Bus zu scannen und die gefundene CANopen-Konfiguration in den InfoData-Objekten abzulegen.

3. Konfiguration der EL6751 mit Backup Parameter Storage: Hierbei wird die Konfiguration der CANopen-Slaves im Flash der EL6751 gespeichert und muss nur einmalig übertragen werden.

Konfiguration der EL6751 mit StartUp-SDOs

Das folgende Flussdiagramm zeigt den Ablauf der Konfiguration der EL6751 mit Start-SDOs:

EtherCAT State Machine 1:
Flussdiagramm der EL6751 mit Start-SDOs

Nach einem Power-On befindet sich die EL6751 im Zustand INIT und besitzt keine CANopen-Konfiguration. Der CAN-Controller ist im Zustand OFFLINE.

CAN Busparameter

Im Zustand PREOP wird die CANopen-Konfiguration per SDO-Download durchgeführt. Die zu ladenden Objekte müssen entweder mit Complete-Access oder mit der Konsistenzklammerung (erst Subindex 0 auf 0 setzen, dann Subindex 1-n schreiben, dann Subindex 0 auf n setzen) übertragen werden. Dabei ist zu beachten, dass immer mit dem Objekt 0xF800 begonnen wird. Nach dem Empfang des Objekts 0xF800 schaltet die EL6751 den CAN-Controller mit der entsprechenden Baudrate aus 0xF800:02 nach ONLINE.

CANopen Slave Konfiguration

Nach dem Objekt 0xF800 müssen je zu konfigurierendem CANopen-Slave die Objekte 0x8yy0, 0x8yy6 (falls der CANopen-Slave über CAN-TxPDOs verfügt), 0x8yy8 (falls der CANopen-Slave über CAN-RxPDOs verfügt) und 0x8yy3 (falls zu dem CANopen-Slave anwendungsspezifische StartUp-SDOs vor dem Senden des CAN-Start Node-Kommandos gesendet werden sollen) in dieser Reihenfolge übertragen werden. Je zu konfigurierendem CANopen-Slave ist yy zu inkrementieren (beginnend bei 0).

PDO Mapping

Je konfiguriertem CANopen Slave gibt es eine EtherCAT RxPDO (falls der CANopen-Slave über CAN-RxPDOs verfügt) und eine EtherCAT TxPDO (falls der CANopen Slave über CAN TxPDOs verfügt). Das PDO-Mapping der EtherCAT PDOs wird von der EL6751 nach dem Download der jeweiligen 0x8yyz-Objekte automatisch berechnet und kann ausgelesen werden. Dabei gehören die PDO-Mappingobjekte 0x16yy und 0x1Ayy zu den Konfigurationsobjekten 0x8yyz. Die PDO-Mappingobjekte können nur mit den Werten beschrieben werden, die die EL6751 selbst berechnet hat. Das Schreiben des PDO-Mappings dient also nur zum Überprüfen des vom EtherCAT-Konfigurator berechneten PDO-Mappings und kann daher weggelassen werden.

PDO Assign

Zusätzlich gibt es noch einige EtherCAT PDOs die Control, Status und Diagnoseinformationen enthalten. Die Auswahl dieser PDOs erfolgt über das PDO-Assign. Dabei ist zu beachten, dass immer alle EtherCAT-PDOs, die den konfigurierten CANopen-Slaves zugeordnet sind (PDO-Nummer <= 128), im PDO-Assign auftauchen. Bei der Reihenfolge der PDOs im PDO-Assign ist zu beachten, dass mit jedem Entry im entsprechenden PDO-Assign-Objekt der Index der zugeordneten EtherCAT-PDO steigt. Wenn der EtherCAT Master kein PDO-Assign in den StartUp-SDOs überträgt, werden die PDOs 0x1A83 und 0x1A85 für Status und Diagnose zugeordnet.

Zyklische CANopen Kommunikation

Beim Übergang nach SAFEOP überprüft die EL6751 die in den Sync-Manager Kanälen 2 und 3 konfigurierte Länge mit der berechneten Länge aus PDO-Mapping und PDO-Assign. Der Zustand SAFEOP wird nur eingenommen, wenn diese Längen übereinstimmen. Im Zustand SAFEOP startet die EL6751 den BootUp der konfigurierten CANopen Slaves. Nach dem Übertragen aller CAN-StartUp SDOs wird der jeweilige CANopen-Slave mit der "Start Node"-Message gestartet und die CAN-PDO-Kommunikation ist aktiv. Dabei werden noch alle Ausgänge in den CAN-RxPDOs auf 0 gesetzt. Sobald die EL6751 nach OP geschaltet wurde, werden die Daten aus den EtherCAT Outputs auch in die CAN RxPDOs übernommen.

Konfiguration der EL6751 mit Scannen des CAN-Busses

Das folgende Flussdiagramm zeigt den Ablauf der Konfiguration der EL6751 mit Scannen des CAN-Busses:

EtherCAT State Machine 2:
Flussdiagramm EL6751 mit Scannen des CAN-Busses

Nach einem Power-On befindet sich die EL6751 im Zustand INIT und besitzt keine CANopen-Konfiguration. Der CAN-Controller ist im Zustand OFFLINE.

Scannen des CAN-Busses

Im Zustand PREOP kann das Scannen des CAN-Busses gestartet werden, sofern noch keine CANopen-Konfiguration geladen wurde. Dazu ist der Entry 0xF002:01 mit der gewünschten Baudrate zu beschreiben (SDO Download). Die EL6751 schaltet den CAN-Controller mit der entsprechenden Baudrate nach ONLINE und scannt den CAN-Bus. Durch zyklisches Lesen (SDO Upload) des Entries 0xF002:02 oder 0xF002:03 kann der EtherCAT-Master feststellen, welchen Fortschritt das Scannen des CAN-Busses hat.

Lesen der CANopen Slave Konfiguration

Nach dem Abschluss des Scannens steht die gefundene CANopen Slave Konfiguration in den InfoData Objekten 0x9yy0, 0x9yy8 und 0x9yyA. Über den Entry 0xF002:03 oder das Objekt 0xF040 kann gelesen werden, wie viele CANopen Slaves gefunden wurden. Der EtherCAT Master kann jetzt die InfoData Objekte 0x9yyz lesen, daraus die StartUp-Objekte 0x8yyz generieren und entsprechend der Konfiguration der EL6751 mit StartUp-SDOs fortfahren.

Erzeugen des Backup Parameter Storage

Alternativ zum Lesen der InfoData kann auch durch Beschreiben des Entries 0x1010:01 mit dem Wert 0x65766173 der Backup Parameter Storage erstellt werden. Anschließend ist die EL6751 nach INIT zu schalten und mit Konfiguration

Konfiguration der EL6751 mit Backup Parameter Storage

Das folgende Flussdiagramm zeigt den Ablauf der Konfiguration der EL6751 mit Backup Parameter Storage:

EtherCAT State Machine 3:
Flussdiagramm EL6751 mit Backup Parameter Storage

Nach einem Power-On befindet sich die EL6751 im Zustand INIT und besitzt keine CANopen-Konfiguration. Der CAN-Controller ist im Zustand OFFLINE.

CAN Busparameter / CANopen Slave Konfiguration

Beim Übergang von INIT nach PREOP wird die im Backup Parameter Storage Objekt 0x10F2 gespeicherte Konfiguration geladenen. Da im Backup Parameter Storage Objekt die StartUp-SDOs aus der Konfiguration der EL6751 mit StartUp-SDOs gespeichert sind, entspricht der Ablauf dem dort beschriebenen. Zunächst wird also das Objekt 0xF800 mit den gespeicherten Daten beschrieben und die EL6751 schaltet den CAN-Controller mit der entsprechenden Baudrate aus 0xF800:02 nach ONLINE. Anschließend werden die CANopen-Slaves entsprechend der gespeicherten CANopen Slave Konfiguration erzeugt. Wenn der Zustand PREOP quittiert ist, kann die aktuelle CANopen Konfiguration in den Objekten 0xF800, 0x8yy0, 0x8yy6, 0x8yy8 und 0x8yy3 ausgelesen werden.

PDO Mapping / PDO Assign

Außerdem kann der EtherCAT Master im Zustand PREOP auch das PDO mapping und PDO assign auslesen, um die Längen der EtherCAT process data zu ermitteln.

Erzeugen des Backup Parameter Storage

Das Backup Parameter Storage kann wie folgt erzeugt werden:

1. Download des Objekts 0x10F2 (in PREOP, SAFEOP oder OP): In diesem Fall werden die empfangenen Daten als Backup Parameter Storage im Flash gespeichert

2. Scannen des CAN Busses und anschließendes Beschreiben des Entries 0x1010:01 mit dem Wert 0x65766173: Hierbei erzeugt die EL6751 selbständig aus den InfoData 0x9yy0, 0x9yy8 und 0x9yyA das Backup Parameter Storage und speichert es im Flash.

In beiden Fällen wird nach 5 s ein automatischer Reboot der EL6751 vorgenommen (geht zurück nach INIT mit dem AL-Status Code 0x60). Weiterhin werden alle SDO-Downloads der Objekte 0xF800 oder 0x8yyz abgelehnt.

Löschen des Backup Parameter Storage

Um ein neues Backup Parameter Storage zu laden oder das vorhandene einfach nur zu löschen, ist der Entry 0x1011:01 mit dem Wert 0x64616F6C zu beschreiben.