[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