Hallo, ich verwende einen 8-Bit Mikrocontroller, der einen MultiCan besitzt. Pro Knoten habe ich 32 Message Objekte zur Verfügung. Das Senden und EMpfangen von CAN Nachrichten funktioniert soweit. Da ich mehrere Boards mit dem Mikrocontroller verwenden möchte, brauche ich ein Protokoll. Wahrscheinlich bräuchte ich das CANOPEN Protokoll. Hat jemand schon einmal so ein CANOPEN Protokoll in C programmiert? WIe funktioniert eigentlich die Zusammensetzung der CAN-ID? Wo ist die Nr. vom Message Objekt bzw. Busteilnehmer in der CAN Nachricht enthalten?
Auf der folgenden Seite habe ich was gefunden: http://www.hehlhans.de/bilder/autos/cdi270/can.htm Ganz unten auf der Seite ist ein Link zu einen Beispiel Code in C. Leider funktioniert der Download nicht. http://home.t-online.de/home/janvi/can/can.zip Woher könnte ich diese Zip Datei noch beziehen?
T-Online-seiten sind schon lange abgeschaltet.
Und das Codebeispiel ist nicht in C:
> Der Code wurde Assembler geschrieben und auf einem Motorola 68HC908 AT60
Prozessor getestet.
Danke für die Info. Bin leider immer noch planlos. Mir konnte hier bis jetzt zum Thema CanOPEN niemand helfen.
1. man tippe "canopen" in die betreffsuche ein (2-3 sekunden) 2. man klicke auf den thread mit den vielen antworten zum thema (2-3 sekunden) 3. man klicke im 2ten beitrag auf den link (5-10 sekunden) ...und erhaelt nach nicht mal 20 sekunden die gewuenschte information
...oder bist du der Patrick, der in dem Thread schon etliche Beitraege geschrieben hat? Wenn ja, warum dann ein neuer Thread zum gleichen Thema?
Bin ein anderer Patrick. Ich hab in diesem Forum mal nach canopen gesucht, so informativ sind diese Threads nicht. Bringt mir nicht sonderlich viel.
ok, dann sorry fuers anflamen. aber... http://www.canfestival.org CanFestival focuses on providing an ANSI-C platform independent CANOpen stack that can be implemented as master or slave nodes on PCs, Real-time IPCs, and Microcontrollers. ...das klingt doch eigentlich genau nach dem, was du suchst. was ist daran verkehrt? ums lesen und verstehen der dokumente hier wirst du wohl nicht rumkommen: http://www.can-cia.org/canopen hier noch ein paar links, die du wahrscheinlich auch schon kennen wirst: http://www.port.de/engl/canprod/software.html http://www.esacademy.com http://www.canopen.us http://www.microcanopen.com
Danke fnah! Ich hab mal den Code unter http://www.canfestival.org angeschaut. Ganz schön komplex die Sache. Für meine Bedürfnisse ist dies wohl zu viel. was ich brauchen könnte ist mal zuerst so ein ganz kleines Beispiel, wie das mit dem PDO und SDO funktioniert. Wie ich was genau einstellen muss.
Patrick wrote:
> Also so ganz hilfreich waren die Anrworten hier für mich nicht.
Genau. CANopen wollen und dann beschweren wenn es komplex wird.
Ich würde dir raten dir ein einfacheres oder eigenes Protokoll zu
suchen, denn CANopen IST komplex.
Mir mir kommt es so vor, als ob es sehr sehr wenig kostenlose Quellcodes in C gibt. Mir würde eigentlich schon reichen, wenn ich mal ein sehen könnte, wie so eine Nachricht mit CanOpen versendet bzw. empfangen wird.
Hat hier jemand ein einfacheres Protokoll auf einem Mikrocontroller zum laufen gebracht? Und wenn ja, wie sieht das Konzept aus?
Wenn du nichts kaufen willst, dann denk dir doch einfach eines aus. So viele Möglichkeiten hast du nicht: 1. Verwendung des Identifiers festlegen (da kann man sich z. B. an CANopen orientieren) 2. Verwendung der 0 bis 8 Datenbytes festlegen. Mehr ist das nicht. btw. Freie Quellen (ob nun in C oder was anderem) sind eine freiwillige Sache der Entwickler. Und da der CANopen-STack bei halbwegs vollständiger Implementierung recht aufwendig wird, gibt es nur wenige, die ihre Arbeit für lau ins Netz stellen (davon leben eben auch einige Firmen). Vielleicht finden wir ja deine Sourcen gut dokumentiert und mit wenigen Fehlern bald im Netz - so als Vorbild... Gruß, der Gast
Ok dann werd ich mir ein eigenes Protokoll erstellen. Die Identifier lege ich doch als erstes fest, oder? Wo plaziere ich die Nummer der Teilnehmer und die Nummer des Message Objektes? Wie könnte ich die Nutzdaten abfragen?
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.