Hi Oguz,
If this is a potential fix for your slave, you would require more
separation, plus I’m not sure you got your reads vs writes assigned
quite right. i.e. from your log 0x6000:01 is being assigned to
domain 0 when it looks like it should be assigned to domain 1.
The issue with the Texas Instruments ESC’s in particular is that if
you use one domain the writes (control) and reads (status) are too
close together for the ESC’s syncs to handle gracefully. E.g.:
+ domain 0 -------------------+
|[slave 0 write][slave 0 read]|
If you split them into two domains you get:
+ domain 0 -----+ domain 1 ----+
|[slave 0 write]|[slave 0 read]|
Which timing wise is no real difference and still a problem.
But if you add a few more slaves (they don’t even need to be online)
you get:
+ domain 0 -------------------------+ domain 1 ----------------------
--+
|[slave 0 write][slave 1 write][...]| [slave 0 read][slave 1
read][...]|
You can see you now have more separation between the slave 0 write
and read.
In your example (apart from the potential incorrect allocation which
could itself cause issues) I don’t think the EL2008 would be enough
to give a big enough separation (only 1 byte?). Try adding two or
three more of your problem slaves (they’re around 78 bytes each).
Here’s some background info on the Texas Instruments
issue:https://www.ti.com/lit/an/spracj7/spracj7.pdf?ts=1669243747147
* section 3.1.3 describes the TI ESC not working with non-
overlapping PDOs
* Section 3.6 describes a malformed packet issue and its
workarounds, due to overlapping PDOs
In our cases where we’ve had problems with slaves our symptoms were:
1. On assigning the FMMU configuration the slave would stop
forwarding on frames
2. I think we had one that got stuck in INIT, but can’t remember
for sure
Regards,
Graeme.
From: Bilko AS, Oguz Dilmac <[email protected]>
Sent: Thursday, 19 March 2026 23:49
To: Graeme Foot <[email protected]>;
[email protected]
Subject: Re: [Etherlab-users] Timeout while setting state INIT.
Hi Graeme,
I connected a EK1100 bus coupler and a EL2008 digital output card.
The first slave is the EK1100, and my device stay at the end.
I created two domains
Unfortunately the device still don't go to INIT.
Here, I put my test code and the dmesg output:
https://we.tl/t-Dj1MtId6LA
Best regards,
Oguz.
On 19-Mar-26 1:16 AM, Graeme Foot wrote:
Hi Oguz,
It’s not looking likely to be an SII problem then.
From the log it looks like you’re using a single Read/Write
domain. I don’t recall if you mentioned, have tried putting it in
separate read and write domains? If you try this, also ensure that
there are at least two other separate read and write domain slaves
also configured in your system.
I’ve had a few slaves in the past (generally with Texas Instruments
ESC’s) that work well with overlapped PDO’s in a single Read/Write
domain (TwinCat’s default method), but fail when the PDO’s are not
overlapped (EtherLab’s default). If this is the case you can put
them in separate read and write domains to separate them within the
EtherCat frame. But, you need to ensure there’s a couple of other
read and write domain devices also configured to ensure there’s
enough separation in the frame.
Graeme.
From: Bilko AS, Oguz Dilmac<[email protected]>
Sent: Thursday, 19 March 2026 02:33
To: Graeme Foot <[email protected]>; Richard
Hacker<[email protected]>; [email protected];
[email protected]
Subject: Re: [Etherlab-users] Timeout while setting state INIT.
Hi,
I noticed, the correct path with option is: "--enable-sii-
override=/lib/firmware"
This way, the master can find my ec_xxx.bin file. But still at the
end, slave doesn't respond to go INIT command.
Here is the dmesg output:
https://we.tl/t-BGDmNzZv2b
Best regards,
Oguz.
--
Oguz Dilmac
Bilko AS, R&D Manager
====================================
Perpa Ticaret Merkezi B Blok Kat 13 Nr. 2536
TR-34384 Okmeydani Istanbul Turkey
Tel : +90 212 563 00 00
e-mail : [email protected]
web site : http://www.bilko-automation.com
https://www.youtube.com/@LyncaCNC