Looking at your vi, a number of things stand out as possible contributors to errors and hang-ups. First of all, it is better to move the FP Create Tag.vi's outside of the loops. It means that you have to track which refnum is which, but saves processing power and memory.
Secondly, your methodology appears to be overly complicated. Why use a While loop that is set to be executed twice instead of a For loop? Additionally, I would recommend breaking your code out as parallel While loops rather than one 26 step sequence. Having the loops in parallel means they are executing at the same time rather than in series. This is much better for PID since the way it is set up, you will have two PID iterations with a deltaT of 100 ms, followed by an approximately
5200 ms delay (assumes 100 ms/iteration, 2 iterations/while loop, 26 while loops), then a deltaT of 100 ms again. Complicating matters further is the fact that each sequence step may touch one or more of the "zones" in earlier sequences and the deltaT's being used for the PID calculation go out the window...
Likewise, with 26 sequence frames, it is harder to get a feel for what is going on.
Furthermore, one common reason for total lock-ups is a While loop with no delay function in it.
Sorry to be so critical, but those are the areas that I see for improvement.
Regards,
Aaron
LabVIEW Champion, CLA, CPI