Start Asynchronous Call VI
- Updated2025-01-28
- 3 minute(s) read
Start Asynchronous Call VI
Starts an asynchronous call to the VI indicated by the reference input. Depending on how you prepare reference for asynchronous execution with the Open VI Reference function, you can either ignore the VI after calling it or collect its outputs at a later time with the Wait On Asynchronous Call node.

Inputs/Outputs
![]()
reference is a reference to a target VI that you want to call asynchronously.
The reference must meet the following criteria:
![]()
error in describes error conditions that occur before this node runs. This input provides standard error in functionality.
![]()
reference out returns reference unchanged.
![]()
error out contains error information. This output provides standard error out functionality.
|
Interface Details
The interface of this node includes the following features:
- Access to inputs of the target VI—When you wire a strictly typed VI reference to the reference input of the Start Asynchronous Call node, the node displays the input portion of the connector pane of the referenced VI. Wire data to the input terminals of the connector pane to pass the data to the target VI.
- No access to outputs of the target VI—Because the purpose of the Start Asynchronous Call node is to start a VI call without waiting for it to complete, the outputs of the VI call are not available from the Start Asynchronous Call node. To collect the outputs of the target VI, use the Wait On Asynchronous Call node.
Execution Details
This node exhibits the following execution behaviors:
- Serial or parallel execution—When you pass the same VI reference to multiple Start Asynchronous Call nodes, LabVIEW serializes the calls by default. To allow parallel execution, make the target VI reentrant and set the 0x40 option flag when you open its reference with the Open VI Reference function. Regardless of whether the calls execute serially or simultaneously, this node returns immediately, allowing dataflow to continue in the calling VI.
- If you include 0x40 as part of the options input, VI Server properties and methods do not modify called VI clones—If you set the 0x40 option flag when you open a reference to a target VI, the Start Asynchronous Call node starts a call to a clone of the referenced VI, not to the referenced VI itself. Therefore, if you call a VI Server property or method on the original reference that the Open VI Reference function returns, the effects of that property or method are not reflected in the VI clone that the Start Asynchronous Call node actually calls. To perform VI Server tasks such as opening or positioning the front panel on the VI that is actually called, you must call the property or method within the reentrant VI itself.
- Does not require the user interface thread to be idle
Examples
Refer to the following example files included with LabVIEW.
- labview\examples\Application Control\VI Server\Asynchronous Call By Reference\Asynchronous Call and Forget.vi
- labview\examples\Application Control\VI Server\Asynchronous Call By Reference\Asynchronous Call and Collect.vi