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?
Ö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
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.
...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?
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.
Im Internet habe ich mal nach CanOpen gesucht. Alles sehr schön aufgemacht, leider kann ich damit nix anfangen. Ich brächte mal ein kleines Beispiel.
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?
>>Wie kann ein CanOpen bzw. DeviceNet Protokoll in C umgesetzt werden?
Hi Matthias, du hast geschrieben >>Hm.. Warum nicht gleich CANopen? Hast du schon mal ein CANOpen in C umgesetzt?
Kann mir keiner einen Tip geben, wie das CAOpen Protokoll in C realisieren könnte?
Ich hab zwar eine Internetseite entdeckt, wo das CANOpen Protokoll einwenig erläutert wird, leider ist mir das alles zu theoretisch. >>http://www.microcontrol.net/technologie/can/canopen/
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.