Probleme mit Realisierung CAN - Protokoll

Gast #597695
Lesenswert?
• ▲
▼
Ich verwende einen XC888 Mikrocontroller von Infineon. Diese besitzt 
einen MultiCAN. Mit einem CAN Dongle (Master), der am PC angeschlossen 
ist, starte ich eine Anfrage. Das XC888 StarterKid Board (Slave) 
empfängt diese und sendet die gewünschten Infos auf den CANBUS. Ein 
anderes XC888 StarterKidBoard soll diese Nachricht empfangen. Jetzt habe 
ich aber das Problem, wenn ich mehrere Board am dem CANBUS anschließe. 
Dies bedeutet all die anderen Board können ja auch die Nachricht 
empfangen. Ziel soll sein, dass auf allen Board die gleiche Software 
drauf ist. Diese Boards sollen sich nur unterscheiden, indem man eine 
Busteilnehmernummer mit den Schaltern vergibt. Hat jemand damit schon 
Erfahrungen gesammelt?
Gast #597708
Lesenswert?
• ▲
▼
Öhm doofe frage....
"Mit einem CAN Dongle (Master), der am PC angeschlossen
ist, starte ich eine Anfrage. Das XC888 StarterKid Board (Slave)"
.... aber ist der CANBUS nicht ein multimaster system?

und mit der busteilnehmernummer? meinst du da den identifier?

sag doch wo genau dein problem ist....

grüße
Gast #597718
Lesenswert?
• ▲
▼
Also der Identifier setzt sich aus der Busteilnehmernummer plus Nummer 
des Message Objektes zusammen. Ziel soll ja sein, dass meine erstellte 
Software auf allen Boards gleich sein sollte. Die Boards unterscheiden 
sich wie schon gesagt nur mit der Busteilnehmernummer, die durch die 
Scahlter vergeben werden.

Zum Beispiel:
Busteilnehmer 1 soll nach Aufforderung die aktuelle Schalterstellung als 
CAN NAchricht auf den BUS schicken.
Der Busteilnehmer 2 soll diese dann empfangen und auf den Port 3 (LED) 
anzeigen. Die anderen Busteilnehemr 3 und 4 usw., sollen aber diese CAN 
Nachricht nicht empfangen können.
Gast #597720
Lesenswert?
• ▲
▼
...usteilnehmer 1 soll nach Aufforderung die aktuelle Schalterstellung 
als
CAN NAchricht auf den BUS schicken....

Das heißt, ich muss, unter Zuhilfenahme der aktuellen Schalter, die 
aktuelle Schalterstellung abfragen??

...Identifier setzt sich aus der Busteilnehmernummer plus Nummer
des Message Objektes zus..

Hm.. Warum nicht gleich CANopen?
Gast #597723
Lesenswert?
• ▲
▼
Hmm ... CanOpen ist nicht so ganz einfach zu realisieren. Ich nicht 
exakt alle Funktionen von CanOpen. Wie könnte ich CanOpen für meine 
Anwendung umsetzen?
Das CanOpen beinhaltet so viel zeugs, das brauche ich alles ja nicht so 
ausführlich.
Gast #597846
Lesenswert?
• ▲
▼
Es gibt ja auch noch das DeviceNet Protokoll. Mir fällt die Umsetzung 
sehr schwer. Der genaue Mechanismus der ID Verwaltung ist mir noch nicht 
klar.
Wie kann ein CanOpen bus DeviceNet Protokoll in C umgesetzt werden?

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.