Canopen Protokoll

Gast #600095
Lesenswert?

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?
Gast #600225
Lesenswert?

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
Gast #600267
Lesenswert?

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
Gast #600718
Lesenswert?

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.
Gast #600772
Lesenswert?

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
Gast #600787
Lesenswert?

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?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren