Drbitboy: Just found a typo in the reject window of your conversion you have two B11:3/3 one should be B11:3/4 or you could miss a beat. don't understand the heavy logic for the pulse timer simpler form is
AN First Scan AN Txx.DN TON Txx, Pre xxms will work I have had in RSL where the timer on first scan does not like it's own DN contact to start it (I can only assume that this is a quirk) so if I did a self resetting timer I add a not first scan to reset the timer on first scan. Not had that on any other PLC however.
But the rest looks good. Personally I would put all the variables that may need adjusting in retentive memory so I could adjust them by forcing them while monitoring, if an HMI was used this could be an engineering setup screen. Even if fixed values are preferable I would put them on memory for commissioning and change them at the end for fixed values but did not do this as it may look too complicated. To be honest, I would even indirectly address the window bits for reject so that I could adjust the window position & length via a couple of retentive variables but that is going too far unless the OP is fluent in programming.
AN First Scan AN Txx.DN TON Txx, Pre xxms will work I have had in RSL where the timer on first scan does not like it's own DN contact to start it (I can only assume that this is a quirk) so if I did a self resetting timer I add a not first scan to reset the timer on first scan. Not had that on any other PLC however.
But the rest looks good. Personally I would put all the variables that may need adjusting in retentive memory so I could adjust them by forcing them while monitoring, if an HMI was used this could be an engineering setup screen. Even if fixed values are preferable I would put them on memory for commissioning and change them at the end for fixed values but did not do this as it may look too complicated. To be honest, I would even indirectly address the window bits for reject so that I could adjust the window position & length via a couple of retentive variables but that is going too far unless the OP is fluent in programming.