Updating a Control or Indicator of a Top Level VI From a subVI

Updated Apr 13, 2018

Reported In

Software

  • LabVIEW

Issue Details

I have a control in a top level VI. How do I modify its value from a subVI? 

Solution

Follow the instructions below to modify your control from a subVI: 

 

In the SubVI

  1. Place a Control Refnum on the front panel (Controls Palette >> Modern >> Refnum >> Control Refnum).
  2.  Select the appropriate VI Server class based on the type of control by right clicking the Control Refnum.
  3. On the block diagram (see Fig. 1), create an implicit property node for the refnum (Functions Palette >> Application Control >> Property Node).
  4. Wire your control refnum to the reference input of the implicit property node.
  5. Select Value as the input parameter from the drop down list of the property node.
  6. Wire the varying data to the Value input of the implicit property node.
  7. Add the control refnum input to the connector pane on the Front Panel of the subVI. 
 
Figure 1: SubVI DigNum Refnum Passed to a Property Node 


In the Main VI

  1. Right-click the control on the block diagram, and select Create >> Reference.
  2. Place the subVI created in the steps above on the block diagram of the main VI.
  3. Wire the control reference into the control refnum input of the subVI. (see Fig. 2)
 
 
Figure 2: Numeric Control Reference Passed to SubVI
 

Additional Information

When running the main VI, any changes made to the control in subVI will be updated in the main VI as well because they are linked through the control reference. 

The above procedure can be done for any kind of control. 

WAS THIS ARTICLE HELPFUL?

Not Helpful