RE: CANOpen PDO assignment.

"John Dammeyer" <[email protected]>
Newsgroups gmane.comp.hardware.bus.can
Message-ID <8CDEA710E4D3466CAAE6A9E6F82E2526@asus>
Heinz,

Indirectly you've answered my question.  Although 301 and 401 talk about
default TPDO and RPDO COBIDs in reality there is no such thing.  They are
all just PDO COBIDs from 0x181 through to 0x57F and how you use them
within a node determines if they are a TPDO or a RPDO.  The only hard and
fast rule is the lower 7 bits 'should' be the CANOpen Node ID of the
sender to avoid any possibility of collisions.

Even Christian, Andrew and Olaf's "CAN and CANOpen" book really don't
address this aspect other than mentioning that some nodes 'Receive' a TPDO
and 'Send' a RPDO and how to map the Object Dictionary in a way to make
the data show up at the right spot.

Microchips CANOpen stack, in order to be small and fast, has so many
levels of indirection and macro processing definitions that it's extremely
hard to follow what they are doing.  And it had some bugs.

And yet, the basics of CANOpen with SDOs and PDOs, can make it a simple
system to describe.  As long as the dynamic configuration etc. is left for
later chapters.

It's easy to get lost in the overall universality of CANOpen.  Like the
expression.

When you are up to your ass in alligators it's hard to remember that you
were there to drain the swamp.  And to drain the swamp all you need to do
is pull the drain plug.

Thanks for the feedback.

John Dammeyer

>

> And this brings up a new question. What are CANOpen implementers
actually

> doing with RPDOs and TPDOs. Are 99.9% of the CANOpen systems really just

> Master/Slave?

>

>



No, they aren't.

CANopen lives from its configurability.

You have to configure, and this is done typically with the RPDOs,

The COB-ID and often the mapping too.

Most often you have digital Inputs mapped to a Transmit PDO lets say with
Id 181.

Other nodes that should receive this one, one is putting this input RPDO
to relays,

another node is only displaying these inputs





Node 1 has a (pre-defined) TPDO on 0x181

Node 2 a (configured) RPDO on 0x181

Node 3 a (configured) RPDO on 0x181



>

> Thanks

> John Dammeyer





Regards Heinz

I'll send you one of our CANopen training slides in some minutes.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.