Forum: Mikrocontroller und Digitale Elektronik Datenübertragung zwischen Controllern mittels Ethercat


von We D. (regler45)


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?

von Sebastian R. (sebastian_r569)


Lesenswert?

Nunja, da die Controller keinen RJ45-Anschluss aufm Gehäuse haben, 
braucht es schon noch etwas dazwischen. Einschließlich einem 
Netzwerkkabel.

von JS (Gast)


Lesenswert?

Die EtherCAT Klemmen haben zwei Ethernetports, das ist eine 
Ringstruktur.

von tom (Gast)


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

von (Gast)


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.

von Stefan H. (cheeco)


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.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.