I created the previous rung as a test of the -|P|-
I'm working with a printed copy of an old Modicon program (I use Modsoft), and it's full of rungs like:
It's there any way that this rungs work? I have worked with ONS instructions on AB, and I expect that this works similar, but I can't get this to work every time I press 11 (sometimes works, but most times doesn't work)
It does not take into account the state of any preceding logic, so if there is any chance 012 is false then the 011 transition will have no effect on the state of the output since there is no power flow, even if button 011 is held down and 012 subsequently evaluates at true.
12 remains deactivated, and because is a XIO contact, its true and has power flow. I even go further and forced (disabled) by software this bit to avoid any posible electrical interference.
To completely avoid scan issues the solution suggested above needs to be not just on a separate rung but also on a separate network.
Because is a printed copy, I'm not sure the exact spacing between the contacts (if that matters at all). I extended the rung to the right, then put the contacts in diferent columns, but the result is always the same.
I'm thinking that maybe the problem could be related to some scan issues, because it's a very large program (almost using the full 6K of the PLC memory), and with the help of a fast bizarre bouncing of the button, the PLC mark the transition of the contact, but does not allow the power flow...
However for the logic you posted a positive transition contact isn't necessary. Just use an ordinary contact.
Yes, I also think it's overkill. Replacing it with a XIC will do the same. I'm just wondering why was placed originally (and why doesn't work)...