[Etherlab-users] DC oversampling: EL2262 not using OS values
Breunig, David Albert
david.albert.breunig at ipa.fraunhofer.de
Mon Oct 13 21:12:38 CEST 2025
Hello everyone,
I am working on a setup with an EL2262 terminal. I already found the previous thread from March about the EL2262, which helped me clarify some uncertainties and find errors. Thank you for that.
Now I'm facing another problem: my EL2262 always uses only the first value (0x7000:1 and 0x7000:2) for both channels and ignores all others. I only have a TRUE at the output for one subcycle; for the remaining subcycles, it is always FALSE, even if I set the bits in the domain correctly.
I am working on Ubuntu with an RT kernel, isolated RT CPU, and fixed clock.
My setup is EK1100, EL1008, EL2008, EL2262, EK1110.
For example, 10x oversampling with a 5 ms application cycle:
I set my times as follows:
cycleTimeNsSync0 = cycleTimeNanoseconds / 10;
cycleTimeNsSync1 = cycleTimeNanoseconds - cycleTimeNsSync0;
shiftTimeNsSync0 = (int)cycleTimeNanoseconds / 2;
shiftTimeNsSync1 = 0;
I set the SM settings and addresses for the new PDO just as in Beckhoff Twincat (PDO index +1 and entry index +8).
ethercat config -p 3 -v then displays:
Alias: 0
Position: 3
Vendor Id: 0x00000002
Product code: 0x08d63052
Attached slave: 3 (OP)
Watchdog divider: (Default)
Watchdog intervals: (Default)
SM0, Dir: Output, Watchdog: Default
PDO 0x1700
PDO entry 0x7800:01, 16 bit
PDO 0x1600
PDO entry 0x7000:01, 1 bit
PDO 0x1800
PDO entry 0x7200:01, 8 bit
PDO 0x1601
PDO entry 0x7008:01, 1 bit
PDO 0x1602
PDO entry 0x7010:01, 1 bit
PDO 0x1603
PDO entry 0x7018:01, 1 bit
PDO 0x1604
PDO entry 0x7020:01, 1 bit
PDO 0x1605
PDO entry 0x7028:01, 1 bit
PDO 0x1606
PDO entry 0x7030:01, 1 bit
PDO 0x1607
PDO entry 0x7038:01, 1 bit
PDO 0x1608
PDO entry 0x7040:01, 1 bit
PDO 0x1609
PDO entry 0x7048:01, 1 bit
SM1, Dir: Output, Watchdog: Default
PDO 0x1701
PDO entry 0x7800:02, 16 bit
PDO 0x1680
PDO entry 0x7000:02, 1 bit
PDO 0x1880
PDO entry 0x7200:02, 8 bit
PDO 0x1681
PDO entry 0x7008:02, 1 bit
PDO 0x1682
PDO entry 0x7010:02, 1 bit
PDO 0x1683
PDO entry 0x7018:02, 1 bit
PDO 0x1684
PDO entry 0x7020:02, 1 bit
PDO 0x1685
PDO entry 0x7028:02, 1 bit
PDO 0x1686
PDO entry 0x7030:02, 1 bit
PDO 0x1687
PDO entry 0x7038:02, 1 bit
PDO 0x1688
PDO entry 0x7040:02, 1 bit
PDO 0x1689
PDO entry 0x7048:02, 1 bit
SM2, Dir: Input, Watchdog: Default
PDO 0x1702
PDO entry 0x1d09:98, 32 bit
SDO configuration:
None.
IDN configuration:
None.
Feature flags:
None.
DC configuration:
AssignActivate: 0x0730
Cycle [ns] Shift [ns]
SYNC0 500000 2500000
SYNC1 4500000 0
My own debug output shows:
[20:40:50 VRB] Rx PDO entry registered: Index=0x7000, Subindex=0x01, Offset=3, BitPos=0
[20:40:50 VRB] Rx PDO entry registered: Index=0x7000, Subindex=0x02, Offset=8, BitPos=0
[20:40:50 VRB] Rx PDO entry registered: Index=0x7008, Subindex=0x01, Offset=4, BitPos=1
[20:40:50 VRB] Rx PDO entry registered: Index=0x7008, Subindex=0x02, Offset=9, BitPos=1
[20:40:50 VRB] Rx PDO entry registered: Index=0x7010, Subindex=0x01, Offset=4, BitPos=2
[20:40:50 VRB] Rx PDO entry registered: Index=0x7010, Subindex=0x02, Offset=9, BitPos=2
[20:40:50 VRB] Rx PDO entry registered: Index=0x7018, Subindex=0x01, Offset=4, BitPos=3
[20:40:50 VRB] Rx PDO entry registered: Index=0x7018, Subindex=0x02, Offset=9, BitPos=3
[20:40:50 VRB] Rx PDO entry registered: Index=0x7020, Subindex=0x01, Offset=4, BitPos=4
[20:40:50 VRB] Rx PDO entry registered: Index=0x7020, Subindex=0x02, Offset=9, BitPos=4
[20:40:50 VRB] Rx PDO entry registered: Index=0x7028, Subindex=0x01, Offset=4, BitPos=5
[20:40:50 VRB] Rx PDO entry registered: Index=0x7028, Subindex=0x02, Offset=9, BitPos=5
[20:40:50 VRB] Rx PDO entry registered: Index=0x7030, Subindex=0x01, Offset=4, BitPos=6
[20:40:50 VRB] Rx PDO entry registered: Index=0x7030, Subindex=0x02, Offset=9, BitPos=6
[20:40:50 VRB] Rx PDO entry registered: Index=0x7038, Subindex=0x01, Offset=4, BitPos=7
[20:40:50 VRB] Rx PDO entry registered: Index=0x7038, Subindex=0x02, Offset=9, BitPos=7
[20:40:50 VRB] Rx PDO entry registered: Index=0x7040, Subindex=0x01, Offset=5, BitPos=0
[20:40:50 VRB] Rx PDO entry registered: Index=0x7040, Subindex=0x02, Offset=10, BitPos=0
[20:40:50 VRB] Rx PDO entry registered: Index=0x7048, Subindex=0x01, Offset=5, BitPos=1
[20:40:50 VRB] Rx PDO entry registered: Index=0x7048, Subindex=0x02, Offset=10, BitPos=1
[20:40:50 VRB] Rx PDO entry registered: Index=0x7200, Subindex=0x01, Offset=3, BitPos=1
[20:40:50 VRB] Rx PDO entry registered: Index=0x7200, Subindex=0x02, Offset=8, BitPos=1
[20:40:50 VRB] Rx PDO entry registered: Index=0x7800, Subindex=0x01, Offset=1, BitPos=0
[20:40:50 VRB] Rx PDO entry registered: Index=0x7800, Subindex=0x02, Offset=6, BitPos=0
[20:40:50 INF] Successfully configured slave at position 3
And ethercat domain -v after setting values:
Domain0: LogBaseAddr 0x00000000, Size 11, WorkingCounter 2/2
SlaveConfig 0:2, SM0 (Output), LogAddr 0x00000000, Size 1
01
SlaveConfig 0:3, SM0 (Output), LogAddr 0x00000001, Size 5
00 00 01 04 00
SlaveConfig 0:3, SM1 (Output), LogAddr 0x00000006, Size 5
00 00 00 00 00
You can see that Slave3 is set to SM0 3.0 and 4.2, with addresses matching the debug output. Nevertheless, the terminal only outputs TRUE for bit 3.0; all other nine subcycles are FALSE (measured with an oscilloscope). I have already manually changed other bits than those returned during registration in order to perhaps find an incorrect address, but that did not help either.
I don't understand why the terminal ignores the transmitted values.
Am I overlooking a setting that is necessary for DC? The values are visibly sent in Wireshark as in "ethercat domain -v". I am grateful for any advice, as I have been struggling with this for a few days now.
My cycle is always
- Receive
- Process
- Set Application Data (e.g. writing bits 3.0 and 4.2)
- Queue
- Sync Slave Clocks every ten cycles
- Send
Thank you very much!
Regards
David Breunig
--
Dr.-Ing. David A. Breunig
Projektleiter
Fraunhofer-Institut für
Produktionstechnik und Automatisierung IPA
IT-Architekturen für die Produktion
Nobelstraße 12 ¦ 70569 Stuttgart
Telefon +49 711 970-1375
david.albert.breunig at ipa.fraunhofer.de<mailto:david.albert.breunig at ipa.fraunhofer.de>
www.ipa.fraunhofer.de<http://www.ipa.fraunhofer.de/>
www.retavi.de<http://www.retavi.de/>
[cid:image001.png at 01DC3C85.15046A00]
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.etherlab.org/pipermail/etherlab-users/attachments/20251013/0391dab2/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image001.png
Type: image/png
Size: 13844 bytes
Desc: image001.png
URL: <https://lists.etherlab.org/pipermail/etherlab-users/attachments/20251013/0391dab2/attachment-0001.png>
More information about the Etherlab-users
mailing list