I am trying to use a Yaskawa SGD7S-2R8AA0A002 EtherCAT servo drive with LinuxCNC (Yaskawa SGM7J-04AFC6S servo motor). The drive can jog just fine from SigmaWin+ over USB. However, when trying to use it with LinuxCNC I am running into similar problems as in this thread -- it stays in PREOP state.
To be clear, I know that I generally have LinuxCNC working with EtherCAT correctly because I tested a Chinese JMC JASD7502-20B-EC servo drive with success. I used the same configuration, modifying only the EtherCAT configuration XML file that is passed to the lcec_conf HAL component.
It sounds like the Yaskawa EtherCAT drive requires that read/write PDOs are done in different packets (domains)? And that this requires some rewriting of the LinuxCNC EtherCAT driver? If so, is there any progress with this?
I attached the XML configuration file where I commented out all pdoEntry elements (in case they were causing problems), and I attached the dmesg output with "ethercat debug 1" set. The dmesg log ends with the following:
Code:
[ 1952.331425] EtherCAT ERROR 0-0: Failed to set SAFEOP state, slave refused state change (PREOP + ERROR).
[ 1952.332421] EtherCAT ERROR 0-0: AL status message 0x001D: "Invalid output configuration".
[ 1952.334423] EtherCAT 0-0: Acknowledged state PREOP.
If you have found a solution, I would love to hear about it!