Electrical Engineering Stack Exchange is a question and answer site for electronics and electrical engineering professionals, students, and enthusiasts. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Is there a resource that describes how CANopen frames are constructed down to the byte level?

I'm trying to decode a hex dump from a CAN bus, see the image below. The high-level CAN messages that created this data are:

# Parameter: Node Id
NodeId = 127                                                   # Node Id

# Initialisation
mc.Can.SdoWr(NodeId, 0x3000, 1, 1)                             # Reset error register
mc.Can.SdoWr(NodeId, 0x3000, 1, 0x77)                          # Relative positioning 150 counts

CANopen SDO bus capture

share|improve this question

Generally I've found that actual device manuals usually have the easiest to understand descriptions of the CANopen protocol. They are hands on, and seem to have a much more practical approach than many other materials.

For example this one I found quite easy to follow: http://www.a-m-c.com/download/sw/dw300_3-0-3/CAN_Manual300_3-0-3.pdf

Over at stackoverflow other people have asked similar questions and they've gotten a good amount of answers: http://stackoverflow.com/questions/1232624/how-to-program-a-simple-canopen-layer

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.