Company Events Academic NI Developer Zone Support Solutions Products & Services Contact NI MyNI

Call By Reference Node

LabVIEW 8.5 Help
August 2007

NI Part Number:
371361D-01

»View Product Info

Calls the VI specified by reference. The reference VI must be a strictly typed VI reference.

Both Call By Reference Node and subVI node call a VI. Call By Reference Node enables you to call any VI whose connector pane matches that of the strictly typed reference input. Use the Open VI Reference function to obtain a strictly typed reference. A subVI node only allows you to call a specific VI that is statically determined when you place the subVI node on the block diagram.

Details  

reference is the refnum associated with a VI that is already open. The reference must be a strictly typed VI reference.
error in describes error conditions that occur before this VI or function runs. The default is no error. If an error occurred before this VI or function runs, the VI or function passes the error in value to error out. This VI or function runs normally only if no error occurred before this VI or function runs. If an error occurs while this VI or function runs, it runs normally and sets its own error status in error out. Use the Simple Error Handler or General Error Handler VIs to display the description of the error code. Use error in and error out to check errors and to specify execution order by wiring error out from one node to error in of the next node.
status is TRUE (X) if an error occurred before this VI or function ran or FALSE (checkmark) to indicate a warning or that no error occurred before this VI or function ran. The default is FALSE.
code is the error or warning code. The default is 0. If status is TRUE, code is a nonzero error code. If status is FALSE, code is 0 or a warning code.
source specifies the origin of the error or warning and is, in most cases, the name of the VI or function that produced the error or warning. The default is an empty string.
reference out returns reference unchanged.
error out contains error information. If error in indicates that an error occurred before this VI or function ran, error out contains the same error information. Otherwise, it describes the error status that this VI or function produces. Right-click the error out front panel indicator and select Explain Error from the shortcut menu for more information about the error.
status is TRUE (X) if an error occurred or FALSE (checkmark) to indicate a warning or that no error occurred.
code is the error or warning code. If status is TRUE, code is a nonzero error code. If status is FALSE, code is 0 or a warning code.
source describes the origin of the error or warning and is, in most cases, the name of the VI or function that produced the error or warning.

Call By Reference Node Details

If you use the Call By Reference Node to load a VI into memory and display the front panel, the rest of the block diagram does not execute until the target VI finishes executing. If you want to open only the front panel of the VI, use the Front Panel:Open method. You also can use the VI Call Configuration dialog box to configure when to load the target VI.

At the top of the Call By Reference Node are four terminals: an input/output pair of flow through VI reference terminals and an input/output pair of flow through error clusters. The VI reference input accepts wires from strictly typed VI references and strictly static VI references. Below these terminals is an area within which a connector pane resides that is identical to that of a VI with its terminals showing (rather than its icon). The connector pane of the strictly typed VI reference input determines the pattern and data types of this connector pane. Wire to these terminals just as you would to a normal subVI.

If none of the terminals of the connector pane have wires attached to them, the connector pane adapts automatically to that of the input VI reference's connector pane. However, if any of them are wired, the node does not adapt automatically, and you must explicitly change the connector pane (possibly breaking those wires) by right-clicking the node and selecting Adapt To Reference Input from the shortcut menu.

At run time, there is a small amount of overhead in calling the VI that is not necessary in a normal subVI call. This overhead comes from validating the VI reference and a few other bookkeeping details. However, for a call to a VI in the local application instance, this overhead should be insignificant for all but the smallest subVIs. Calling a VI located in another LabVIEW application (across the network) involves considerably more overhead.


Resources


 

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