0

I'm new to CANopen so excuse me if it's all nonsense. i need to specify some systems on a CAN bus network with CANopen. Because there are only 4 pre-defined PDOs and in some cases there are more data items, I thought of using one PDO and adding a label for the data, like 1 byte for label and 7 bytes for data.

That raises the question if the receiver will respond quickly enough, as it may, for example, receive a PDO with data0 (label 0) followed by another PDO (same COB-ID) but containing data1 (label 1). I'm not sure if the receiver won't miss data. And that approach seems to be unorthodox, to say the least...

I just learnt now that there can be more than 4 TPDO and RPDO defined, but in that case, more than 4 bits for the function code are needed and less will be left for the node ID. I'm fine with that, I just have 9 devices in the network (4 bits needed) and could have the remaining 7 bits for function code, so more than 100 PDOs could be defined, that would be better, is that a better way to approach my needs (many PDOs, few nodes)? If so, any pointer on how to do it? Is it a master task to configure the slave devices or could they be configured at start via some local file?

Joan
  • 1,403
  • 1
  • 9
  • 11
  • One physical device can communicate with multiple node addresses. That accomplishes your goal (fewer bits for node identification, more unique messages) without rewriting the CANopen protocol. The device should respond to network management messages at all its addresses. – Ben Voigt May 04 '22 at 15:12
  • Are you working with off the shelf canopen devices or building a device which uses canopen, or some mix of the two? – Bryan May 06 '22 at 18:38

0 Answers0