QUOTE
TW and Panic,
I guess I do still need some help. In rung 39, how can you put a n/o and n/c for same bit
in the same rung?? Plus when it's started, what moves first---the forward???
sorry i didn't answer sooner, it was a long weekend here and i was trying to relax.
i did check some messages but missed this forum...
you are right about NO/NC situation there but it looks like BoblFoot had time and energy
to look deeper into this problem. did you try his solution? it looks ok to me...
i know this is not your program but i must agree with snk, it's quite messy to see the
whole thing (regardless of size) in just one file. i would try at least organizing it a bit better
and prefereably - rewriting it completely. after all this program is very small (just some seventy I/O)
and i don't see any diagnostic, manual controls etc. it's a shame to lack all that since both
PLC and PV are already there. I looked at this one more time and i see that I:0.0/5 (welder ready)
is not even used in program. On the other hand there is something on I:0.0/10 but who knows what...
Then you have all this logic around T4:100 (reset welder) and yet the actual output O:5.0/3
to reset welder is not used!?
don't you fancy to make something more user friendly? it's always easier to troubleshoot
own code, but this is somehting you need to decide since this could cut both ways.
it will take some time depending on your experience.
i would consider writing it all new from scratch and organize it a bit better anyway
becuse if this stops and production is down, they will point finger at you anyway since
you ware the last one making change and fixing it then will sure add more pressure.
(now this is encouraging...

). if heat is up, maybe you could patch it up for now and
work on a future program. this way you would have time to think about it, add and enable
logic in stages etc.
there is some code that could be relocated to different files and "out of sight...".
for example bunch of timers confirming certain condition could be moved to one file.
operating mode selection could be in another, alarms in yet another, signals to and from PV
in another, sequence should be separate, calling all subroutines in another and same goes
for interlocks etc.
then making changes to sequence or rewriting it completely is only few rungs, because
program is modular and everything else remains the same. adding more modes of operation
allows for better control. i just love to add more options and ways to control equipment.
for example i routinely add step mode so if something does go wrong or need change
I can execute my sequnces step by step at my pace and see what really is going on instead of
drawing conclusions based on memory status after something (a lot of things) already happened.
just a tought...