Jump to content
OMRON Forums

Servo execution time EtherCAT


Recommended Posts



I've been working on moving the control architecture of one of our machines onto EtherCAT.


To give you an idea of the size of the network we have 19axis of motion, 32 force channels, 32 incremental encoder measurement channels, and a lot of dig IO.


Having read the manuals and from assembling the hardware, I've noticed that our Servo execution time is a lot higher than it would have been previously on our 465 UMAC backplane configuration.


I am using a CK3E CPU running at 2kHz servo frequency and the Servo code is taking about 200microseconds to execute utilising 25-30% of the available cpu.


This is greater perhaps double what we would see on our old configuration. I understand the cyclic input and output transfers of EtherCAT IO is now happening in the Servo which accounts for this increase.


Do you have a feel for how much time it takes to process for instance a single 32bit input variable?


Also are there any tips on how to make things more efficient? Is it better to map two 16 bit inputs or combine them as one 32bit?


This increase in servo execution time is causing our RTI to drop out with bsy/err as we run out of CPU time.


It is possible we can run at 1kHz servo frequency but first I would prefer to optimise what we have before resorting to that.


Sorry for the long post.

Link to comment
Share on other sites

  • Replies 3
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

You can see the total transfer & receive times in the structures Sys.RxTime and Sys.TxTime.


The time is not linear, so you can not just take the time for one 32-bit register and multiply it. You can come a little closer having the "base" value of a basic operating setup then seeing what happens when you add more PDO's for your drive or IO.


Having said the above, optimizing is just eliminating unused data from the PDO's. Transfer less data & less PDO's and your Rx & Tx times will decrease.

Link to comment
Share on other sites

Hi Brad


I semi expected that to be the answer.


My PDO is currently 600bytes most I will be able to get it down too is 500bytes and that is pushing it to the bare minimum.


I guess that leads me to the next question do you have any plans to move to a more powerful arm processor in the future?

Link to comment
Share on other sites

This topic is now closed to further replies.

  • Create New...