Ethercat EL5152 encoder reading

More
7 years 1 month ago - 7 years 1 month ago #144993 by Nico2017
Hi,
thanks for the information, I had to make a bit more sense of it with the EtherCAT documentation. Not sure if this is exactly what I need as at the moment I just try to speed up the EtherCAT process to capture more reliably the encoder pulses without crashing the EtherCAT and my application. At the moment, not sure time synchronization would improve the encoder reading.

However I was wondering, on the EtherCAT point of view, if using a native Ethernet device driver instead of the generic ethernet device driver could increase the performance as indicated in the EtherCAT documentation. So I could decrease the appTimePeriod in the .xml configuration. When I do the lspci command I got:

01:00.0 Network controller: Intel Corporation Wireless 8260 (rev 3a)
02:00.0 Ethernet controller: Intel Corporation I211 Gigabit Network Connection (rev 03)
03:00.0 Ethernet controller: Intel Corporation I211 Gigabit Network Connection (rev 03)

But I cannot make any link with the list of drivers available on the Etherlab website driver list: etherlab.org/en/ethercat/hardware.php . If anyone could point me in the right direction, I could try the relevant native Ethernet device driver and run more test to see if I can lower the appTimePeriod without struggle.

Thank you,

Nicolas

PS: after testing lowering the appTimePeriod, under the generic ethernet device driver, I manage to go to 500000ns, under I got some data frame skipped when I do dmesg. I am still a bit far from what I could maybe expect from the EtherCAT manual: they take an example of 2GHz system where they reach 25KHz where I am standing at 2KHz for 1.5GHz system CPUs. The big difference might come from the generic ethernet device driver.
Last edit: 7 years 1 month ago by Nico2017.
The following user(s) said Thank You: chimeno

Please Log in or Create an account to join the conversation.

More
7 years 1 month ago #145077 by chimeno
Hi Nicolas,
As far as I know there is no igb driver available, it only works with generic but I could try this for a while.
install driver "igb-xxxtar.gz" and see if it works DEVICE_MODULES = "igb"
although I think it would be best to find a card with one of these chips "8139too, e100, e1000, e1000e, r8169"

I performed the tests in "8139too, e100, e1000e" for synchronism, I could not get more than appTimePeriod = "500000" since if I increased it every so often I lost the ethercat synchronization ring.
with generic driver and the pacth I get maximum appTimePeriod = "1000000"

If you are a good programmer, you should look at this example and create .comp only for your component.

regards
Chimeno
The following user(s) said Thank You: Nico2017

Please Log in or Create an account to join the conversation.

More
7 years 1 month ago #145537 by Nico2017
Hi,
at the moment I am still limited so I end up needing encoders with lower pulse rate. Would there be any official documentation about the formatting and all the parameters that can be adjusted in the EtherCAT .xml file?

Thank you,

Nicolas

Please Log in or Create an account to join the conversation.

More
7 years 1 month ago #145988 by chimeno
Hi Nico,
I don't know very well what you mean, I don't have this device, but if it's because of the EL5152 configuration, in the BECKHOFF manual the device is set to address 8000, you can also do tests in TWINCAT since it is easier to find out what configuration It works better and without errors, what do you need to configure?
Regards
Chimeno
The following user(s) said Thank You: Nico2017

Please Log in or Create an account to join the conversation.

More
7 years 1 month ago #146214 by Nico2017
Hi,
what I mean is on my Ethercat parameter file for the linuxcnc-ethercat driver, I cannot go lower than the period I already set up which is appTimePeriod="1000000" refClockSyncCycles="4".

If I go lower I experience lagging and unexpected behaviour from the EtherCAT bus and my computer. I think this is probably a hardware limitation due to my Ethernet card being used by the EtherCAT drive as I am using the generic module for it. Also I am not sure how I can play with refClockSyncCycles="4".

In theory the EL5152 hardware itself can be set up to a higher frequency. But I think if I try TwinCAT reading from Windows, the performance will be once again limited by my Ethernet card and the false real time environment.

It could also be a limitation due to the other EtherCAT cards on my EtherCAT bus which show on their documentation a lower frequency for their input/output. One solution might be to have fast information system (fast domain) and a slower one for the other components but I need more practise and documentation about it from the linuxcnc-etherCAT point of view.

Regards,

Nicolas

Please Log in or Create an account to join the conversation.

More
7 years 1 month ago #146732 by chimeno
Hi Nico, refClockSyncCycles = "4" this meaning that once the cycle is restarted, if you have the PLL patch installed you have to leave it at -1 to work, then you can adjust the synchronism error with the parameters PLL-P and PLL- I.
Regarding the network card, what chip are you using?
Regards
Chimeno
The following user(s) said Thank You: Nico2017

Please Log in or Create an account to join the conversation.

Moderators: PCW, jmelson
Time to create page: 0.060 seconds
Powered by Kunena Forum