Welcome to our new forum
All users of the legacy CODESYS Forums, please create a new account at account.codesys.com. But make sure to use the same E-Mail address as in the old Forum. Then your posts will be matched. Close

EtherCAT FrameAtTaskStart setting

Kim
2015-09-08
2015-09-14
  • Kim

    Kim - 2015-09-08

    When we started out with SoftMotion, we had a customer with positioning variations who was running Codesys RTE v3.5.4.0.
    This was fixed back then by using

    g_pFirstMaster^.FrameAtTaskStart := TRUE
    

    However, on a PC with Codesys RTE version v3.5.7.10 we've now found that this setting causes trouble.
    It was first noticed at a customer running 30+ axes, but we have been able to reproduce it running as little as 6 axes at the office.

    What happens is that the EtherCAT is not able to get the bus up and running, the xDistributedClockInSync flag never goes high and the status symbols of the servo controllers in the EtherCAT slave list changes between green circle to red triangle all the time.
    If we online change the FrameAtTaskStart code to be FALSE then the bus immediately goes up and running, and vice versa.

    We have tried this on both EtherCAT_Master and EtherCAT_Master (SoftMotion), same behaviour in both.

    Could you please follow up on this? Has the behaviour of this setting been changed between versions? Is it needed or not nowadays?

    Regards
    Kim Hansen
    Beijer Electronics Automation AB

     
  • eschwellinger

    eschwellinger - 2015-09-13

    Hi Kim,

    need the logger Information fo the case the bus does not start...
    (and the drive strInterfaceError).
    Which drives (type) are conneted in this scenario?

    BR
    Edwin

     
  • Kim

    Kim - 2015-09-14

    Hi Edwin,

    some more input for you.

    For EtherCAT SoftMotion device, I have found that as long as I leave FrameAtTaskStart untouched it works. However, if I set it to true via program code it starts misbehaving which I find strange considering what you said in your previous post. Either way, applications running on a PC we don't consider it to be a problem anymore, we will just switch to EtherCAT SoftMotion device and remove the code for FrameAtTaskStart.

    For the standard EtherCAT device though, I get problems if I set the FrameAtTaskStart to true programmatically.
    Why am I even testing this you might ask? Well, main reason is that our main platform is using v3.5.6.40 where the EtherCAT SoftMotion device doesn't exist.
    I'm attaching a log (cold reset at 11:02:04, bus goes up at 11:02:07, program is started at 11:02:13 and then the problems occur immediately).
    Test program is basically empty and only contains FrameAtTaskStart=true and StartConfigWithLessDevice=true;
    We're running 6 servo controllers of Beijer brand which in turn are using the SM_Drive_ETC_GenericDSP402.
    The error in the status field of the SM_Drive_ETC_GenericDSP402 says "Configuration Error" when the problem occurs.

    I will get back to you with another report when I've tested our main platform running v3.5.6.40.

    Kim Hansen
    Beijer Electronics Automation AB

    Log_EtherCATMasterDevice_Programmed_True.xml [31.36 KiB]

     
  • Kim

    Kim - 2015-09-14

    Hi Edwin,

    so I tested this using our TxB which runs v3.5.6.40 and it yields the exact same results as the PC when running v3.5.7.10 using the standard EtherCAT Master device.
    As soon as I set the FrameAtTaskStart=true, boom, the problem occurs.

    Please let me know if you find something or require more information or maybe a teamviewer session.

    In the meantime I will talk to our HMI dept. about using v3.5.7.10 instead of v3.5.6.40 as planned (since it seems to work if we use the EtherCAT Master SoftMotion and don't touch FrameAtTaskStart).

    Best regards,
    Kim

     

Log in to post a comment.