Is there a way to read the homed status from the EtherCAT drive directly? I am currently flagging the homed status on the succesful completion of the MC_Home function block, but I have had false triggers where the drive didn't actually execute the homing procedure but the MC_Home FB is marked as complete without error.
I looked at other MC/SMC function blocks but the closest I can find is the "Homing" bit from MC_ReadStatus FB, but this doesn't show if the drive is succesfully homed, only that it's homing.
Any guidance is welcome. Thanks!
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hello,
I have experienced such situations with some servo drive devices in the past.
The home completion information is reported to the upper controller by the slave drive with the states of the relevant bits in the StatusWord (for example; 6041h Bit10, Bit12 in Home mode). If the states of these bits are correct in terms of number and state but the motor does not actually perform the action;
You can contact the slave drive manufacturer. There may be a problem with the device firmware.
Hello, the information if your axis is already homed you could only find out direct from your Slave.
In DS402 status there is no Bit defined. But some manufacturer of Drives use some optional bits or status. E.g. if you have Schneider Electric LXM32 Servo you will find this information in Bit 15. You have to check the manual of your used Servo-Drive f this information is provided in any object and then read it out with SDO.
@imdatatas, thanks for the info, I increased DSP402.uiHomingMinCycles to 10 and have a good feeling that will solve the issue of "false" homings. It's an intermittent issue so I'll report back once it's confirmed.
@bruno-roth, also good info. According to my documentation, bit 14 is used to indicate the homed status. I did a test and the bit always stays true after it's been homed once (eg. even if I initiate a new homing procedure then hit the the e-stop mid homing), so I need to take that into consideration, but I can work with that.
Thanks!
Last edit: trusty-squire 2025-01-09
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi,
Is there a way to read the homed status from the EtherCAT drive directly? I am currently flagging the homed status on the succesful completion of the MC_Home function block, but I have had false triggers where the drive didn't actually execute the homing procedure but the MC_Home FB is marked as complete without error.
I looked at other MC/SMC function blocks but the closest I can find is the "Homing" bit from MC_ReadStatus FB, but this doesn't show if the drive is succesfully homed, only that it's homing.
Any guidance is welcome. Thanks!
Hello,
I have experienced such situations with some servo drive devices in the past.
The home completion information is reported to the upper controller by the slave drive with the states of the relevant bits in the StatusWord (for example; 6041h Bit10, Bit12 in Home mode). If the states of these bits are correct in terms of number and state but the motor does not actually perform the action;
You can contact the slave drive manufacturer. There may be a problem with the device firmware.
Another area you can play around with is looking at the settings in the "Advanced configuration" for Softmotion axis on the page the link to below, and trying it out and using the one that works for you.
https://content.helpme-codesys.com/en/CODESYS%20SoftMotion/_sm_cmd_add_softmotion_cia402_axis.html
A method I recommended worked for a user as in below message.
https://forge.codesys.com/forge/talk/Engineering/thread/40bc82454d/
I hope your problem will be solved as soon as possible and by sharing the result here, you will help others to know and overcome it.
Good luck.
Best regards,
Imdat
Last edit: imdatatas 2025-01-08
Hello, the information if your axis is already homed you could only find out direct from your Slave.
In DS402 status there is no Bit defined. But some manufacturer of Drives use some optional bits or status. E.g. if you have Schneider Electric LXM32 Servo you will find this information in Bit 15. You have to check the manual of your used Servo-Drive f this information is provided in any object and then read it out with SDO.
@imdatatas, thanks for the info, I increased DSP402.uiHomingMinCycles to 10 and have a good feeling that will solve the issue of "false" homings. It's an intermittent issue so I'll report back once it's confirmed.
@bruno-roth, also good info. According to my documentation, bit 14 is used to indicate the homed status. I did a test and the bit always stays true after it's been homed once (eg. even if I initiate a new homing procedure then hit the the e-stop mid homing), so I need to take that into consideration, but I can work with that.
Thanks!
Last edit: trusty-squire 2025-01-09