Ethercat retrofit question

More
4 years 6 months ago #239198 by rodw
Replied by rodw on topic Ethercat retrofit question

So I upgraded to 2.9 but the pll errors persist .
I also checked the ethernet controller and it's an intel i211 .
 
I wonder if the Intel NIC might benefit from the irq_coalescence settings that are suggested for Mesa configs?
linuxcnc.org/docs/devel/html/man/man9/hm...FACE%20CONFIGURATION

Please Log in to join the conversation.

More
4 years 6 months ago #239201 by Niko
Replied by Niko on topic Ethercat retrofit question
Yes, I changed that .
Should I change anything else in the slave setup lines ?

Edit :
I'll do that as well, Rod .

Please Log in to join the conversation.

More
4 years 6 months ago #239209 by db1981
Replied by db1981 on topic Ethercat retrofit question
to get shure that there exist no hardware / Nic errors.
Check with the command "ethercat master" for lost frames.
There should be no changes in the values while linuxcnc is running and your pll problem occurs.

Please Log in to join the conversation.

More
4 years 6 months ago #240447 by Niko
Replied by Niko on topic Ethercat retrofit question
OK, so the problem it obvious now . It takes slave 0 clock for reference . Should be slave 1.
Here's the output :
Code:
Master0 Phase: Operation Active: yes Slaves: 7 Ethernet devices: Main: 00:13:95:1c:cc:68 (attached) Link: UP Tx frames: 2310920 Tx bytes: 780785312 Rx frames: 2310919 Rx bytes: 780784976 Tx errors: 0 Tx frame rate [1/s]: 1000 1000 999 Tx rate [KByte/s]: 329.7 329.7 329.2 Rx frame rate [1/s]: 1000 1000 999 Rx rate [KByte/s]: 329.7 329.7 329.2 Common: Tx frames: 2332606 Tx bytes: 784265664 Rx frames: 2332584 Rx bytes: 784259604 Lost frames: 22 Tx frame rate [1/s]: 1000 1000 999 Tx rate [KByte/s]: 329.7 329.7 329.2 Rx frame rate [1/s]: 1000 1000 999 Rx rate [KByte/s]: 329.7 329.7 329.2 Loss rate [1/s]: 0 0 0 Frame loss [%]: 0.0 0.0 0.0 Distributed clocks: Reference clock: Slave 0 DC reference time: 703502574227961000 Application time: 703502906860973789 2022-04-17 09:28:26.860973789


Which is odd as the first slave doesn't have a dcConf line .
Lost frames stays at 22 .
Code:
<masters> <master idx="0" appTimePeriod="1000000" refClockSyncCycles="-1"> <slave idx="0" type="generic" vid="50414e43" pid="00087611" configPdos="false"> <syncManager idx="2" dir="out"> </syncManager> <syncManager idx="3" dir="in"> </syncManager> </slave> <slave idx="1" type="generic" vid="000002E1" pid="00000000" configPdos="true"> <dcConf assignActivate="300" sync0Cycle="*1" sync0Shift="660"/> <syncManager idx="2" dir="out"> </syncManager> <syncManager idx="3" dir="in"> </syncManager> </slave> <slave idx="2" type="generic" vid="000002E1" pid="00000000" configPdos="false"> <dcConf assignActivate="300" sync0Cycle="*1" sync0Shift="1359"/> <syncManager idx="2" dir="out"> </syncManager> <syncManager idx="3" dir="in"> </syncManager> </slave> <slave idx="3" type="generic" vid="000002E1" pid="00000000" configPdos="false"> <dcConf assignActivate="300" sync0Cycle="*1" sync0Shift="2079"/> <syncManager idx="2" dir="out"> </syncManager> <syncManager idx="3" dir="in"> </syncManager> </slave> <slave idx="4" type="generic" vid="000002E1" pid="00000000" configPdos="false"> <dcConf assignActivate="300" sync0Cycle="*1" sync0Shift="2779"/> <syncManager idx="2" dir="out"> </syncManager> <syncManager idx="3" dir="in"> </syncManager> </slave> <slave idx="5" type="generic" vid="000002E1" pid="00000000" configPdos="false"> <dcConf assignActivate="300" sync0Cycle="*1" sync0Shift="3499"/> <syncManager idx="2" dir="out"> </syncManager> <syncManager idx="3" dir="in"> </syncManager> </slave> <slave idx="6" type="generic" vid="000005be" pid="00000001" configPdos="true"> <dcConf assignActivate="300" sync0Cycle="*1" sync0Shift="4139"/> <syncManager idx="2" dir="out"> </syncManager> <syncManager idx="3" dir="in"> </syncManager> </slave> </master> </masters>
Those syncShift values are selected with this command :
Code:
ethercat graph DC | dot -Tsvg &gt; bus.svg
Is there anything wrong with this, and why is it selecting slave 0 for reference ?

Output of dmesg :

Attachment not found

Please Log in to join the conversation.

More
4 years 6 months ago #240545 by db1981
Replied by db1981 on topic Ethercat retrofit question
the pll sync function is not directly related to the dc clock mechanism.
the first slave mostly an EK1100 must not have dc clock functions.
The pll sync does an fine tuning of the rt thread in your pc, to reduce jitter, for that an special signal is used. Relate to that all slaves include the same Beckhoff Asic chip it is equal that slave 0 is used, as long as it is placed after your network nic....

I have not seen or used different sync0Shift times yet, only with many slaves and then only groupwise, example : one closed interpolating group of servoamps....

The sync0 Shiftime descripes in which point in time in one cylce after the sync0 bit your slaves reactes to the bus data. So if there an bigger latency after cycle start, caused of much data the master has to send, or many slaves in the chain, this is need. but slaves that belong together should have the same shift time. for example the highest on which is needed for the last slave of the group.
Try to increase the shift time for all slaves. z.b. "100000" .
There are many articels about that in the beckhoff information system, or in the etherlab master doc.

i would search for the lost 22 Frames. This is important.
Why there are lost packets? Try to determine when this happens. Check for proper grounding / shielding, good network cables, hf dispersion emv ...

Please Log in to join the conversation.

Time to create page: 2.250 seconds
Powered by Kunena Forum