The following are a few introductory lines on EtherCAT:
The EtherCAT master sends a telegram that passes through each node. Each EtherCAT slave device reads the data addressed to it “on the fly”, and inserts its data in the frame as the frame is moving downstream.
My questions from the above text:
- What does reading data "on the fly" mean?
- How can data be inserted in the frame while its moving? Doesn't it need to be copied first in a buffer and then updated?
This text is taken from http://www.ethercat.org/en/technology.html.
A slave device isn't actually altering the existing packet like it sounds from the description. Instead it is picking up the packet info from one Ethernet port and as quickly as it can propagating that information, with any required modifications to an electrically separate port. It does this with a very predictable propagation delay, allowing very precise timings through the entire network of slaves. It's important to realize that the packet isn't required to be fully received on the input port before it can begin being clocked out on the output side; In fact it will almost never be.