CANbus Diagnose
Diagnose von Hardwarefehlern
Ein Großteil der CAN-Probleme sind auf fehlerhafte Verkabelung oder defekte CAN-Geräte zurückzuführen. Potentielle Fehler sind:
Fehlende oder falsch dimensionierte Abschlusswiderstände.
Der Bus muss am Anfang und am Ende exakt mit einem 120 Ω-Abschlusswiderstand terminiert werden.
Unterschiedliche Baudraten
Alle Teilnehmer müssen die selbe Baudrate verwenden.
Kurzschluss zwischen CANLow, CANHigh, CANGround, V+
CANLow und CANHigh vertauscht
Unterschiedliche Längen von CANHigh und CANLow
CANHigh und CANLow sind nicht twisted-pair. Dadurch können Signale leichter gestört werden.
Unterschiedliche Erdungsquellen für CANGround
Beidseitige Erdung der CAN-Bus-Leitung
Wenn beide Enden der Abschirmung der CAN-Bus-Leitung geerdet sind, können sich Erdungsschleifen bilden, die Störungen verursachen können.
Zu lange Busleitung
Die maximale Buslänge hängt von der eingestellten Baudrate ab (siehe Tabelle).
Bitrate | Kabellänge |
---|---|
10 kbits/s | 6,7 km |
20 kbits/s | 3,3 km |
50 kbits/s | 1,0 km |
125 kbits/s | 500 m |
250 kbits/s | 250 m |
500 kbits/s | 125 m |
1 Mbits/s | 25 m |
Fehlersuche von Hardwarefehlern

Der Abschlusswiderstand wird verwendet, um die Impedanz eines Knotens an die Impedanz der verwendeten Übertragungsleitung anzupassen. Bei einer Fehlanpassung der Impedanz wird das übertragene Signal von der Last nicht vollständig absorbiert und ein Teil wird in die Übertragungsleitung zurückreflektiert. Wenn die Impedanzen von Quelle, Übertragungsleitung und Last gleich sind, werden diese Reflexionen eliminiert. Bei diesem Test wird der Serienwiderstand der CAN-Datenpaar-Leitungen und der angeschlossenen Abschlusswiderstände gemessen.
Schalten Sie die Spannungsversorgung aller CAN-Knoten ab.
Messen Sie den Widerstand zwischen CAN_H und CAN_L in der Mitte und am Ende des Netzwerks.
Der gemessene Wert sollte zwischen 50 Ω und 70 Ω sein. Der Wert sollte an allen Stellen im Netzwerk gleich sein.
Wenn der Wert unter 50 Ω ist, stellen Sie sicher, dass
zwischen den Leitungen CAN_H und CAN_L kein Kurzschluss ist
nicht mehr als zwei Abschlusswiderstände vorhanden sind
die Knoten keine defekten Transceiver haben
Wenn der Wert über 70 Ω ist, stellen Sie sicher, dass
kein offener Stromkreis in der Verdrahtung der Leitungen CAN_H und CAN_L vorhanden ist
das Bussystem zwei Abschlusswiderstände von je 120 Ω hat - an jedem Ende einen

Jeder Knoten enthält einen CAN-Transceiver, der Differenzsignale ausgibt. Wenn die Netzwerkkommunikation im Leerlauf ist, betragen die Spannungen CAN_H und CAN_L etwa 2,5 Volt. Fehlerhafte Transceiver können dazu führen, dass die Ruhespannungen variiert und die Netzwerkkommunikation stört.
Schalten Sie die Spannungsversorgung aller CAN-Knoten ab.
Stoppen Sie alle Netzwerkkommunikationen.
Messen Sie die Gleichspannung zwischen CAN_H und GND.
Der gemessene Wert sollte zwischen 2.0V und 4.0V sein. Wenn er niedriger als 2.0V oder höher als 4.0V ist, ist es möglich, dass ein oder mehrere Knoten fehlerhafte Transceiver haben.
Bei einer Spannung von weniger als 2.0V prüfen Sie bitte die Leiter CAN_H und CAN_L auf Durchgang.
Bei einer Spannung von mehr als 4.0V prüfen Sie bitte auf Überspannung.

Der Schirm des CAN-Netzwerks darf nur an einer Stelle geerdet werden. Dieser Test zeigt an, ob die Abschirmung an mehreren Stellen geerdet ist.
Trennen Sie den Abschirmungsdraht (Shield) von der Erde.
Messen Sie den Gleichstromwiderstand zwischen Abschirmung und Erde.
Verbinden Sie den Abschirmungsdraht mit der Erde.
Der Widerstand sollte größer als 1 MΩ sein. Wenn er niedriger ist, suchen Sie bitte nach einer zusätzlichen Erdung der Schirmdrähte.

CAN-Transceiver haben einen Schaltkreis, der CAN_H steuert, und einen weiteren Schaltkreis, der CAN_L steuert. Die Erfahrung hat gezeigt, dass elektrische Schäden an einem oder beiden Schaltkreisen den Leckstrom in diesen Schaltkreisen erhöhen können.
Verwenden Sie ein Widerstandsmessgerät zur Messung des Leckstroms.
Trennen Sie den Knoten vom Netzwerk. Lassen Sie den Knoten stromlos.
Messen Sie den Gleichstromwiderstand zwischen CAN_H und CAN_GND.
Messen Sie den Gleichstromwiderstand zwischen CAN_L und CAN_GND.
Normalerweise sollte der Widerstand zwischen 1 MΩ und 4 MΩ oder höher liegen. Wenn er niedriger ist als dieser Bereich, ist der CAN-Transceiver wahrscheinlich defekt.

Fehlerbehandlung eines CAN-Controllers
Die Fehlerbehandlung ist in das CAN-Protokoll integriert und ist für die Leistungsfähigkeit eines CAN-Systems von großer Bedeutung. Die Fehlerbehandlung zielt darauf ab, Fehler in CAN-Nachrichten zu erkennen, so dass der Sender eine fehlerhafte Nachricht erneut senden kann. Jeder CAN-Controller versucht, Fehler innerhalb einer Nachricht zu erkennen. Wenn ein Fehler gefunden wird, sendet der entdeckende Knoten ein Fehler-Flag und zerstört damit den Busverkehr. Die anderen Knoten werden den Fehler erkennen, der durch das Fehler-Flag verursacht wurde (wenn sie den ursprünglichen Fehler nicht bereits erkannt haben). Sie werden entsprechende Maßnahmen ergreifen und die aktuelle Nachricht verwerfen.
Diese Zähler und auch der Buszustand liefern bei der Diagnose von CAN-Fehlern oft eine erste Idee für die Fehlerursache. Diese Informationen können in CODESYS sowohl über die Benutzeroberfläche als auch über die Applikation ausgelesen werden.