Closed PaulVerhoeckx closed 3 years ago
I think your EDS is wrong.
In line 1080, the COB-ID is hard-coded as 0x201:
DefaultValue=513
But it should depend on the NODEID:
DefaultValue=$NODEID+0x200
Please check it with CANeds.
@ipa-mdl, thanks! Hard coded COB-ID's were indeed the problem.
Hi,
I am trying to control 2 drives using ros_canopen, see my ros_canopen configuration below and the PD4N.eds can be downloaded here.
canopen.yaml
Trace
When looking at the candump regarding this object (1400h), I noticed (in the last two lines) that after the RPDO mapping for the drive with node id 2 is done, the wrong COB-id is tried to be written to the drive (201 instead of 202) and a SDO error is returned.
Candump
When I remove the PDO mapping from my
canopen.yaml
, I obviously do not see this problem but I do notice that the control word for node 2 is send to the wrong COB-id (again to 201 instead of 202), the same holds for reading the status word. This practically let's ros_canopen control the CiA 402 Power State Machine twice for node id 1 and never for node id 2.Is this a configuration issue or a bug? Any help would be appreciated!
System:
OS: Ubuntu 18.04 Kernel: 4.9.201-tegra ROS: melodic ros_canopen branch: melodic-devel Drives: Nanotec ST5918L3008-B Motor controller: Nanotec C5-E-1-09