Hi Skob,
There are different ways of calling a subVI in LabVIEW. I'll mention each of these ways in a little detail:
The simplest is by inserting the subVI in the main VI (You will see the icon of the subVI on the block diagram). When this VI is called, the block diagram waits until the subVI is done executing, after which the main VI continues to execute the rest of the VI.
Another way of calling a VI is called dynamically. The following links discuss the two way of calling a VI dynamically and their differences.
Serving Up Powerful Solutions - LabVIEW VI Server ExamplesCalling a VI by ReferenceWhat Is the Difference between Calling a VI with an Invoke Node and Calling a VI with a Call by Refe...Suggestions
1) Call your VI that acquires data dynamically.
2) Open connection to your instrument only once (especially because it seems like it takes a while for this). Then acquire the data. After you are done, close the connection.
I hope this helps.
Sincerely,
Feroz
National Instruments