# eds-Dateien in TwinCAT 3 und CoDeSys



## clumsi (14 April 2019)

Moin!

In CoDeSys kenne ich es so, dass ich CANopen-Gerätebeschreibungsdateien (*.eds) installieren, und dann Geräte hinzufügen kann. Auch WAGO-Buskoppler oder bspw. Eaton SmartWire-DT Gateways kann ich hinzufügen und an diese Koppler dann jeweils Busklemmen oder SmartWire-Teilnehmer einfügen. Die Prozessdaten lassen sich dann direkt mappen.
CoDeSys kann also anhand der *.eds-Dateien die Busklemmen und SmartWire-Teilnehmer an das jeweilige CANopen-Gerät (Buskoppler oder Gateway) anfügen und mappen.

Bei TwinCAT 3 scheint sich die *.eds-Unterstützung ausschließlich auf das Anlegen von PDOs zu beschränken (Rechtsklick auf den Slave und "Load PDOs from EDS file..."). D.h. wenn ich WAGO-Busklemmen oder Eaton-SmartWire-Teilnehmer einfügen will, muss ich die PDOs selbst anlegen? Es wird noch nicht mal wie in CoDeSys der CANopen-Slave-Name oder andere Infos aus der *.eds-Datei übernommen. Oder übersehe ich hier irgendwo eine Funktion?

Für "einfache" CANopen-Geräte ist das ja vielleicht noch ok, aber wenn ich beim Anlegen eines Buskopplers für jede einzelne Busklemme das PDO-Mapping machen muss, ist das ja nicht so komfortabel.....

Viele Grüße und einen schönen Sonntag! :wink:


----------



## Guga (14 April 2019)

Es kommt auf die Definition in der *.eds an. Es kann auch mehr als die PDOs selber in TwinCAT erstellt werden. Ist aber häufig so wie von dir beschrieben.

Aber....
Die Konfiguration von CAN in CoDeSys ist sehr viel angenehmer (graphisch) als das händisch in TwinCAT zu machen. Und dann braucht es etwas CAN-Wissen um z.B. die StartUP-PDOs zu definieren...


Konkret zu deiner Frage: Du übersiehst leider nichts.

Guga


----------



## clumsi (14 April 2019)

Guga schrieb:


> Es kommt auf die Definition in der *.eds an.


Habe in CoDeSys und TwinCAT jeweils die gleiche *.eds ausprobiert. CoDeSys "kennt" dadurch alle ansteckbaren Busklemmen oder SWD-Teilnehmer, TwinCAT nicht.

Fazit also: Ich muss das komplette PDO-Mapping in TwinCAT händisch machen? Und das geht auch nur über SDO-Einträge. Die vordefinierten lassen sich nicht mal ändern, sodass ich generell alle SDO händisch einbauen muss und dann bspw. in SDO Index 0x1400 (RxPDO Parameter) die entsprechenden Einträge (bspw. Index 0x6200 sub1, Index 0x6200 sub2, etc. anlegen muss). Und nach dem PDO-Mapping muss ich dann zusätzlich noch das PDO mit Variablen zum mappen versehen.

Da wäre TwinCAT dem CoDeSys ja meilenweit hinterher...... Weiß jemand, ob Beckhoff dran ist, hier auch mal nachzurüsten? Momentan lässt mich das etwas überlegen, ob eine CANopen-Masterklemme im EtherCAT-System überhaupt das richtige ist. Es wird zwar immer schön eine offene und universelle Schnittstelle zu vielen Bussystemen beworben, aber wenn die Software da nicht hinterherkommt, bringt das m.E. relativ wenig......


----------



## StructuredTrash (14 April 2019)

Offenheit und Unterstützung sind zwei verschiedene Paar Schuhe. Ich glaube nicht, dass sich da noch Wesentliches tun wird. Im Gegensatz zu Codesys ist es Beckhoff eben nicht gleichgültig, welche I/O-Komponenten Du einsetzt. Das sollten dann auch schon die mit dem roten Schriftzug sein.


----------



## Guga (14 April 2019)

TwinCAT nimmt nur die vordefinierte PDOs und ignoriert den Rest. 
Ja- und CoDeSys hat hier mehr Aufwand in den Configurator reingesteckt. Aber es ist möglich alles zu machen.
Und ich glaube nicht das hier Beckhoff seitig noch etwas passiert. CAN ist zwar nett und hübsch - aber meiner Meinung ist es nur noch deshalb am Markt weil es billig ist.
Wenn ich mir überlege wie viele Stunden ich schon mit ungenügender Slave-Doku verbracht habe um dann herauszufinden was man nun parametrieren muss... 
Es gibt ja auch unheimlich viele Geräte ohne *.eds -Datei.
Und das schöne an den EL6xxx-Klemmen ist halt das du deinen Controller einfach tauschen kannst ohne zu überlegen ob der ISA oder PCI oder ??? Slot hier noch da ist.


Guga


----------



## Geisterkarle (7 Oktober 2021)

Hallo Zusammen,
ich belebe mal kurz dieses Thema neu...
Denn ich hab noch nie mit CAN-Bus zu tun gehabt und muss jetzt einen Teilnehmer in TC3 einbinden.
Wenn ich da also im Knoten eine EDS-Datei einbinde habe ich halt zwei TxPDO und RxPDO die... leer sind!? Aber steht ja hier, dass man anscheinend alles zu Fuß machen muss...
Ich hab ein Handbuch vom Teilnehmer, da ist eine Liste drin, die sieht nach so CoE-Online oder so aus... Und bei einigen steht im Kommentar(!) was wie "TPDO1; Byte2" 
Muss ich danach also jetzt in den entsprechenden Eingangsknoten da "Variablen" einfügen? Und die Startadresse wäre aus diesem dann "1" (es wird irgendwie nie Byte 0 erwähnt...) 
Bin hier gerade irgendwie überfordert, was ich überhaupt tun muss... gibt es da irgendwie ne Beschreibung?
Anbei so nen Ausschnitt von dem, was ich in der Anleitung hab. 

Würde mich über Tipps freuen! Danke!

grüßle


----------

