LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

How should I get the error out from a VI run asynchronously in collect mode?

As shown below, I am running several reentrant clones of a VI asynchronously inside a subpanel.  

 

If I add a 'Wait for Async Call' node to get the error out and other data out, either inside the event structure (front panel locking mode or not) or the while loop (shown in second image), it blocks.  

 

Whats the best way to get the output from an async call run in an event loop like this?

 

Thanks. 

 

event loops.pngevent loops2.png

0 Kudos
Message 1 of 3
(2,542 Views)

How long do these calls run for?  Are they quick?  Take a long time to run?

 

Of course the call blocks when trying to get an output.  That's dataflow 101.

 

If you are trying to get data out of the asynchronous VI while it is running, use a User Event or a Queue to have the VI send that data to the main VI.


GCentral
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
"Not that we are sufficient in ourselves to claim anything as coming from us, but our sufficiency is from God" - 2 Corinthians 3:5
0 Kudos
Message 2 of 3
(2,526 Views)

In effect, I'm asking about a best practice.  Is there a way to use the collect feature of async calls to get the final output of a reentrant subVI when it's done running?  I see that I could use queues, etc., but that would mean sending the VI's final output out through the queue data rather than the output terminals.

 

Concerning the length of the calls, they are indefinite.  The async VIs are multiple versions of an identical front panel.

 

0 Kudos
Message 3 of 3
(2,520 Views)