Hallöchen Ich habe eine CAN-Bus mit mehreren Geräten. Eines der Geräte empfängt nach einiger Zeit keine Messages mehr und muss reseted werden. Bei der Fehlersuche bin ich auf das beiliegende Signal gestossen. Dieses Signal tritt in fixen Interval auf. Ich konnte den Teilnehmer der es verusacht wahrscheinlich auch ausfindig machen. Er funktioniert aber einwandfrei. Mich würde nun nur interessieren : Wie kann ich so ein Signal deuten ? Worauf deutet es hin ? Danke Euch. mfG Mandi
Hast du Zugang zum Quellcode des Geräts? Was mir spontan einfällt: -Die meisten CAN-Knoten besitzen Fehlerzähler. Wenn die Anzahl der fehlerhaft empfangenen Botschaften einen Grenzwert übersteigt "trennen" sich die Geräte vom Bus (Bus-Off-Mode). Das kann erklären, warum du dein Gerät neu starten musst und warum es dann eine gewisse Zeit wieder läuft. -Das Signal im Anhang kann von eben diesem Gerät hervorgerufen werden, wenn es "denkt" eine fehlerhafte Botschaft auf dem CAN "gesehen" zu haben (jeder Knoten bestätigt jede Botschaft (auf Hardware-Ebene) auf Fehlerfreiheit, unabhängig davon, ob das jeweilige Gerät diese Botschaft überhaupt auf Software-Ebene berücksichtigt). -Mögliche Gründe, warum das Gerät "denkt" eine Botschaft sei fehlerhaft: --Die Taktrate eines Senders im Bus ist zu ungenau. --Der Abtastzeitpunkt des Geräts ist ungünstig gewählt (i.d.R. sollte er m.W.n. bei ca. 87,5 % liegen). --Der Bus ist ungünstig verkabelt (lange Stichleitungen, fehlerhafte Abschlüsse, Leiterschleifen anstatt verdrillter Leitungen etc.). --Das Gerät tastet (bei hohen Bitraten) 3x anstatt 1x ab. Alle diese Dinge verursachen Fehler, die eventuell nicht auftreten, wenn man das vermeintlich fehlerhafte Gerät einzeln an einen PC anschließt, da sie eine Wechselwirkung aller Teilnehmer in einem Bus bedingen. Kannst du vielleicht noch nähere Informationen darüber geben: -Wie viele Knoten befinden sich im Bus? -Was ist das vermeintlich fehlerhafte Gerät? -Wie ist der Bus verkabelt (Länge, Stichleitungen, Terminierung etc.)? -Bitrate? Buslast? Was du versuchen kannst: Es kann sein, dass das von dir beschriebene Gerät nur Botschaften eines anderen Knotens als fehlerhaft ansieht. Du könntest also sequentiell jeweils einen anderen Knoten entfernen und untersuchen, ob der Fehler weiterhin besteht. Hoffe dir damit geholfen zu haben. Gruß, Alex
Hallo Axel Und Danke für die mehr als umfangreiche Antwort. Ich habe den Fehler gefunden ( habe zum Glück auch den Sourcecode und auch einen Programmer ) Es waren bei einem Gerät die Ausgänge für den CAN falsch configuriert. Diese Gerät hat die Signale erzeugt und das andere Gerät hat das wohl als Fehler erkannt und dann mit dem Zähler abgeschaltet. Muss nun feststellen wie ich den Zähler oder das Abschalten auslesen kann um den CAN neu zu initialisieren. Danke. mfG Mandi
Manfred Schön schrieb: > Hallo Axel Alex (!) ;-) > Und Danke für die mehr als umfangreiche Antwort. Gerne. > Ich habe den Fehler gefunden ( habe zum Glück auch den Sourcecode und > auch einen Programmer ) Super! > Es waren bei einem Gerät die Ausgänge für den CAN falsch configuriert. > Diese Gerät hat die Signale erzeugt und das andere Gerät hat das wohl > als Fehler erkannt und dann mit dem Zähler abgeschaltet. Hatte ich ja auch als mögliche Ursache vermutet. > Muss nun feststellen wie ich den Zähler oder das Abschalten auslesen > kann um den CAN neu zu initialisieren. Besser wäre es aus meiner Sicht den Ursprung des Fehlers zu korrigieren und nicht die Folgen, sprich: Das Gerät so konfigurieren, dass der CAN fehlerfrei läuft. Gruß, Alex
Hallo Alex
>> Besser wäre es aus meiner Sicht den Ursprung des Fehlers zu korrigieren
Natürlich. Das System lief vor dem Problem auch bereits mehere Wochen
ohne Probleme.
Ich möchte nur als Sicherheit auch den Zähler abfragen.
Es reicht ja ein kleines can_init und er läuft wieder.
mfG
Mandi
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.