How good is Ethercat motion control?
- harindugamlath
- Offline
- Senior Member
-
- Posts: 68
- Thank you received: 18
So I need to use absolute servos for this new machine. Looking at delta ASDA A3 servos as the drives have Ethercat support.
My main concern is not the price of Beckhoff modules. I'm curious to know how the ethercat setup handles the motion control part. In mesa we get the FPGA base step/dir signals and I read the ethercat system uses a target position. So I guess the control loop is closed on the PC with the encoder feedback from the motors. So how fast can you really push an ethercat system without running into following errors and latency errors etc.? I mean like in high speed 3d surfacing ?
Can anyone offer some advice on which system should I go with or point me to some user experiences?
This machine is in excellent shape I really like to set this up as close to a oem controller.
Please Log in or Create an account to join the conversation.
- rodw
-
- Offline
- Platinum Member
-
- Posts: 11629
- Thank you received: 3915
The plus side is the Ethercat wiring is a lot simpler.
I would recommend cia402 compatible drives.
With a machine under your belt its is worth considering.
Please Log in or Create an account to join the conversation.
- harindugamlath
- Offline
- Senior Member
-
- Posts: 68
- Thank you received: 18
Servos that i choose are beefy. 3kw on x and y and 4.5 on z. Machine is worth saving as it's in near perfect condition. No backlash or spindle runout.
Do you know how the ethercat control loop actually works?
Please Log in or Create an account to join the conversation.
- rodw
-
- Offline
- Platinum Member
-
- Posts: 11629
- Thank you received: 3915
Do you know how the ethercat control loop actually works?
Here is a slide deck from a presentation on Erhercat by Martin Rostan, the ETG president in Germany I went to when he was in Australia
vmnet.com.au:10003/d/s/13FfcZqiooYngfrLX...XlFwmcTS-l7mgkSOi5gw
Roughly, In the drive a target position and target velocity is updated by linuxcnc. The ethercat bus uses synchronized clocks to keep the slaves in sync and that Is synced to the Linuxcnc servo thread. Our linuxcnc driver (lcec) reads the bus at the beginning of the servo thread and written out at the end of the servo thread (the position of addfs in your hal file are important to achieve this lcec.read-all and lcec.write-all).
example hal: github.com/rodw-au/linuxcnc-cia402/blob/main/cia402.hal
So Linuxcnc gets a chance to update slave parameters every servo thread cycle
The best analogy in the presentation is the high speed train and the slaves are a station. Packets can get on and off the train (Ethernet frame) as the packet passes through the station without the train stopping which is what our driver does in a single sevo thread loop via the order of the addfs.
Note that CNC is a small subset of Ethercat use as the majority of devices are deployed in factory automation. There are other field bus technologies mentioned in the PDF (and perhaps Mesa's hm2_eth driver that uses UDP) that compete but they are based on standard TCP/IP packets and while Ethercat uses the Ethercat frame directly (the carriage on the train). So Ethercat is much more efficient (lean) protocol so it performs better.
Interesting that competitors Profinet et al are sponsors of TSN (Time sensitive Networking) which is in a set of standard for Real time networking. They need it. Ethercat also supports it, but does not really need to due to is better efficiency. I'm not sure if the iGh Ethercat master we use supports TSN but it also requires TSN support on the NIC's on the slaves. That is another emerging story.
Hope I have not told too many lies here.
Please Log in or Create an account to join the conversation.
- harindugamlath
- Offline
- Senior Member
-
- Posts: 68
- Thank you received: 18
Please Log in or Create an account to join the conversation.
- nhof
- Offline
- New Member
-
- Posts: 2
- Thank you received: 0
A small correction here, Ethercat does not use TCP/IP but instead uses 'raw' Ethernet frames.
Note that CNC is a small subset of Ethercat use as the majority of devices are deployed in factory automation. There are other field bus technologies mentioned in the PDF (and perhaps Mesa's hm2_eth driver) that compete but they are based on standard TCP/IP packets and while Ethercat also uses TCP/IP (perhaps TCP/IP are the wheels on the train). But Ethercat is much more efficient (lean) protocol so it performs better.
Another technical reason Ethercat is fast is that the slaves use custom Ethernet chips which can handle process data 'on the fly' without introducing delays.
Please Log in or Create an account to join the conversation.
- rodw
-
- Offline
- Platinum Member
-
- Posts: 11629
- Thank you received: 3915
Please Log in or Create an account to join the conversation.
- rodw
-
- Offline
- Platinum Member
-
- Posts: 11629
- Thank you received: 3915
That might have more to do with licensing. (the Ethercat license is paid for when purchasing a Ethercat sleve controller like the Lan9252 often used in slaves)Another technical reason Ethercat is fast is that the slaves use custom Ethernet chips which can handle process data 'on the fly' without introducing delays.
Please Log in or Create an account to join the conversation.
- Gogonfa
- Offline
- New Member
-
- Posts: 11
- Thank you received: 3
Is there a big difference between using the CiA 402 driver and the also implemented Delta ASDA driver (DEASDA) with Delta drives?
Please Log in or Create an account to join the conversation.
- rodw
-
- Offline
- Platinum Member
-
- Posts: 11629
- Thank you received: 3915
I don't really know. I've always chosen CIA402 devices because they are a known quantity. (eg I'm risk averse) There are some drivers for other hardware which I would include in my list but I have no experience.Hi Rod,
Is there a big difference between using the CiA 402 driver and the also implemented Delta ASDA driver (DEASDA) with Delta drives?
Please Log in or Create an account to join the conversation.