Company Events Academic Community Support Solutions Products & Services Contact NI MyNI

Start Asynchronous Call Node

LabVIEW 2013 Help

Edition Date: June 2013

Part Number: 371361K-01

»View Product Info

Owning Palette: Application Control VIs and Functions

Requires: Base Development System

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.

Details  Examples

reference is a reference to a target VI that you want to call asynchronously. The reference must meet the following criteria:
  • Be strictly typed
  • Be prepared for asynchronous execution by the Open VI Reference function using either the 0x80 or 0x100 option flag. You can combine other option flags with these asynchronous options.
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.

Start Asynchronous Call Details

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 VIs for examples of using the Start Asynchronous Call function:

  • Asynchronous Call and Forget VI: labview\examples\Application Control\VI Server\Asynchronous Call By Reference
  • Asynchronous Call and Collect VI: labview\examples\Application Control\VI Server\Asynchronous Call By Reference

 

Your Feedback! poor Poor  |  Excellent excellent   Yes No
 Document Quality? 
 Answered Your Question? 
Add Comments 1 2 3 4 5 submit