Unrecoverable SoftMotion state after switch to PreOp

Kim
2015-07-10
2024-11-15
  • Kim - 2015-07-10

    Running v3.5.3.30 in our iX TxB SoftMotion terminals.

    In order to execute a special function in our servo drives, we need to leave Operational mode and go to PreOperational mode. I do this the usual way (using a pointer to the slave):
    pSlave^.SetOpMode(ETC_SLAVE_STATE.ETC_SLAVE_PREOPERATIONAL);

    The slave wState goes to PreOp and the SoftMotion axis wCommunicationState becomes 1100 (ETC device is no longer in mode Operational). So far it seeems ok.

    I carry out my special function by doing a couple of SDO parameter read/writes, when I'm done I go back to Operational state using a sequence where I command the drive to Init, then PreOp, then SafeOp, then Op and the drive wState becomes ETC_SLAVE_OPERATIONAL, so far so good.

    But.... the SoftMotion axis is still stuck in wCommunicationState 1100 no matter what I do.
    Neither MC_Reset or SMC3_ReinitDrive helps.
    In pure desperation, I even tried doing a softreset of the EtherCAT_Master using:
    g_pFirstMaster^.xRestart:=TRUE;
    g_pFirstMaster^();
    g_pFirstMaster^.xRestart:=FALSE;
    Didn't help either, for sure the EtherCat restarts but the Softmotion axis is still stuck in 1100 and MC_Reset/SMC3_ReInitDrive still doesn't help.

    The only thing that fixes this is a warm/cold start, which ofc isn't acceptable.

    I hope I'm doing it wrong... Should I switch state in another way?
    What to do in order to obtain a correct behaviour?

    Regards,
    Kim Hansen
    Beijer Electronics Automation AB

     
  • eschwellinger

    eschwellinger - 2015-07-10

    Hi Kim,
    I've send you an email accoring this.

    BR
    Edwin

     
  • Kim - 2015-09-08

    Update:
    This seems to be working in v3.5.6.10 so most probably no longer an issue.

     
  • masterofplc - 2024-11-15

    Hi.
    i have the same problem.
    Thank you

     

Log in to post a comment.