Hi endian,
I spent quite a few hours on this again today and tried to narrow it down properly instead of guessing.
On the full 13-slave bus, all other slaves go OP but the AX5125 at slave 7 still drops to PREOP + ERROR. The relevant lines are
:ethercat slaves:
7 0:7 PREOP E AX5125-0000-0216 EtherCAT Drive (SoE, 1 Ch.)
dmesg:
EtherCAT WARNING 0-7: Slave does not support changing the PDO mapping!
Currently mapped PDO entries: 0x0086:00/16 0x002F:00/32. Entries to map: 0x0086:01/16 0x002F:01/32 0x0024:01/32 0x0050:01/16 0x81E4:01/32 0x81E5:01/32
EtherCAT WARNING 0-7: Slave does not support changing the PDO mapping!
Currently mapped PDO entries: 0x0087:00/16 0x0033:00/32 0x00BD:00/32. Entries to map: 0x0087:01/16 0x0033:01/32 0x00BD:01/32 0x0054:01/16 0x0028:01/32 0x81CC:01/16 0x81CD:01/16
EtherCAT ERROR 0-7: Failed to set SAFEOP state, slave refused state change (PREOP + ERROR).
EtherCAT ERROR 0-7: AL status message 0x0045: "MBX_SOE".
I also made an AX-only test again. Earlier the AX could reach OP by itself, but I still could not get the motor to actually rotate from LinuxCNC. I tried both a direct velocity-command approach and then a stepgen/position-command approach. The command chain seems to work up to the AX command pin, but the motor still does not move.
From the AX-only spin test:
halcmd getp lcec.0.Antrieb-1-AX5-0.slave-oper
FALSE
halcmd getp lcec.0.Antrieb-1-AX5-0.slave-state-op
FALSE
halcmd getp lcec.0.Antrieb-1-AX5-0.Drive-status-wo-6
40960
halcmd getp spindle.0.speed-cmd-rps
8.333333
halcmd getp stepgen.0.velocity-cmd
8.333333
halcmd getp stepgen.0.position-fb
157.122
halcmd getp sercos.0.pos-cmd
157.1553
halcmd getp lcec.0.Antrieb-1-AX5-0.Position-comman-1
164824253
ethercat slaves:
0 0:0 SAFEOP E AX5125-0000-0216 EtherCAT Drive (SoE, 1 Ch.)
dmesg:
EtherCAT ERROR 0-0: Failed to set OP state, slave refused state change (SAFEOP + ERROR).
EtherCAT ERROR 0-0: AL status message 0x001A: "Synchronization error".
I also tested removing IDNs 32972, 32969, 32971 and 32970 once from initCmds, but that changed nothing, so I restored the original file again.
So at this point I have two clear observations:
on the full bus the AX still fails with MBX_SOE,
and on the AX-only LinuxCNC spindle test I can generate command values but still cannot get the drive to rotate.
What would you check next? I am little bit out of ideas. Thanks for your time!
greetings
Tom