Start Asynchronous Call
- Updated2023-02-17
- 4 minute(s) read
Start Asynchronous Call
Begins an asynchronous call to the VI you specify with a reference. Depending on how you set up Open VI Reference to prepare reference in for asynchronous execution, you can either ignore the node after calling it or collect its outputs at a later time with the Wait on Asynchronous Call node.
Inputs/Outputs

reference in
Reference to a target node you want to call asynchronously.

error in
Error conditions that occur before this node runs.
Default value: No error
The node responds to this input according to standard error behavior.
Standard Error Behavior
Many nodes provide an error in input and an error out output so that the node can respond to and communicate errors that occur while code is running. The value of error in specifies whether an error occurred before the node runs. Most nodes respond to values of error in in a standard, predictable way.
| error in does not contain an error | error in contains an error |
|---|---|
|
|
| If no error occurred before the node runs, the node begins execution normally.
If no error occurs while the node runs, it returns no error. If an error does occur while the node runs, it returns that error information as error out. |
If an error occurred before the node runs, the node does not execute. Instead, it returns the error in value as error out. |

reference out
Unchanged reference associated with the strictly typed VI reference.

error out
Error information.
The node produces this output according to standard error behavior.
Standard Error Behavior
Many nodes provide an error in input and an error out output so that the node can respond to and communicate errors that occur while code is running. The value of error in specifies whether an error occurred before the node runs. Most nodes respond to values of error in in a standard, predictable way.
| error in does not contain an error | error in contains an error |
|---|---|
|
|
| If no error occurred before the node runs, the node begins execution normally.
If no error occurs while the node runs, it returns no error. If an error does occur while the node runs, it returns that error information as error out. |
If an error occurred before the node runs, the node does not execute. Instead, it returns the error in value as error out. |
Accessing Inputs and Outputs of the Referenced VI
When you wire a strictly typed VI reference to Start Asynchronous Call, the node automatically displays the input terminals of the referenced VI. Wire data to the input terminals of Start Asynchronous Call to pass the data to the called 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 are not available from the Start Asynchronous Call node. To retrieve data from the outputs of the target VI, use the Wait on Asynchronous Call node.
Serial or Parallel Execution
When you pass the same VI reference to multiple Start Asynchronous Call nodes, the application serializes the calls by default. To allow parallel execution, make the target VI reentrant and configure it as Enable simultaneous calls for reentrant VIs when you open its reference with Open VI Reference. Regardless of whether the calls execute serially or simultaneously, this node returns immediately, allowing dataflow to continue in the calling VI.
Start Asynchronous Call Does Not Modify VI Clones
If you configure the VI reference to execute parallel instances of a reentrant target VI 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 node on the original reference that the Open VI Reference node returns, the effects of that node are not reflected in the VI clone that Start Asynchronous Call actually calls. To perform tasks such as opening or positioning the panel on the VI that is actually called, you must call the node within the reentrant VI itself.