<div dir="ltr"><div dir="ltr"><div><font face="monospace">Before I forget again, thanks Graeme (and all others involved) for this mbg implementation in the first place.</font></div><div><font face="monospace">It saves us from a lot of hassle when deploying our safety projects. Only recently we discovered the twinsafe loader didn't work in all cases.<br></font></div><font face="monospace"><div><font face="monospace"><br></font></div>I finally got around to also looking at the mailbox traffic on the ethercat side. I think I have found the cause.</font><div><font face="monospace">For twincat the counter used on the ethercat side is separate from the one received by the mbg.<br></font></div><div><font face="monospace">For etherlab the counter in the message to the mbg is also seemed to be used on the ethercat side, is that correct, or is something else happening here?<br>Depending on the setup it can therefore become possible for two subsequent requests to the same slave (with requests to others in between) to use the same counter value.<br>See data at the bottom of the email.</font></div><div><font face="monospace"><br></font></div><div><font face="monospace">What is your take on this? <br></font></div><div><font face="monospace"><br>Some other things worth mentioning (for completeness/archive):</font><div><font face="monospace">- The addressing is done a bit differently:</font></div><div><font face="monospace"> .Twincat, Datagram header slave address: 0x03e9, Mailbox header address: 0xe000</font></div><div><font face="monospace"> .Etherlab, Datagram header slave address: 0x0002, Mailbox header address:
0x03e9</font></div><div><font face="monospace">- The counter in the mailbox reply of a slave is separate from the counter value check in the (next) request.</font></div><div><font face="monospace"> Though logical, I mention it here explicitly because this messed up my thinking quite a bit when I hadn't realized this yet.</font></div><div><font face="monospace"><br></font></div><div><font face="monospace">Regards,<br></font></div><div><font face="monospace">Mark</font></div><div><br></div><div><font face="monospace">*** Twincat ***<br>mbg: -> 10 50 0a 00 e9 03 00 23 00 20 41 80 f9 02 00 00 00 00<br>ec: -> 0a 00 00 e0 00 13 00 20 41 80 f9 02 00 00 00 00<br>ec: <- 0a 00 00 e0 00 33 00 30 43 80 f9 02 ea 82 1e 00<br>mbg: <- 10 50 0a 00 e9 03 00 33 00 30 43 80 f9 02 ea 82 1e 00<br><br>mbg: -> 10 50 0a 00 e9 03 00 33 00 20 41 80 f9 01 00 00 00 00<br>ec: -> 0a 00 00 e0 00 23 00 20 41 80 f9 01 00 00 00 00<br>ec: <- 0a 00 00 e0 00 43 00 30 4b 80 f9 01 01 00 00 00<br>mbg: <- 10 50 0a 00 e9 03 00 43 00 30 4b 80 f9 01 01 00 00 00<br><br>.... other req/rep<br><br>mbg: -> 10 50 0a 00 e9 03 00 33 00 20 41 01 fe 00 00 00 00 00<br>ec: -> 0a 00 00 e0 00 33 00 20 41 01 fe 00 00 00 00 00<br>ec: <- fa 00 00 e0 00 53 00 30 41 01 fe 00 00 08 .....<br>mbg: <- 00 51 fa 00 e9 03 00 53 00 30 41 01 fe 00 00 08 .....<br><br>*** Etherlab ***<br>mbg: -> 10 50 0a 00 e9 03 00 23 00 20 41 80 f9 02 00 00 00 00<br>ec: -> 0a 00 e9 03 00 23 00 20 41 80 f9 02 00 00 00 00<br>ec: <- 0a 00 e9 03 00 13 00 30 43 80 f9 02 ea 82 1e 00<br>mbg: <- 10 50 0a 00 e9 03 00 13 00 30 43 80 f9 02 ea 82 1e 00<br><br>mbg: -> 10 50 0a 00 e9 03 00 33 00 20 41 80 f9 01 00 00 00 00<br>ec: -> 0a 00 e9 03 00 33 00 20 41 80 f9 01 00 00 00 00 <---.<br>ec: <- 0a 00 e9 03 00 23 00 30 4b 80 f9 01 01 00 00 00 |<br>mbg: <- 10 50 0a 00 e9 03 00 23 00 30 4b 80 f9 01 01 00 00 00 |<br> |<br> Problem occurs due to two subsequent requests |<br>.... other req/rep to the same slave with the same counter |<br> |<br>mbg: -> 10 50 0a 00 e9 03 00 33 00 20 41 01 fe 00 00 00 00 00 |<br>ec: -> 0a 00 e9 03 00 33 00 20 41 01 fe 00 00 00 00 00 <---'<br>ec: <- No Reply<br>mbg: <- Timeout<br></font><br></div></div></div></div>