Implementing CANopen => Help

I'm currently working on implementing the CANopen protocol from the ground up on a CAN-enabled processor. However, I'm having some trouble understanding how (and where) to actually start. I have the Application Layer and Communication Profile (CiA DS 301). I've been reading about the object dictionary quite a bit, but am unsure what exactly the OD does. How is it used? What do I need to do to actually implement the OD?

Any help on anything at all related to CANopen would be very much appreciated.

Ger.

Reply to
Gerard Sweeney
Loading thread data ...

Hope you already looked at the information provided at:

formatting link
or a lot more links at
formatting link

After study all these documents, you should be able to implement CANopen from scratch. But be aware, CANopen has many faces, man extensions and features. You should know the goal before starting. And - please excuse - without a lot of experience in CAN already, embedded computing, other automation protocols and systems, look for a commercial available product. Gives you more long term satisfaction.

Regards Heinz

--

with best regards / mit freundlichen Grüßen

   Heinz-Jürgen Oertel
+===================================================================
| Heinz-Jürgen Oertel  port GmbH  http://www.port.de
| mailto:oe@port.de
| phone +49 345 77755-0     fax   +49 345 77755-20
| Regensburger Str. 7b,     D-06132 Halle/Saale,  Germany 
| CAN Wiki    http://www.CAN-Wiki.info
| Newsletter: http://www.port.de/engl/company/content/abo_form.html+===================================================================
Reply to
H.-J.Oertel

Maybe a search at sourceforge.net helps. Peter

-- Bitte nur in der Gruppe antworten. Please reply only in the group.

Reply to
Peter Wucherer

Are you building a CanOpen master of just a slave ? If you are making a slave, do you need to pass the interoperability test or make a device that works in some specific systems ?

For a simple slave, look at the "predefined connection set" and if it is sufficient, a lot of the OD stuff can be hardwired. At a minimum, you will have to handle the NMT (start/stop), PDO:s and answer some expedited (single frame) SDO request with a constant single frame reply. You need the ability to set the node number on the device, since it affects the CAN identifier numbering.

You are gong to need the OD, if you intend to implement a CanOpen master with freely configured nodes (slaves). Usually you start by reading the EDS (Electronic Data Sheet) files for each node type or the DCF file for each individual node and build some tree structure in memory to hold this data.

Paul

Reply to
Paul Keinanen

Thanks for the links. I had seen the can-cia page already, but the wiki page is new to me. I'll take a look at that.

I'm doing it as part of a final-year project, so I don't have much choice as regards getting a commercial solution :-P

Gerard.

Reply to
Gerard Sweeney

In your case, doing it as a school project, you have to do it by yourself, thats right. In this case write clearly down your requirements. Start looking what the standard DS301 declares as mandatory. It should be possible to implement this in reasonable amount of time.

Heinz

--

with best regards / mit freundlichen Grüßen

   Heinz-Jürgen Oertel
+===================================================================
| Heinz-Jürgen Oertel  port GmbH  http://www.port.de
| mailto:oe@port.de
| phone +49 345 77755-0     fax   +49 345 77755-20
| Regensburger Str. 7b,     D-06132 Halle/Saale,  Germany 
| CAN Wiki    http://www.CAN-Wiki.info
| Newsletter: http://www.port.de/engl/company/content/abo_form.html+===================================================================
Reply to
H.-J.Oertel

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.