Real Time Ethernet

Gast #3601582
Lesenswert?

Hallo,

in meiner Abschlussarbeit soll ich ein Real Time Verbindung von einer 
Controller-Einheit zu einem Roboter aufbauen. Beidseitig wird ein Cortex 
M§ eingesetzt.

Nach meinen Recherchen taugen reines TCP oder UDP nicht für RT. Bleiben 
noch Protokolle wie zum Beispiel Profinet.

Gibt es Alternativen?
Open Source Alternativen?

Ich bin neu in der Thematik. Wie gehe ich am besten vor?

Danke
Spinter
#3601588
Lesenswert?

Ich würde einfach reine Ethernet-Frames senden und empfangen. Das 
Protokoll oben drauf machst du selbst. Damit hast du eine gute Kontrolle 
über die Timings.
Ob du wirklich ein bereits existierendes Protokoll (wie Profinet) oben 
drauf brauchst musst du selber wissen. Aber überlege vorher, wozu.

gruß cyblord
#3601882
Lesenswert?

Kommt auf den Roboter an. Selbstgebaut oder ein Industriedingens?

Ethercat läßt sich schön redundant konfigurieren mit 
"Reserve-Kommunikationsweg". Ist die Wahl bei kritischen Anforderungen. 
Safety über Ethercat geht auch, hab ich aber noch nit programmiert.

Profinet ist ähnlich schnell und es gibt haufenweise Controller, die 
sich auf ein Projekt draufsetzen lassen. Die übernehmen die 
Konfiguration über ein HTML interface, und du brauchst dich nur noch um 
den bereitgestellten Datensatz kümmern. Ich hatte schon Anlagen, da 
haben 4 gleiche OEM-Interfacekarten in 4 vollkommen verschiedenen 
Geräten verschiedener Hersteller miteinander geredet. Profisafe ist 
mittlerweile Standard.

Beide Protokolle brauchen managed switches für die "Echtzeitfähigkeit".

Wenns jetzt nur darum geht, über WLAN irgendwas spatierenfahren zu 
lassen, kümmer dich nicht um diesen Protokoll-overhead. UDP reicht.
Gast #3602060
Lesenswert?

wenn beide Seiten ein uIP oder lwIP auf dem Cortex-Mx laufen haben dann 
sind Reaktionszeiten <=1ms locker drin, für die Übermittlung von 
Steuerbefehlen und Rückmeldungen sollte das reichen.
Stören könnten viele Broadcasts, aber dazu muss man das Netz klein und 
sauber halten. UDP wäre dabei noch etwas schlanker als TCP wenn man mit 
kleinen Datenpaketen hinkommt. Bei TCP sollte noch das 'Nagling' 
abgeschaltet werden wenn vorhanden, ist bei den genannten Stacks aber 
kein Problem.
Gast #3602071
Lesenswert?

EtherCAT ist eine mächtig umfangreiche Spec, die wirst du auf einem 
Cortex-M nicht machen wollen und ist mir auch noch nicht untergekommen. 
Das braucht zB auch zwei Ethernet Phys, dazu gibt es spezielle ASICs, 
FPGAs oder spezielle Prozessoren wie die ti Sitara Serie, Cortex-A mit 
Linux drauf.
Gast #3602125
Lesenswert?

Ich schmeiss jetzt einfach kurz in die Runde was unser Lehrer bei RT 
immer sagte:

Was ist in diesem speziellen Fall RT? RT ist nicht definiert, es kommt 
auf die Umgebung an. Wenn Dein Roboter gegebenenfalls nur 1 Pos pro 
Stunde anfahren könnte, wären 20ms z.B. ziemlich RT. Wenn er aber für 
eine Pos 20ms benötigt sind 20ms sicher nicht mehr RT.

Denke Du solltest Dich zuerst einmal damit befassen was in Deinem Fall 
als RT zu bezeichnen ist.

Es Grüessli
Gast #3602795
Lesenswert?

Übersicht Feldbusse:


Modbus TCP:
Ist wahrscheinlich der simpelste Ethernet basierte Feldbus.
Aber dafür ned Echtzeitfähig in der Literatur steht 50ms Sekunden herum. 
Hab ich schon mit unter 10ms Zykluszeit auch betrieben.

Profinet:
Geiles Protokoll is hald von Siemens. Es hat einen relativ großen Memory 
Footprint. Zykluszeit um die 10ms bei RT und bei IRT  gehts runter bis 
250µs (31,25µs). Es ist relativ Komplex.

Ethernet/IP:
Naja Amerikanisch hald ist relativ komplex vom Objektverzeichnis her. 
Für so 10ms herum Zykluszeit ausgelegt. Mit CIP Motion und 
Zeitsynchronisation geht auch weniger.

Ethercat (Katzenbus):
Ok dazu brauchst du wie schon gesagt ein FPGA oder ASIC (gibt Slave ASIC 
von Beckhof) Lizenzmodell is ech blöd. Aber es ist schnell und hat eine 
Allergie gegen Switche und Hubs. (Schieberegister)

Powerlink:
Ist Open Source. Gibt für einige Plattformen fertige Portierungen. Als 
Beispiel die Linux variante. Mit einem normalen µC sind da auch so 1ms 
herum möglich. Mit FPGA Lösung so ca. 200ns. Die EPSG ist normalerweise 
sehr Hilfsbereit. Hab da relativ gute Erfahrungen gemacht.

Interessante Dinge sind auch für Realtime:

Renesas TPS-1 für Profinet
Innovasic Fido5000 REM interessanter Netzwerk Chip/Switch kann alle 
Realtime Ethernet Protokolle

Hilscher netX als Netzwerkcontroller

Du kannst auch was eigenes basteln und dabei über viele blöde Sachen 
stolpern.
Persönliche Seite #3623813
Lesenswert?

cyblord ---- schrieb:
> UDP würde schon gehen, aber wenn er nur eine Verbindung vom Controller
> zu einem Roboter haben will, wozu dann noch IP und UDP mitschleppen?

IP braucht man ja nicht. Ein simples UDP ist ja ausreichend für die 
Kommunikation. Gemacht wird es von den Kunden meistens deshalb, weil sie 
Leitungen sparen müssen. Gerade bei Robotern hat man in den Armen und 
Gelenkübergängen meistens sehr wenig Platz. Ethernet hat den Vorteil, 
dass es über eine geringe Zahl von Verbindungsdrähten viel Bandbreite 
rüberbekommt und die Chips sowie vor allem die Kabel absolute Massenware 
sind.

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