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?
Nunja, da die Controller keinen RJ45-Anschluss aufm Gehäuse haben, braucht es schon noch etwas dazwischen. Einschließlich einem Netzwerkkabel.
Die EtherCAT Klemmen haben zwei Ethernetports, das ist eine Ringstruktur.
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
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.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.