Softmotion ethercat bus problem (The fielbus slave is no longer in opperational state)

Hello everyone,

At the moment I am experiencing a problem with the Softmotion library, that seems to be related with the initialization of the EtherCat bus. When I download my project to the Core, and restart everything works fine. However, when power cycling the system, Softmotion goes into an error state that can’t be reset. This error is cleared on doing a reset of the plc.

Based on the error description, one would assume that is would have something to do with calling Softmotion function block’s before the bus is operational. However then delaying the initialization of my program, nothing changed. Furthermore, when downloading an almost empty project, that doesn’t call any Softmotion functions, the same thing happens.

PLC-Engineering version: 1.20.12, CtrlX Works version: 2.6.6

Does anyone have any suggestions?

Best reply by Stagiair4Unisign

I ended up not finding a solution for this problem, but I did find a workaround. As stated before the error cant be quickly reset using the MC_Reset function block. However, the error is cleared using the SMC3_ReinitDrive function block. Per drive this function block needs to be consciously called, until the bDone output becomes true (a couple of seconds).

Additionally I used EtherCat bus diagnostics to ensure that the bus is indeed operational, before reinitializing the drives. A link to the post I used: https://community.boschrexroth.com/ctrlx-automation-how-tos-qmglrz33/post/get-ethercat-diagnosis-from-ctrlx-core-into-plc-aNvAIoxQxucNXHl .

To summarize:

The program waits 100ms. Then it waits until the bus is operational, using Ethercat_Diagnosis_1V00. Afterwards each drive is reinitialized using SMC3_ReinitDrive, until it is done.

 

View original
3 replies