Hi Stuart,
I had a couple of problems opening your .llb - looks like there's a couple of sub .vi's missing, but I think I got the point - you're using loop1withsubvi.vi to fire off the sub.vi - loop222.vi, but although this is updating the global variables, the graph in the main.vi is being fed the information once only, with no control (determinism) on when this will happen.
I'd make four suggestions.
1. you can have one global.vi with multiple controls on it, rather than multiple global.vi's with one control on each - this makes managing files a lot easier.
2. put the graphing information into the program flow so it occurs after the sub.vi has run (i.e. in the same case statement, possibly needing to use a sequence frame to make sure that the graph is upda
ted after the data is updated.
3. Try playing around with control references so you can remove the need for the globals. You can create a control reference to the graph, and pass this to the sub.vi (that way the sub.vi can still be generic and launched to run simultaneously with the top level .vi) The sub.vi can then pass data to the main.vi.
4. Simply pass the data directly back to the graph from the sub.vi - looking at what you seem to be trying to acheive, you can call the sub.vi in the case statement as you are doing now, and the sub.vi has to complete anyway before updating the graph, so you can put the graph FPTerm in the case statement anyway - you're not passing anything additional to the graph from the looks of things.
Hope that helps and I got the right file!
S.
// it takes almost no time to rate an answer