EtherCAT Cycle Time Calculator Walkthrough
Our customers often ask us, "What is the fastest cycle time I can achieve with EtherCAT and your Master software (EC-Master)?" Since EtherCAT is the fastest industrial Ethernet protocol, it is typical that our customers want to know just how fast they will be able to run their application with EtherCAT. Of course, there is no straight answer to this question, as the cycle time not only depends on the specific application, but also on the number of devices in the network and the amount of data that will be sent in each cycle. Beckhoff and the ETG refers to this as the total "communication time," which takes into account the complete time for sending the frames, the propagation delay through the network, and the time for receiving the frames. Now, with the introduction of EtherCAT G and G10, there are further variables in calculating the communication time.
We have always helped our customers calculate this communication time for their networks, and it is very useful for them to see how adding in more devices or changing the amount of process data will affect things. Now we have decided to create a simple calculator that makes it very easy to play around with these parameters to see the effect and to figure out how fast they can really go.
Below, we will walk through the calculator and explain the various parameters in more detail.
The first parameter is for the EtherCAT bandwidth. Until recently, EtherCAT was always 100 Mbit/s, but now there is EtherCAT G and G10, for 1 Gbit/s and 10 Gbit/s, respectively. This parameter will affect how long the total number of bytes will take at the physical layer. In a 100 Mbit/s network, it will take 80 nanoseconds per byte, whereas in a 1 Gbit/s network, it will only take 8 nanoseconds per byte, and in 10 Gbit/s networks just 800 picoseconds per byte. However, as we will see later, simply increasing the bandwidth from EtherCAT to EtherCAT G or G10 will not automatically translate to 10x performance gains.
A simple checkbox is provided to indicate if Distributed Clocks (DC) is used or not. The use of DC will add some additional bytes to the process data, and also adds some additional datagrams which will increase the overhead.
Master Software Processing Time
This parameter relates to the amount of time it takes for the master software to process the frames (sending and receiving) for the application. We provide this as a parameter because the amount of processing time will still vary based on the hardware the master is running on, but in a high quality EtherCAT Master, like EC-Master from acontis, this processing time is typically just a few microseconds.
Number of Slave Devices
These two parameters are related to the number of EtherCAT slave devices in the network. We break this out into two different fields because there is a static delay for each slave, but the delay is much shorter when using nodes that are sliced and are connected via a backplane bus like Beckhoff's E-bus. The typical delay for an EtherCAT slave that uses standard Ethernet MII/PHY is about 1 microsecond, whereas for a slave that uses Low Voltage Differential Signaling (LVDS), like E-bus, the delay is only about 0.3 microseconds.
Process Data Size
Perhaps the most important parameter is the amount of process data, typically because it is the parameter that will most affect the overall communication time. It is important to note that you are not limited to the size of a maximum Ethernet packet (~1,500 bytes) for your EtherCAT process data. However, if you exceed this limit there will be multiple cyclic frames sent which will add some bytes of overhead. This calculator takes that into account.
Communication Time – The Result!
Finally, we arrive at our result! Behind the scenes we take all the parameters and crunch the numbers to come up with the total communication time it will take. Based on this result you can determine the fastest possible cycle time you can expect for your network. Of course, this result does not include the amount of time that your application will need to work with the new inputs and calculate the new outputs to send to the network, so it is important to plan for that in your cycle time expectations.
We hope that this calculator is useful for you. You can access it at the following page on our website: https://developer.acontis.com/ethercat-cycle-time-calculator.html.
As always, if you have any questions or need any help with your EtherCAT application, please contact us.