Usage of RPDO COB-IDs

48 views Asked by At

I am implementing a CANopen application. The last few weeks I have learned a lot about CAN and CANopen. One thing I can not wrap my head around is RPDOs.

I understand that an object dictionary contains dedicated space for TPDOs and RPDOs. It is clear to me that if a node needs to periodically receive a PDO, I would map an RPDO to a certain spot in the object dictionary (for example a variable at index 0x6000).

What I don't understand is the COB-ID of these RPDO messages.

If a node periodically sends a PDO, it would be mapped in TPDO in the OD, and the logical COB-ID would be 0x180 + node ID.
But when would a node send a message with COB-ID 0x200 + node ID for example? Because the message type would be "Receive PDO 1", but the periodic message would be mapped in the transmitter under TPDOs, correct?

That would mean that the TPDO/RPDO in OD:
enter image description here

does not relate to Transmit/Receive RPDO 1 to 4:
enter image description here

Is my understanding correct?

0

There are 0 answers