Hi ich habe 100 boards (Motorsteuerung) die über Eternet gesteuert werden. Die boards sind einen 2mx2m Raum. Aktuell sind Boards über switches (7x 16 port switch)angeschlossen mit unmengen von Ethernetkabel. Idealerweise wurde ich gerne ethernet durch schleifen von einem port zum anderen und mir die switches und längere Kabel einsparen. Was muss da HW mässig passieren? Reicht es einfach eine weitere ethernet Buchse auf der Platine einzubauen und die Pins eins zu eins raus zu geben? Oder was muss gemacht werden? Ein switch Baustein? Habt ihr eine Empfehlung? Idealerweise wurde ich ohne Firmware Änderungen auskommen.
Ein drei-port-switch erscheint mir am sinnvollsten, wenn das von der latenz dann noch hinhaut. Das Board dafür dürfte aber relativ anspruchsvoll sein und nicht mit '1:1 durchverbinden' getan sein...
Wenn die Geräte über Ethernet nur empfangen kann, dann man da sicherlich eine Lösung ohne Switch finden, aber so hast du mit Ethernet selbst eine Sterntopologie gewählt, sprich die Switche brauchst du so oder so. Allein schon aufgrund der Problematik einer Fehlersuche würde ich dringend davon abraten da jetzt 100 Switche zu verbauen. Denn das würde auf Layer 2 nebenbei relativ unschön (sollte gehen, aber ist nicht schön, wenn dann aber eine Schleife gesteckt wird...). Du wirst dir nur unnötig hohe Kosten und Probleme mit der Anbindung einer jeden Steuerung über einen zusätzlichen Switch SoC einfangen. Weniger Kabel werden es dadurch nicht. Wozu man aber raten kann sind 48 Port managed Switche, die Generation mit Fast Ethernet bekommt man inzwischen hinterhergeworfen. Gibt es aus der Industrie nicht eher einen anderen Bus bei solchen Motorsteuerungen der genau für sowas ausgelegt wurde wie z.B. CAN/RS485? Glasfaserbasierte Anbindungen sollen bei solchen Motorsteuerungen aufgrund der galvanischen Trennung der "heiße shit" aktuell sein. So Glasfasern sind auch nicht so dick wie Ethernetkabel, kostet halt. Ggf. wäre das eine Lösung.
H. R. schrieb: > Reicht es einfach eine weitere ethernet > Buchse auf der Platine einzubauen und die Pins eins zu eins raus zu > geben? Nein, du musst einen Switch einbauen. Eine Bustoplogie gab es früher, per Koaxkabel von Gerät zu Gerät, das ist aber ausgestorben. Eigentlich war das die ursprüngliche Ethernet-Topologie, aber die hatte, abgesehen davon dass nur 10 MBit/s möglich waren, auch den massiven Nachteil, dass bei einem Fehler ALLES ausgefallen ist, weil ja miteinander verbunden, und die Fehlersuche war dann auch kein Vergnügen. Georg
H. R. schrieb: > Reicht es einfach eine weitere ethernet > Buchse auf der Platine einzubauen und die Pins eins zu eins raus zu > geben? Oder was muss gemacht werden? Ein switch Baustein? Du brauchst natürlich pro Platine einen Switch. Wenn du unbedingt willst, kann du auf jeder Platine einen Switch-IC unterbringen. Dann ist jede Steuerung ein Switch der die Pakete seines Vorgängs und seine eigenen kombiniert. Allerdings muss dir in Sachen Latenz (aka. Verzögerung) klar sein, dass jede Stufe der Kaskadierung zusätzlich dazu beiträgt. Wenn ich das richtig verstehe sieht es bis jetzt so aus: PC=Steuer PC R0=Router der alle 16-fach Router (R1 ...) zusammenfasst Sx=Steuerung mit Nr. x
1 | PC |
2 | | |
3 | +----+---------------------------------+------+... (<-- R0) |
4 | | | | |
5 | R1--+--+--+--+--+--+--+.. R2.. R3.. |
6 | | | | | | | | |
7 | S1 S2 S3 S4 S5 S6 S7 ... |
Du hast also 2 Ebenen die Latenzen erzeugen. Mit der Kaskadierung die du vor hast, hast du n (n=Anzahl der Steuerungen) Ebenen die Latenzen erzeugen (können).
1 | PC |
2 | | |
3 | |\ S1 |
4 | | |
5 | |\ S2 |
6 | | |
7 | |\ S3 |
8 | | |
9 | |\ S4 |
10 | | |
11 | |\ S5 |
12 | | |
13 | |\ S6 |
14 | | |
15 | |\ S7 |
16 | . |
17 | . |
18 | . |
Ist das akzeptabel? Ist das ein spezielles Ethernet (irgendwas echtzeitfähiges?)
georg schrieb: > Eine Bustoplogie gab es früher, per Koaxkabel von Gerät zu Gerät Das beschreibt eine Ringtopologie... bzw. eine Linientopologie. https://de.wikipedia.org/wiki/Topologie_(Rechnernetz)
:
Bearbeitet durch User
Ist das ein proprietäres Protokoll auf Ethernet (oder wird IP verwendet)? Wird das Gerät direkt mit MAC-Adresse angesprochen oder erfolgt die Adressierung im höheren Protokoll? Wie ist die Datenrate, sonstige Anforderungen? Mal angenommen, die MAC-Adresse ist für die Adressierung nicht entscheidend und der Durchsatz/Latenz ist nicht wichtig: Sende alles als Ethernet-Broadcast und schleife es durch. Jedes Gerät reicht alles weiter und sucht sich seine Steuerpakete anhand der MAC-Adresse selbst.
Hi > Ist das akzeptabel? Die Latenz interessiert mich hierbei nicht, aber allgemein: was ist den hier die Latenz? > Ist das ein spezielles Ethernet (irgendwas echtzeitfähiges?) nee kein spezielles ethernet. Stink normales Ethernet ;-)
Hi > Ist das ein proprietäres Protokoll auf Ethernet (oder wird IP > verwendet)? Wird das Gerät direkt mit MAC-Adresse angesprochen oder > erfolgt die Adressierung im höheren Protokoll? Wie ist die Datenrate, > sonstige Anforderungen? UDP / TCP sockets. Datenrate ca 1Mbps Latenz sollte unter einer Sekunde sein!
H. R. schrieb: > UDP / TCP sockets Okay, also schon ein bißchen mehr Stack, vielleicht sogar ein ganzes Linux? In dem Falle könntest du, falls möglich, eine zweite Netzwerkkarte einbauen und per IP-Routenvorgabe alles was zum einen eth-Port reingeht und nicht der eigenen IP entspricht zum anderen eth-Port rausschaufeln.
Hallo, wenn die die Motorsteuerung anpassen kannst, dann schmeiß doch die bisherige Phy raus und erstze die durch einen 3-Port Switch (z.B. KSZ8863) Dieser IC hat an dem einen Port direkt eine Phy, ersetzt da also nahtlos den bisherigen Baustein und hat auf der anderen Seite zwei Ethernet Schnittstellen, also zwei RJ45 Anschlüsse. Ja, Du hast dann in jedem Gerät eine Latenz. Die meisten einfachen Switches mache store and forward. Das bedeutet, sie empfangen das komplette datenpaket und schauen dann nach wo es hin soll und senden es anschließend weiter. Wenn du einen Switch behälts, un dann davon 16x zu einer Kette von 8-10 Motorkarten gehst, sollte die Latenz aber passen. ---- Bentschie
Klingt fürchterlich sinnvoll, 7 Switches durch 100 Switches zu ersetzen, 1 Kabel pro Gerät durch zwei Kabel pro Gerät, um damit insgesamt weniger Switches und Kabel zu benötigen. Mein ja nur :-)
Hi > wenn die die Motorsteuerung anpassen kannst, dann schmeiß doch die > bisherige Phy raus und erstze die durch einen 3-Port Switch (z.B. > KSZ8863) Muss ich dafür die bestehende FW verändern? Wäre das eine grössere Änderung? Sehe ich richtig dass ich dann 2 MAC adressen hätte? (bzw 3-> 3 port switch)? Thx
Dauergast schrieb: > 1 Kabel pro Gerät durch zwei Kabel pro Gerät falsch gedacht. Gerät N hat ein Kabel zu N+1. Gerät N+1 hat ein Kabel zu N+2 etc. die Anzahl der Kabel wird gleich bleiben oder geringer. Dafür wird die Kabellänge in Summe vermutlich stark reduziert.
Bernhard S. schrieb: > Gerät N hat ein Kabel zu N+1. Gerät N+1 hat ein Kabel zu N+2 Damit hat "N+1" schon mal zwei Kabel, eins von N und zu N+2. Mal angenommen, sowohl N als auch N+2 hätten tatsächlich nur jeweils ein Kabel, wäre das ganze standalone-Dreier. Hätte N (wie in der Praxis) noch ein Kabel zu "root", wären es drei Kabel, wie vorher, aber zwei Switches statt einer. Oder anders ausgedrückt: JETZT hat jedes Gerät EIN Kabel. Wie möchtest Du die Anzahl der Kabel reduzieren, wenn jedes Gerät angeschlossen sein soll? Lediglich die Gesamtlänge aller Kabel kann kleiner werden, da bin ich bei Dir. Das ist allerdings der unkritischste und bei weitem kostenirrelevanteste Teil des Systems.
Bernhard S. schrieb: > Dauergast schrieb: >> 1 Kabel pro Gerät durch zwei Kabel pro Gerät > > falsch gedacht. Gerät N hat ein Kabel zu N+1. Gerät N+1 hat ein Kabel zu > N+2 etc. die Anzahl der Kabel wird gleich bleiben oder geringer. Dafür > wird die Kabellänge in Summe vermutlich stark reduziert. Und Kabel kosten was? Richtig, nichts. Hab schon beim Pollin eine Kiste 7,5m Kabel für 1€ das Stück oder so gekauft. 100 Switche sind allein schon hinsichtlich eines möglichen Fehlerfalls schlichtweg unsinnig. Zwei bis drei managed Switche und fertig aus. Alles andere ist Pfusch.
Als Ethernet noch 10 MBit/s hatte, war die hier gewünschte Verkabelung dort sehr verbreitet, über Coax-Kabel. Da gingen einfach Kabel von Gerät zu Gerät, verbunden miteinander und mit den Geräten über einfache T-Stücke.
H. R. schrieb: > Hi > ich habe 100 boards (Motorsteuerung) die über Eternet gesteuert werden. > Die boards sind einen 2mx2m Raum. Aktuell sind Boards über switches (7x > 16 port switch)angeschlossen mit unmengen von Ethernetkabel. > Idealerweise wurde ich gerne ethernet durch schleifen von einem port zum > anderen und mir die switches und längere Kabel einsparen. Microchip hat LAN-Controller mit drei Ports und Switch(LAN9355). Zwei davon können als interne PHY mit RJ45, einer als PHY mit MDIO und allem, was dazugehört betrieben werden. ... > Idealerweise wurde ich ohne Firmware Änderungen auskommen. Das Datenblatt behauptet, daß alles ISO-konform ist. Damit könnte die bestehende FW passen. Gruß, Falk
Denke auch daran, dass jeder Switch eine kleine Verzögerung in der Größenordung von ein bis zwei Paketübertragungszeiten verursacht. Bei 200 Paketübertragungszeiten könnte da schon einiges zusammenkommen. fchk
Wenn jede Motorsteuerung den drei-port-Switch schon eingebaut hätte, wäre das jetzt praktisch. Es gibt ja Microcontroller, die diese Hardware schon eingebaut haben. Aber wenn das nicht der Fall ist, kann ich nur zu handlicheren Kabeln raten. Auf die kurze Entfernung muß es kein Cat.5 sein. ISDN verwendet ja die gleichen Stecker (nur ohne Abschirmung), und da gibt es auch 8-adrige Patchkabel, die sind nicht so steif wie Cat.5 (4-adrige kann man nicht nehmen, weil ISDN von der 8-poligen Buchse andere 4 Pins benutzt als Ethernet). Die bequemen Schlabberkabel sind dann nicht geschirmt und nicht verdrillt, aber bei 10/100Mbit und unter zehn meter Länge ist das kein Problem für die Datenübertragung.
ich möchte nochmal auf den Vorschlag von Dieter mit den Switches mit 48 Ports hinweisen, das erscheint auch mir unter Gesichtspunkten der Latenz und der Kosten am günstigsten, von TP-Link gibt es sehr preiswert z.B. den TL-SF1048
fchk schrieb: > Bei > 200 Paketübertragungszeiten könnte da schon einiges zusammenkommen. Deswegen ist es einfacher und zugleich effektiver, 2 Ebenen Switche anzuordnen und z.B. immer 8 Geräte an einen kleinen Switch anzuschliessen. Dann ist auch keine Änderung an der Software nötig. Ausserdem gilt, was ich schon oben über die Fehlertoleranz geschrieben habe, bei dem was sich der TO vorstellt führt ein Ausfall z.B. des 10. Geräts dazu, dass auch die übrigen 90 nicht mehr verbunden sind. Eigentlich verbietet sich sowas bei Motorsteuerungen von selbst. Georg
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.