EtherCAT Distributed Clocks

EtherCAT Distributed Clocks

Prinzip der Distributed Clocks

Bei EtherCAT wird zur Synchronisation der Slaves auf das Prinzip der verteilten Uhren, nachfolgend Distributed Clocks (DC), gesetzt. Hierfür ist es nötig, dass zunächst jeder Slave seine eigene lokale Zeit durch einen eigenen Taktgeber hat. Der erste DC-fähige Slave im Strang wird überlicherweise als Reference Clock gesetzt. Alle anderen Slaves synchronisieren sich von nun an auf diese Reference Clock. Hierfür sendet der Master regelmäßig ein Telegramm, in das der Slave welcher als Reference Clock dient seine Uhrzeit einträgt und alle anderen Slaves diese Uhrzeit auslesen.

„EtherCAT Distributed Clocks“ weiterlesen

EtherCAT Slave Entwicklung

EtherCAT Slave Stack

Bei der Entwicklung eines EtherCAT Slaves steht und fällt das Projekt mit der Wahl des Stacks. Eine mögliche Wahl ist der „Slave Stack Code“ (SSC) von Beckhoff. Dieser erfordert eine ETG-Mitgliedschaft ist ansonsten jedoch kostenfrei. Der „EtherCAT Slave Stack Code“ gilt durch seine langjährige und stetige Entwicklung quasi als Referenz für eine Slave Implementierung.

Entwicklungstools

EtherCAT greift auf Mechanismen von CANopen zurück. So existiert bei der Verwendung des „CAN Application Protocol over EtherCAT“ (CoE) ebenfalls ein Objekt-Verzeichnis, welches sowohl Kommunikations- als auch Hersteller- und Geräte-spezifische Objekte beinhaltet. Die Trennung von Gerätebeschreibung (ESI), EEProm und Applikations-Code erschwert das Erstellen dieses Objektverzeichnis, da das Ändern stets das Risiko der Inkonsistenz dieser Dateien birgt.

Beim Anlegen eines Prozessdaten-Objekts (PDO) muss sichergestellt werden, dass dieses nicht nur im Objektverzeichnis korrekt deklariert ist, sondern ebenfalls in der Gerätebeschreibungsdatei und im EEProm hinzugefügt wird. Da sich durch das Hinzufügen eines Prozessdaten-Objekts die gesamt Prozessdatenlänge ändert, muss auch dieser Wert in allen Dateien korrekt gesetzt werden. Diese Fehlerquelle vervielfacht sich mit jedem Objekt, welches genutzt werden soll.
„EtherCAT Slave Entwicklung“ weiterlesen