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.

<a
href="http://zone.ni.com/devzone/conceptd.nsf/webmain/B837D4F9277EC75786256990006EBE5B?opendocument";>Serving
Up Powerful Solutions - LabVIEW VI Server Examples</a>

<a
href="http://zone.ni.com/devzone/conceptd.nsf/webmain/04F9CCB32C67F24386256802007B878F?opendocument";>Calling
a VI by Reference</a>

<a
href="http://digital.ni.com/public.nsf/websearch/4838398F3B2798A186256B82007B4ED0?OpenDocument";>What
Is the Difference between Calling a VI with an Invoke Node and Calling
a VI with a Call by Reference Node?</a>

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

Reply via email to