<html><head>
<style>pre,code,address {
margin: 0px;
}
h1,h2,h3,h4,h5,h6 {
margin-top: 0.2em;
margin-bottom: 0.2em;
}
ol,ul {
margin-top: 0em;
margin-bottom: 0em;
}
blockquote {
margin-top: 0em;
margin-bottom: 0em;
}
</style></head>
<body bgcolor="#ffffff" text="#2e3436" link="#1b6acb" vlink="#2e3436"><div>Hello,</div><div><br></div><div>some comments on this:</div><div><br></div><div>Am Donnerstag, dem 21.05.2026 um 13:20 +0300 schrieb Bilko AS, Oguz Dilmac:</div><blockquote type="cite" style="margin:0 0 0 .8ex; border-left:2px #729fcf solid;padding-left:1ex"><div> </div><blockquote type="cite" style="margin:0 0 0 .8ex; border-left:2px #729fcf solid;padding-left:1ex"><div class="moz-cite-prefix">"I made some investigations but do not have exact reason for a failure. I suppose there are two main reasons. The first one is a timing. The twincat switches the states of EtherCAT with much larger time between commands than IGH. The second reason seems to me the IGH does not check current state before trying to order the next state. I have modified the firmware to check what happens with requests from the point of the firmware and I see that some requests PREOP -> SAFEOP are denied but the master does not wait and goes to OP. So the slave is stucking in PREOP. If this happens there are no recovery efforts.</div></blockquote></blockquote><div><br></div><div>When requesting an AL state change the master sends exactly one request to the command register 0x0120 and then starts to query 0x0130 for the result. It only continues if the AL state change is successful, otherwise it marks the slave with an error flag and continues with the next one. It never proceeds with the next AL state if the last state change was not successful.</div><div><br></div><blockquote type="cite" style="margin:0 0 0 .8ex; border-left:2px #729fcf solid;padding-left:1ex"><blockquote type="cite" style="margin:0 0 0 .8ex; border-left:2px #729fcf solid;padding-left:1ex"><div class="moz-cite-prefix"> The IGH master also send much more commands per second than twincat. It creates approximately 5 times larger wireshark log at same time than twincat. I observed up to 5 state change requests per millisecond. It will definitely overload our optics.</div></blockquote></blockquote><div><br></div><div>It works synchronous to your application cycle, so if your application runs with 5 kHz, there will be at most 5000 queries of 0x0130 per second, usually less, because the master state machine runs asynchronously.</div><div><br></div><blockquote type="cite" style="margin:0 0 0 .8ex; border-left:2px #729fcf solid;padding-left:1ex"><blockquote type="cite" style="margin:0 0 0 .8ex; border-left:2px #729fcf solid;padding-left:1ex"><div class="moz-cite-prefix"> So I observe that sometimes the head goes to OP mode but sometimes not. In any case with both old and new firmware the motor does not move.<br> <br> Could you check you code if there is a proof of current state by switching to the new state? A way to stay simple is add delays of 50 milliseconds between new state requests and always start with INIT state."</div></blockquote></blockquote><div><br></div><div>On configuration, the master always starts with the INIT state. In the standard there is no limit on how fast register reads shall happen.</div><div><br></div><blockquote type="cite" style="margin:0 0 0 .8ex; border-left:2px #729fcf solid;padding-left:1ex"><blockquote type="cite" style="margin:0 0 0 .8ex; border-left:2px #729fcf solid;padding-left:1ex"><div> </div></blockquote><div> </div><div class="moz-cite-prefix">I thought the Igh master already checking the current state. But some how, Vendor come across to a situation, that it doesn't check. Do you have a suggestion? Also can I add some extra time between state changes?</div></blockquote><div><br></div><div>No, it always checks for the state change. </div><div><br></div><div>If the problem persists, please try with 1.6.9, a native Ethernet driver and open a ticket on gitlab.com/etherlab.org/ethercat with a minimal example application.</div><div><br></div><div><span><pre>-- <br></pre><div><div><div>Mit freundlichem Gruß / Best regards,<br>Florian Pose<br><br><span style="font-size:12px;"></span><div><span style="font-size:12px;">Dipl.-Ing. (FH) Florian Pose<br>
Leitung Automatisierung / Lead Automation<br>
Mail: <a href="mailto:fp@igh.de" style="text-decoration:none;box-sizing:border-box;color:#008f8c;">fp@igh.de</a> |
Tel.: <a href="tel:+492013601413" style="text-decoration:none;box-sizing:border-box;color:#008f8c;">+49 201 36014-13</a><br>
<br>
<span style="box-sizing: border-box;">Ingenieurgemeinschaft IgH Gesellschaft für Ingenieurleistungen mbH</span><br>
Nordsternstraße 66<br>
D-45329 Essen<br>
<a target="_blank" rel="noopener noreferrer" href="https://www.axxeron.de" style="text-decoration:none;box-sizing:border-box;color:#008f8c;">Member of Axxeron Group</a><br>
<a target="_blank" rel="noopener noreferrer" href="https://igh.de" style="text-decoration:none;box-sizing:border-box;color:#008f8c;">igh.de</a> |
<a target="_blank" rel="noopener noreferrer" href="https://etherlab.org" style="text-decoration:none;box-sizing:border-box;color:#008f8c;">EtherLab</a> |
<a target="_blank" rel="noopener noreferrer" href="https://de.linkedin.com/company/igh-gmbh" style="text-decoration:none;box-sizing:border-box;color:#008f8c;">LinkedIn</a>
</span>
<br>
<span style="color:#9e9e9e;font-size:10px;">
Amtsgericht Essen | HRB 11500 | USt-Id.-Nr.: DE 174 626 722<br>
Geschäftsführung: Frederik Becker, Dr.-Ing. Siegfried Rotthäuser, Jost Braukmann</span></div></div></div></div></span></div></body></html>