Hallo, ich hab ein Problem mit einer RS485 Installation. Folgende Ausgangssituation: - insgesamt vier Geräte (eines davon ist die Steuerung und pollt die anderen nacheinander an) - Zwei-Draht-Betrieb mit C-Leiter, an jedem Gerät ist der C-Leiter über 100R an GND angebunden (C-Leiter für Potential-Ausgleich) - unterschiedliche RS485-Treiber in jedem Gerät (MAX485, SP485, LT1785A, usw.) - zwei Geräte verwenden galvanische Trennung für die RS485-Schnittstelle - Kommunikation läuft über ein Protokoll mit Adressierung usw. - alle Geräte sind geerdet So, jetzt zum Problem: Eines der Geräte soll durchs Nachfolge-Modell ersetzt werden. Die ursprüngliche Installation hat keine Fehler. Das Nachfolgemodell hat im Gegensatz zum Vorgänger keine galvanische Trennung. Ersetze ich das Gerät, so kann ich mit einem Protokoll-Sniffer lauter Fehler feststellen. Dies äußert sich durch ein verbogenes Protokoll, der Sniffer meint, zwischendrin lauter Breaks(*) zu erkennen, als ob eins der Geräte den Bus blockiert. Ziehe ich nun allerdings das Gerät, welches von der logischen Adressierung her hinter dem neuen Gerät hängt ab, funktioniert der Bus wieder. Somit dürfte es (fast) nicht an den unterschiedlichen Treiber-ICs liegen, oder? * Als Break wird eine Situation von nur Nullen inkl. Startbit = Stopbit = Null definiert, oder? Das neue Gerät zeigt im Einzelbetrieb ebenfalls keine Auffälligkeiten. So, jetzt frag ich mich natürlich, woran's denn nun liegen kann. Spontan fallen mir dazu folgende Sachen ein: - RS485-Treiber des neuen Gerät spuckt Müll aus -> mit Oszilloskop nachgemessen -> Pegel weitgehend identisch mit dem alten Gerät - Masseschleife durch fehlende galvanische Trennung erzeugt -> Wie nachweisen? (**) - Timing-Problem bei der Richtungsumschaltung des RS485-Treibers -> Kollision auf Bus -> Muss noch nachgeprüft werden. - Das logisch adressierte nächste Gerät hat einen kaputten RS485-Treiber, der in Kombination mit dem alten Gerät noch funktioniert(?) -> wilde Theorie -> noch nicht nachgeprüft - Die Kabel-Installation (mehrere Jahre alt) ist im Eimer, das alte Gerät bekommts noch hin, das neue nicht mehr -> super Theorie, viel Spass beim Kabel neu ziehen - Durch die Erdung der Geräte entstehen Potential-Unterschiede, je nachdem, wo das Gerät auf Erde gelegt ist, damit meine ich, wie weit der eigentliche PE-Abgriff vom Installationsort entfernt ist -> sollte durch den C-Leiter eigentlich ausgebügelt werden, denke ich. ** Wo kann ich denn die Effekte von Masseschleifen nachlesen, ich kann mir darunter noch nichts vorstellen. Also nochmal die Kurzform: - alte Installation -> okay - Nachfolgemodell eingesetzt -> nicht okay - Nachfolgemodell eingesetzt + logisch nächstes Gerät weg vom Bus -> okay Hat jemand Erfahrung mit dem "Debuggen" eines RS485-Busses? Michael
@ Michael (Gast) >Sniffer meint, zwischendrin lauter Breaks(*) zu erkennen, als ob eins >der Geräte den Bus blockiert. Ziehe ich nun allerdings das Gerät, >welches von der logischen Adressierung her hinter dem neuen Gerät hängt >ab, funktioniert der Bus wieder. Somit dürfte es (fast) nicht an den >unterschiedlichen Treiber-ICs liegen, oder? Nöö. Das ist wahrscheinlich eine (sinnfreie) Terminierung eigebaut, die den Bus in den Sendepausen auf LOW zieht -> BREAK. Miss mal am Gerät zwischen A und B. MfG Falk
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.