Ethercat retrofit question
03 Apr 2022 18:30 #239198
by rodw
linuxcnc.org/docs/devel/html/man/man9/hm...FACE%20CONFIGURATION
Replied by rodw on topic Ethercat retrofit question
I wonder if the Intel NIC might benefit from the irq_coalescence settings that are suggested for Mesa configs?So I upgraded to 2.9 but the pll errors persist .
I also checked the ethernet controller and it's an intel i211 .
linuxcnc.org/docs/devel/html/man/man9/hm...FACE%20CONFIGURATION
Please Log in or Create an account to join the conversation.
03 Apr 2022 18:55 - 03 Apr 2022 18:58 #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 .
Should I change anything else in the slave setup lines ?
Edit :
I'll do that as well, Rod .
Last edit: 03 Apr 2022 18:58 by Niko.
Please Log in or Create an account to join the conversation.
03 Apr 2022 19:59 #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.
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 or Create an account to join the conversation.
17 Apr 2022 08:55 - 17 Apr 2022 09:37 #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 :
Which is odd as the first slave doesn't have a dcConf line .
Lost frames stays at 22 .Those syncShift values are selected with this command :Is there anything wrong with this, and why is it selecting slave 0 for reference ?
Output of dmesg :
Here's the output :
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 .
<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>
ethercat graph DC | dot -Tsvg > bus.svg
Output of dmesg :
Attachments:
Last edit: 17 Apr 2022 09:37 by Niko.
Please Log in or Create an account to join the conversation.
18 Apr 2022 08:59 #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 ...
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 or Create an account to join the conversation.
Time to create page: 0.087 seconds