CAN prüfen ob teilnehmer anwesend?

OP #3711595
Lesenswert?
• ▲
▼
Hallo,

möchte bei in einem CAN Netzwerk optionale Teilnehmer anbieten...

jetzt soll ein Teilnehmer A zwischendurch nachschauen, ob Teilnehmer B 
vorhanden ist... wie macht man das am blödsten? Denn wenn ich immer 
wieder Nachrichten an B schicke und dieser die Nachrichten nicht 
"ack"ed, gehen ja ständig die CAN-Fehlercounter hoch bis mein 
CAN-Controller lahm gelegt wird (BUS-OFF)

oder führt da kein weg am bus-off vorbei?


danke
Gast #3711600
Lesenswert?
• ▲
▼
sina anargo schrieb:
> Denn wenn ich immer
> wieder Nachrichten an B schicke und dieser die Nachrichten nicht
> "ack"ed,
Dann ACK'ed die irgendein anderer Teilnehmer am Bus. ACK wird immer von 
jedem gesendet.

sina anargo schrieb:
> gehen ja ständig die CAN-Fehlercounter hoch bis mein
> CAN-Controller lahm gelegt wird (BUS-OFF)
Das passiert nur wenn gar kein anderer Teilnehmer am Bus (erreichbar) 
ist, und in dem Fall willst du das wahrscheinlich eh wissen...

Mach es entweder so dass A regelmäßig B abfragt ob er existiert, oder B 
einfach regelmäßig sendet "ich bin da"...
Gast #3711626
Lesenswert?
• ▲
▼
Einfach eine ich-bin-da Botschaft senden mit einem Zähler, da kann zum 
Beispiel auf ein Teil der Botschaften drin enthalten sein die der Knoten 
verarbeiten soll, so als Bestätigung, dass die Anfrage richtig 
angekommen ist.
#3711693
Lesenswert?
• ▲
▼
Zumindest kenne ich nichts, wo das nicht passiert.
Im Auto (da wiederum kenne ich nur den Motor-CAN Porsche und VW) ist es 
so. Buderus-Heizungssteuerung ebenso. An einer Maschinensteuerung 
(Walzstrasse) war es auch so. Mehr praktische Beispiele kenne ich nicht. 
Bleiben ein paar eigene Sachen, da habe ich es auch so gemacht. 
Natürlich muss man nicht, wird aber auch dazu benutzt, zu schauen, ob 
alle Teilnehmer da sind.
Gast #3711694
Lesenswert?
• ▲
▼
A. K. schrieb:
>
> H.Joachim Seifert schrieb:
>> Hm, üblicherweise sendet jeder Knoten zyklisch.
>
> Kann man natürlich so machen, aber wieso "üblicherweise"?

Die Dinger die ich so von namhaften Autoherstellern kenne tun das 
tatsächlich öfters.. die senden zumeist irgendwelche Werte zyklisch rum.
(Firma: Schweigstill IT) Persönliche Seite #3711745
Lesenswert?
• ▲
▼
H.Joachim Seifert schrieb:
> Zumindest kenne ich nichts, wo das nicht passiert.

Bei der Verwendung von CANopen und reiner SDO-Kommunikation muss da gar 
nichts zyklisch laufen. Ich kenne mindestens ein Produkt, das so 
arbeitet. Und selbst bei PDO ist der zyklische Versand nur optional, 
aber durchaus recht gebräuchlich.

Bei aktivem Heartbeat gibt es natürlich zyklische CAN-Frames.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.