I think this is one weird program, because it uses dummy rungs that serve as indicators and not to perform actions, all outputs are re-used (double, triple, and quad-ruple coils) in many subroutines and in the main, so that it is hard to tell which Sub is actually in control of any one output at any particular time. Because the subroutines are activated and de-activated by timers, and the timers are inside the subroutines, it seems that once a sub is deactivated, that its timer will be frozen at whatever state it was in - hopefully with the DN bit enabled.
For example, in Sub 4, Run 0001, you have both an XIO and XIC in series for Timer T4:1/EN. I don't think the Outputs of this rung can ever be enabled like this. Did you mean for the first XIO to be for T4:0/EN instead? On the other hand, this routine shows up in all of the "COOL-30" subroutines, so it must be intentional. This is probably a "dummy" rung that is being used to indicate which output is being turned on in some other subroutine.
It is a cascade of all the timers, one timer starting the next. If power blinks, all active subroutine timers will reset to 0. It might be better to use RTO timers, so the cycle could be continued or restarted, if there is some problem after 3 days. Unless you have a RECOVER routine, it seems that the entire one-week cycle will be lost if the power or PLC blinks off for a 1/4 second - as it is now.
Well this is my first program. The cool down subs with all 5 outputs and impossible scenario was just to make sure the outputs were off (Sub 4) when the main ladder called those subs. Not sure that was needed (I didn't get around to testing if they were needed or not).
The last 5 rungs in the main ladder was only there for me to watch the outputs energize in one spot while running in the emulator. Those rungs could only ever be true when the output was energized somewhere else, like in one of the subs. Originally I was hoping they would only allow one output to be energized at a time...but that simply doesn't work with the way it scans.
I was thinking if power dropped, everything would reset and start over anyways? I could just throw an UPS unit on it to keep it a float, I even have one laying around. I'm not sure if it even matters though about completing the entire week cycle, it was never specified to keep track of that. The PLC only routes power through different temp controllers per each mode. I only keep track of the cycles and hours that the temp controllers call for each of the 2 controlled parts of the unit.
I ran the cycle for quite some time in the PLC, it does work