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

Lost Fieldbus synchronization in SoftMotion Task

vmphuc
2018-06-07
2019-08-04
  • vmphuc - 2018-06-07

    Dear all,

    I am doing a project which needs control position of several servo motors. To be more detail, they are EtherCAT slaves when I connect them to PC (run SoftMotion Realtime).

    I tested separately each servo motor with function block SMC_FollowPosition as following:
    Sine signal --> Get each point of Sine signal in every 5 ms --> set this point to Position of SMC_FollowPosition. In this case, servo motor operate smoothly and I checked set position and actual position, which are very good result.

    However, When I connect 6 pieces servo motor in "LINE" topology with the same trajectory. The actual position of these motor is very different, and actual position did not track to set position. In EthercatSoftMotion Master, I realized that there were errors "Lost synchronicity" and "hardware realtime problem".

    Does anyone know how to fix this problem? Please help me, I am very appreciated.

    Best regards,
    Mr. Phuc

     
  • eschwellinger

    eschwellinger - 2018-06-07

    Hi,
    are you using SoftMotion RTE as plc with enabled distributed clocks on the SoftMotion Ethercat Master?
    This is mandatory to have for this.
    How is the jitter on the ethercat Task ( = Motion Task)? -> check with the task monitor when you are online

    BR
    Edwin

     
  • vmphuc - 2018-06-08

    Edwin Schwellinger hat geschrieben:
    Hi,
    are you using SoftMotion RTE as plc with enabled distributed clocks on the SoftMotion Ethercat Master?
    This is mandatory to have for this.
    How is the jitter on the ethercat Task ( = Motion Task)? -> check with the task monitor when you are online
    BR
    Edwin

    Hi Mr. Edwin,

    I set EtherCAT task is cyclic with 5 ms interval, it's the same time with distributed clock of EtherCAT master SoftMotion.
    In EtherCAT task, I call Motion Task (MAIN in attached picture), which implements motion blocks such as: MoveAbsolute, SMC_FollowPosition.

    I set priority "0" for EtherCAT task, and the jitter time of this task is 13500 us.

    Please kindly help me if you see any problems in my configuration or hardware (I use IndraDrive of Bosch Rexroth)

    Best regards,
    Mr. Phuc

    IMG: EtherCAT_Master.PNG

    IMG: Task.PNG

    IMG: Monitor.PNG

     
  • eschwellinger

    eschwellinger - 2018-06-08

    Hi,
    please do a reset on the taskmonitor - by rightclick on the Ethercat line-- to see clean min/max values.
    the most important are the last two Min / Max Jitter should be <+/+40us

    BR
    Edwin

    IMG: reset.jpg

     
  • vmphuc - 2018-06-08

    Hi Mr. Edwin,

    I've just checked. The average value of min/max jitter is around 17 us, but sometimes these values exceed +- 20us as attached picture.
    What should I do to fix this problem? In my opinion I have to increase cycle time of task, or Does EtherCAT master card have problems? ( I use Intel 217, and install driver manually in Codesys directory).

    Best regards,
    Mr. Phuc

    IMG: Jitter.PNG

     
  • eschwellinger

    eschwellinger - 2018-06-08

    Hi,
    no, everything seems ok from my point of view.
    Do have bought a license for the Softmotion RTE(has nothing to do with the sync fault - just administrative question)

    BR
    Edwin

     
  • vmphuc - 2018-06-08

    Hi Mr. Edwin,

    Now, I use trial version which works within 2 hours. After finishing testing, I will buy license via Store Codesys.
    Is it OK to test with trial version?

    BR,

     
  • eschwellinger

    eschwellinger - 2018-06-08

    Hi,
    sure, should work for testing without problems.

    BR
    Edwin

     
  • vmphuc - 2018-06-08

    Hi,

    Now I don't know where this problem come from. I tested with single servo motor, and also 6 virtual servo motors. The result of this case is very good, actual position always track to set position which I set through SMC_FollowPosition.

    However, when I test with 6 pieces of real servo motors, actual position cannot track to set position.
    Could you recommend solution for this problem?

    BR,
    Mr. Phuc

     
  • eschwellinger

    eschwellinger - 2018-06-08

    Hi,
    hm.. hard to say without checking it online on your devices.
    How could we proceed with this?
    CODESYS store - my question.
    BR
    Edwin

     
  • cookiy - 2018-12-02

    Dear sir:
    I have the same question with you. I also use a codesys with 2 hours and now when I set the sync to 4ms and offset 20%, it gets a error of fieldbus lost synchronicity when I try to control 5 real motor after about half ah hour. which is amzing is the drivers do not have any error about this,just error occured in codesys.
    I try to fiind the jitter of the ethercat task, about 1300+us, I think the jitter is too large so lead the error occuring,then I changed the offset with different values and find a best value is -20% with the jitter within 150us. And I think i get the real question about this error,but after about half an hour, i also got the same error and i find the jitter becomes more and more big.
    I really do not know the interal reason of the error "fieldbus lost synchronicity" and if it comes up with the task jitters.
    Do you got the answer of this ?
    Thanks for reading!

     
  • eschwellinger

    eschwellinger - 2018-12-02

    Hi,
    On which system are you using it? Linux... is the kernel rt_preemt patched?
    If it is Windows and RTE you need to setup the bios options...
    Br
    Edwin

     
  • cookiy - 2018-12-03

    Edwin Schwellinger hat geschrieben:
    Hi,
    On which system are you using it? Linux... is the kernel rt_preemt patched?
    If it is Windows and RTE you need to setup the bios options...
    Br
    Edwin

    Thanks for help!
    the hardware is most link BBB and come up with my Customer! Do you think this error has something to do with the hard real-time? But my Customer say that he control the motor with another drivers successfully.
    Thanks!

     
  • eschwellinger

    eschwellinger - 2018-12-03

    Hi,

    Zitat:
    But my Customer say that he control the motor with another drivers successfully.

    verify the the task jitter on the EthercatMaster/Motion task.
    -> reset by rightlick - then the last to rows - jitter

    BR
    Edwin

    IMG: Jitter.png

     
  • cookiy - 2018-12-03

    Edwin Schwellinger hat geschrieben:
    Hi,
    verify the the task jitter on the EthercatMaster/Motion task.
    -> reset by rightlick - then the last to rows - jitter
    BR
    Edwin

    Thanks very much!
    I have done the same thing and the jitter is larger than 150us, when it get longer, the value is getting large and the maximun will be 1300us.
    I also has a question than the controller has only one RJ45 and shared with ethernet and ethercat by a tplink, Do you think this will be a question?
    Thanks.

     
  • cookiy - 2019-08-03

    Edwin Schwellinger hat geschrieben:
    Hi,
    are you using SoftMotion RTE as plc with enabled distributed clocks on the SoftMotion Ethercat Master?
    This is mandatory to have for this.
    How is the jitter on the ethercat Task ( = Motion Task)? -> check with the task monitor when you are online
    BR
    Edwin

    Thanks very much,I monitor the jitter in codesys but max jitter just 150+us.

     
  • eschwellinger

    eschwellinger - 2019-08-04

    Hi,
    If this is Softmotion RTE unusual much....
    Which plc are you using?
    BR
    Edwin

     

Log in to post a comment.