www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Canopen Protokoll


Autor: Patrick (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Patrick (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Patrick (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die Info. Bin leider immer noch planlos. Mir konnte hier bis 
jetzt zum Thema CanOPEN niemand helfen.

Autor: fnah (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: fnah (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
...oder bist du der Patrick, der in dem Thread schon etliche Beitraege 
geschrieben hat? Wenn ja, warum dann ein neuer Thread zum gleichen 
Thema?

Autor: Patrick (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bin ein anderer Patrick. Ich hab in diesem Forum mal nach canopen 
gesucht, so informativ sind diese Threads nicht. Bringt mir nicht 
sonderlich viel.

Autor: fnah (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Patrick (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Patrick (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also so ganz hilfreich waren die Anrworten hier für mich nicht.

Autor: Willivonbienemaya .. (willivonbienemaya)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Patrick (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Patrick (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hat hier jemand ein einfacheres Protokoll auf einem Mikrocontroller zum 
laufen gebracht? Und wenn ja, wie sieht das Konzept aus?

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Patrick (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.