Closed open04 closed 9 months ago
Here is the log:
SOEM (Simple Open EtherCAT Master) Simple test Starting simple test ec_init on eth0 succeeded. 1 slaves found and configured. Slaves mapped, state to SAFE_OP. segments : 1 : 36 0 0 0 Request operational state for all slaves Calculated workcounter 3 Operational state reached for all slaves. SDO write ERROR : slave 1 is in SAFE_OP + ERROR, attempting ack. WARNING : slave 1 is in SAFE_OP, change to OPERATIONAL. MOO : 0 CW128 ERROR : slave 1 is in SAFE_OP + ERROR, attempting ack. WARNING : slave 1 is in SAFE_OP, change to OPERATIONAL. CW6 CW7 CW15
Yes the behaviour makes perfect sense. When a slave goes to operational a watchdog timer is started on the slave that monitors cyclic PDO transfers. After more than 100ms of no transfers the watchdog kicks in and the slave goes in safe-OP+error state.
You need to have a separate task that does continuous process-data transfers. See many posts here on how to do that (use the search function).
Hi Arthur, Thanks! Searched for the same issue here and I can now control my motor. Thanks again
Hi, first of all, thank you for making this library.
As the title stated, Im having SAFE_OP + ERROR after sending SDO. I modified the simple_test to try to rotate the motor. Here is the modified simple_test:
there is no problem when I tried to run the original simple_test script. am I missing something?