Datenübertragung zwischen Controllern mittels Ethercat

#7069815
Lesenswert?

Hallo zusammen,

um Daten zwischen zwei Controllern zu übertragen plane ich den 
Industriebus Ethercat einzusetzen. Benutzt werden zwei STM32H7 
Controller mit Ethernetport. Ist es richtig, dass ich lediglich die 
nötige Sofware auf die Controller spielen muss und keine weitere 
Hardware benötige?
Gast #7069846
Lesenswert?

Für die Datenübertragung benötigst du auf jeder Seite eine 
ETH-Schnittstelle. @JS: Die Ringstruktur ist optional, wenn eine höhere 
Ausfallsicherheit gefragt ist.

Wenn du darauf, aus welchen Gründen auch immer, EtherCAT fahren willst, 
muss einer der beiden Teilnehmer der EtherCAT Master sein, der andere 
Slave. Hast du einigermaßen harte Echtzeit-Anforderungen, oder warum tut 
es keine normale TCP-Verbindung?

Gruß
Tom
Gast #7069909
Lesenswert?

We D. schrieb:
> Hallo zusammen,
>
> um Daten zwischen zwei Controllern zu übertragen plane ich den
> Industriebus Ethercat einzusetzen. Benutzt werden zwei STM32H7
> Controller mit Ethernetport. Ist es richtig, dass ich lediglich die
> nötige Sofware auf die Controller spielen muss und keine weitere
> Hardware benötige?

Das Denke ich nicht.

EtherCAT-Master wird sich ohne extra Hardware mit "normalem" Ethernet 
realisieren lassen, am Slave wird man aber einen eigenen EtherCat-Chip 
brauchen, da dort die Ethernet-Frames durchgeschleift werden und im 
Durchlauf modifiziert werden (müssen).

Wenn man nur 2 Controller hat die direkt full-duplex verbunden sind und 
direkt bzw- exklusiv aufs Ethernet zugreifen kann dann kann man auch mit 
"normalem" Ethernet in Software ein Protokoll bauen welches niedrigen 
Jitter / hohe Bandbreite etc.. hat.
#7069920
Lesenswert?

EtherCAT ist zwar mit Ethernet kompatibel, ein EtherCAT-Konten 
funktioniert aber schon anders als normale Netzwerkhardware. Noch 
während ein Frame empfangen wird, wird er schon auf der anderen Seite 
weitergesendet.

Ich weiß nicht genau warum du genau EtherCAT verwenden willst, aber ich 
würde einen Blick auf EtherCAT/UDP werfen. Das gewöhnliche UDP-Pakete 
mit EtherCAT-Header, die in TwinCAT empfangen werden können. Sind auch 
recht einfach mit LwIP zu implementieren.
Falls es "echtes" EtherCAT sein muss, kommst du um dedizierte Hardware 
(eine Übersicht findest du hier: 
https://www.ethercat.org/download/documents/ESC_Overview.pdf ) nicht 
herum.
Moderator (Firma: Titel) Persönliche Seite #7070427
Lesenswert?

We D. schrieb:
> um Daten zwischen zwei Controllern zu übertragen plane ich den
> Industriebus Ethercat einzusetzen.
Einer der beiden Controller muss dabei der Master sein und der zweite 
der Slave.

> Benutzt werden zwei STM32H7 Controller mit Ethernetport.
> Ist es richtig, dass ich lediglich die nötige Sofware auf die Controller
> spielen muss und keine weitere Hardware benötige?
Du musst die richtige Hardware haben.
Mit den "normalen" Ethernet-Ports der STM32H7 kannst du 2 EtherCAT 
Master aufbauen. Du brauchst aber einen Master und einen Slave, und den 
Slave kannst du z.B. mit einem zusätzlichen ASIC namens EtherCAT Slave 
Controller "ESC" (Stichwort ET11 und ET1200 o.ä.) aufbauen. Oder aber du 
nimmst einen AX58400, der hat einen ESC und einen STM32H755 im selben 
Gehäuse:
https://www.st.com/en/partner-products-and-services/ax58400-ethercat-slave-controller-with-dual-core-mcu.html

Allerdings solltest du unbedingt eine Grundlagenschulung zum EtherCAT 
machen, denn für eine allgemeine "Datenübertragung" ist der ungünstig. 
Es ist ein Feldbus, der Prozessabbilder laufend von EA-Konten abholt und 
neue Daten dorthin schickt.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren