0
$\begingroup$

Rosanswers logo

Hey guys,

I'm at a dead-end so in need of some help from the community, please. This question follows on from a closed GitHub issue on ros_canopen. My problem is as follows:

  • I'm unable to do a PDO re-map procedure using ros_canopen_master.
  • If I don't do the PDO re-map procedure the Schneider Lexium 28 controller does enable voltage but halts due to an error message: "PDO packet too long".

Some background data:

  1. Both EDS and DCF formats have been tried. Setting ParameterValue via CANeds, text file or dcf_overlay in driver.yaml makes no difference to the error. Looking at the source code in ros_canopen, the error seems to be that it tries to read an SDO which the package is not setup to do (bubbles up at object dictionary 1800sub1 but this doesn't seem to point to anything useful) but I am not asking it to read an SDO, just write to them in the devices pre-operational state so it can re-map the PDO.
  2. ros_canopen version 0.8.5
  3. TPDO & RPDO mappings as follows:

"1A00sub0": "2"
"1A00sub1": "0x60410010" ---------------- # statusword [2 bytes]
"1A00sub2": "0x60610008" ---------------- # modes of operation display [1 byte]
"1A01sub0": "1"
"1A01sub1": "0x60640020" ---------------- # actual position value [4 bytes]
"1600sub0: "2"
"1600sub1": "0x60400010" ---------------- # controlword [2 bytes]
"1600sub2": "0x60600008" ---------------- # modes of operation [1 byte]
"1601sub0": "1"
"1601sub1": "0x607a0020" ---------------- # target position [4 byte]


Originally posted by robertjbush on ROS Answers with karma: 31 on 2021-04-26

Post score: 0

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

See this github issue (#425) for corrective action. Essentially comment out line 429 sdo.cpp but BEWARE not recommended by maintainer of package. A more permanent fix is being investigated.


Originally posted by robertjbush with karma: 31 on 2021-04-30

This answer was ACCEPTED on the original site

Post score: 0


Original comments

Comment by miura on 2021-04-30:
Congratulations.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.