LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Problem exchanging global values with an excutable vi

I am using a global vi to exchange values between two vi's. One vi calls TestStand Engine and open and excute a sequence file. While running this sequence file, this vi updates panel display relecting changes in global vi. The sequence file calls the other VI that changes the value of the global vi. Problem is that when the first VI is compiled into an excutable EXE the values in the global vi is not being updated by the second vi. Any comments on this?
0 Kudos
Message 1 of 4
(2,726 Views)
Globals are only global within one and the same executable, if you need two different applications to share a variable you'll need to set up a link between the two.

You can use TCP/IP, DDE, a file or other ways to communicate between the two.
0 Kudos
Message 2 of 4
(2,726 Views)
If you are using TestStand to call each vi, you can use a TestStand local variable to get the value from the first vi and send the value to the second vi. The TestStand local variable would be a parameter to each vi, output from first vi and input to second vi.
- tbob

Inventor of the WORM Global
0 Kudos
Message 3 of 4
(2,726 Views)
I think my problem is I don't have the choice between TS variables and LV globals. I am supporting someone else's program. He already has a working TS/LV program with a global vi named "Global.vi". I developed operator interface program that initiate TS engine and call his sequence. When his sequence runs by itself, the global vi gets updated. Whereas, when the sequence is being called from my operator interface, the global vi doesn't get updated. I found that if I open the global vi before the sequence being called will fix the problem. But, this can not be a permanent solution. There must be a better way to manage memory allocation of global vi. I don't understand exactly why global vi gets updated when it is open before accessed for the fi
rst time.
0 Kudos
Message 4 of 4
(2,726 Views)