05-01-2003 06:36 AM
05-01-2003 07:15 AM
05-02-2003 06:55 AM
05-02-2003 09:41 AM
12-07-2004 10:31 AM
12-08-2004 06:45 PM
12-09-2004 11:01 AM
02-23-2007 07:21 PM
02-23-2007 07:22 PM
02-24-2007 09:50 AM
You've done several things incorrectly. First, the subVI has a while loop that terminates with a front panel Boolean. Since you don't make the front panel of the subVI visible, the subVI just runs with no way to stop it. When you call a subVI, execution passes to the subVI and the calling VI is paused. Since the subVI has no way to stop and return to the main, the while loop in the main is not running and reading the global variable. If you were to drag the subVI outside the while loop, then you would see the global update. You still would need to make the subVI visible in order to be able to press it's stop button. Of course, with the subVI visible, it's front panel is showing the value getting updated and there's no reason to have a global in the main anyway.
If you want to have a subVI remain hidden, you can't use a while loop with a front panel control that's needed to stop it. Well, you can but that gets kind of complicated. If you do have a subVI and want to update an indictor with a global, the reading of the globabl should be done in a separate while loop. To keep the update in the same loop, don't use a global. You can create a reference to a front panel indicator and pass that to the subVI. The subVI writes to the value property. Here's a real simple example of that in 7.0.