All of your boolean switches should have a mechanical action of one of the latch types. You should have an error in and an error out connection on each or your sub-vis connector panes. Wiring the error out from the first sub-vi to the error in of the second sub-vi will gaurantee that the first will run until completion before the second one starts. They way you have it now, these two sub-vis run in parallel, causing unpredictable results. Using error in/out is a good way to ensure execution control without having to use sequences. Also, don't take this the wrong way, but your wiring is a jumbled mess. Very hard to see what wire goes where. You have booleans hiding other booleans, and wires hiding other wires in your block diagram. By using neat
ly placed wires, controls, and indicators, it will be much easier to troubleshoot your programs. Also, all your inputs to sub-vi connector panes should come in from the left side (or top or bottom). Outputs should go out the right side. This also makes the code easier to read.