Hello, I really need some help on this one....

The VI I am running is measuring live pressure and thermal data, and has a valve controlled by a slider on the front panel. The user slowly closes the valve until the air compressor surges and at that point, the data needs to be recorded and displayed in a pop up window, all while still having control of the valves on the front panel(to open them back up). Here is what I have been doing so far. I have all of the necessary data writing to the global, and then I am displaying it by running a separate VI that is called out through the original VI. However, once I activate the sub VI, it is freezing both the main VI and the sub VI. I have tried while loops, and for loops in both of my programs, but none of them give me the result I need. I only want to freeze the sub VI data window while the main VI keeps running since I still need control of the valve. On the contrary, I can pull my sub VI out of the while loop in my main VI, but then both VI's display the data live. My whole point to this program is to "capture" the data at the surge point of the air compressor, and still be able to maintain control over the intake valve. Then the data can be recorded from the pop up window after the surge point occured. The surge point can only happen for a few seconds to avoid damage to the machine.
Thanks for any input...