Hi,experts
I’m using X20CP0410+BB57 to control a Servo with Canopen.The picture shows what is happening on the bus.After Master read 1000.00h(Device Type)、1018.00h(number of Entries) 、1018.01h(Vendor ID)、1018.02(Product Code)、1018.03h(Revision number).Master hadn’t configured the slave via SDO telegrams and I wonder why this not happen?
Hello,
i do not have much expirience with CAN in recent times. Just to get a full picture. Which Settings were made to the CAN-Interface?
Greetings
Michael
It looks like the CANopen master is not parameterizing the slave device, and the slave device just doesn’t know what to send in the PDOs once the network reaches the operational state.
Try changing your CANopen download settings to “Write All Objects on Download.” The setting is a bit hidden, but you can reach it by opening the CAN interface configuration (1), then going to Edit (2) > CANopen (3) > Write All Objects on Download(4). Build the project and transfer to the PLC. You may need to give a warm restart to both the PLC and slave device.
The reason you would not want to write all objects on download, is that it causes a longer startup time if the slave device is capable of remembering its configuration.
-Austin
Thanks for reply.But it stills don’t work after I choose “Write All Objects on Download.”
Looking closer, the COB-IDs for RPDO2+ and TPDO2+ are very high. 0x80000400 has a 1 in the 31st bit (0 index), which would be outside the range of 11-bit or 29-bit CAN-IDs. You have the controller configured for 11-bit CAN-IDs.
Try not assigning RPDO2+ and TPDO2+, and change the CAN identifier length to support 29-bit CAN-IDs. You may also need to look at the EDS file imported for this device.
-Austin







