Hallo zusammen Bin wieder mal auf Eure geschätzte Hilfe angewiesen. Gibt es eine Möglichkeit, per Hardware oder Software festzustellen, ob die Abschlusswiderstände in einem CAN Bus korrekt eingesetzt sind, oder ob einer fehlt? Gruss Andy
Während/vor dem normalen Betrieb? Durch den UC? Wie sieht die CAN Beschaltung bei dir aus? Schaltung?
Die Abschlusswiderstände sollten nur beim Aufstarten detektiert werden. Im Anhang findest Du das aktelle Schema der Schaltung. Diese könnte aber noch angepasst werden, falls es eine Transciever geben würde, welcher den Bus ausmessen könnte, um eine Aussage über die Terminierung zu machen.
Habe mir gedacht, dass es evtl. einen Transciever gibt, der entweder interne zuschaltbare Abschlusswiderstände, oder ein Fehlerausgang besitzt, welcher bei unangepasster Leitung ein Error ausgibt. (Wenns sowas noch nicht gibt, sollte man es meiner Meinung nach noch erfinden)
Wo wären die Vorteile und wie glaubst du sähe das Aufwandnutzenvrerhältnis aus? Namaste
Hattet Ihr noch nie das Problem, dass die Abschlusswiderstände vergessen wurden dazu zu schalten? (Stecker nicht gesteckt, Jumper vergessen...) Bereits mit paar wenigen Serviceeinsatz wären die Mehrkosten wieder drin.
andy schrieb: > Bereits mit paar wenigen Serviceeinsatz wären die Mehrkosten wieder > drin. Was wiederum das Problem Deines/Euren Knden ist. Einige Hersteller von CAN-Geräten haben im Auslieferungszustand die Busterminierung immer aktiviert. Bei mehr als drei Widerständen läuft der Bus nicht und der Kunde muss sich gezwungenermaßen mit der Bustopologie auseinander setzten...
Ähnlich wie bei Consumergeräten (Netzstecker gesteckt?) könnte unter den ersten Fragen bei der Problemlösung die Frage nach den Abschlußwiderständen sein.
Habe gerade gesehen, dass der MAX3059 über interne Abschlusswiderstände verfügt, welche sich über ein externes Signal Ein- und Ausschalten lassen. Wäre ja schon mal ein Ansatz. Wäre einfach schön, wenn's eine einfache Schaltung gäbe, mit der man überprüfen könnte, ob die beiden Abschlusswiderstände vorhanden sind. Dies müsste doch über einen Strommessung machbar sein.
andy schrieb: > Wäre ja schon mal ein Ansatz. Nach welcher Logik willst Du dies automatisieren? Wenn jedes Gerät so einen Transceiver hat und eine Widerstandmessung macht, dann wird es ein wirres zu- und abgeschalte. Insofern müßtest du in den Geräten konfigurieren, ob sie die jeweils letzten sind. Ist zwar häufig einfacher als das Gerät zu öffnen und den Jumper zu setzen. Das eigentliche Problem dürfte aber nicht gelöst werden.
Du könntest ein SDO-Register definiere mit welchem Du den Abschlusswiderstand zu- oder wegschaltest. Mehr automatismus ist hier vermutlich Overkill und zu teuer. Allein die Tatsache, dass du schon den ganzen Montag morgen (an dieser nicht lösbaren Aufgabe) herum machst rentiert sich nicht....
Das Problem beim CAN wie auch RS485 ist, das ohne R nichts geht und bei zu vielen R ebenfalls Ärger gibt! Daher mache viele eine Leitung und setzen dort den Abschluss-R bzw bei BUS-Modulen wir ein R-Modul links und rechts am BUS angestöpselt. Bei PhoenixContact gibt es diese Gehäuse mit BUS-Öffnung. Da wird ein Gehäuse in diesem Anwenungsfall mit einem Widerstand versehen und davon kommt jeweils eines links und rechts an die Module.
Eignetlich ist es kein Problem! Unsere Geräte haben hier prinzipiell zwei identische M12 Stecker, beschriftet mit In und Out. Wird Out nicht verwendet/benötigt, kommt ein M12-Blindstecker mit Terminierung drauf. Das ist im Maschinenbau soweit ich weiß auch der führende Standard - siehe Wago, Siemens, Lumberg...
Icke schrieb: > Was wiederum das Problem Deines/Euren Kunden ist. > > Einige Hersteller von CAN-Geräten haben im Auslieferungszustand die > Busterminierung immer aktiviert. Bei mehr als drei Widerständen läuft > der Bus nicht und der Kunde muss sich gezwungenermaßen mit der > Bustopologie auseinander setzten... Ob dies einen kundenfreundliche Lösung ist, sei mal dahingestellt... Steffen R. schrieb: > Nach welcher Logik willst Du dies automatisieren? > Wenn jedes Gerät so einen Transceiver hat und eine Widerstandmessung > macht, dann wird es ein wirres zu- und abgeschalte. Wir haben 5 CAN Knoten innerhalb des Gerätes und 1 bis max. 3 Knoten ausserhalb des Gerätes. Innerhalb des Gerätes ist die Sache eigentlich ziemlich klar, da sich hier nie etwas ändert. Das Problem ist die Steckerleiste, wo der CAN- Bus nach aussen geht. Ist ein externer Knoten eingesteckt, braucht's auf der internen Steckerleiste keinen Widerstand, jedoch auf dem letzten externen Geräten. Die Leitungslänge beträgt max. ca. 3-4m. Ich gehe also davon aus, dass ich auch mit fehlendem 2. Abschlusswiderstand und mir geringer Baudrate mit dem entferntesten Knoten kommunizieren kann. Da ich die Konfiguration der Geräte kenne, könnte ich über ein Menu definieren, welches externe Gerät am Ende der Kette den Abschlusswiderstand einschalten soll. Dies würde dann über ein entsprechendes Kommando dem Endgerät übermittelt, welches dann den Widerstand einschaltet.
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.