从子 VI 读取和写入主 VI 输入控件/显示控件

更新 Nov 8, 2023

环境

软件

  • LabVIEW

程式语言

  • LabVIEW G

本文将会介绍如何通过子 VI 访问主 VI 中的一些输入控件与显示控件的值,进而读取或写入相对的值。这样您可以在子VI实时I更新主 VI 的状态。

在 LabVIEW 中,前面板上的每个输入控件或显示控件都有自己的引用。此引用可以传递给程序中的任何部分并用于调用任何属性,包括值。以下步骤说明如何创建输入控件或显示控件的引用节点,将其传递给子 VI,以及在子 VI 中读或写输入控件或显示控件。

在主 VI 中,

  1. 打开程序框图并右键单击要您通过子 VI 更新的输入控件或显示控件。
  2. 单击创建 >> 引用以创建此输入控件或显示控件的引用,然后将其拖放到程序框图上。

在子 VI 中,

  1. 打开前面板并添加一个控件引用句柄 。有几种方法可以做到这一点:
    1. 从主 VI 复制此控件类型的常量并将其粘贴到子 VI 的前面板上:

      1. 右键单击您在主 VI 中创建的引用节点,然后选择创建 >> 常量

      2. 选择该常量,按< Ctrl-X >剪切。

      3. 打开子 VI 前面板并按 < Ctrl-V > 粘贴。常量节点将被粘贴并自动更改为相同类型的控件引用句柄。

         

    2. 直接在子 VI 的前面板中创建一个控制引用句柄

      1. 右键单击子 VI 的前面板,然后选择控件选板 >> 新式 >> 引用句柄 >> 控件引用句柄

      2. 根据主VI中的控件类型选择适当的VI服务器类。右键单击控件引用句柄并打开列表选择VI服务器类 >> 通用 >> 图形对象 >> 控件,然后选择对应的控件类型例如数值 >> 数字
         

  2. 在子 VI 的程序框图(见图 1)中,为引用句柄创建一个属性节点。您可以在函数选板 >> 编程 >> 应用程序控制查找属性节点
  3. 控件引用句柄连接到属性节点的引用输入。
  4. 单击属性节点中的属性以打开一个下拉列表并选择作为属性。
  5. 右键单击属性并选择转换为写入以连接输入参数。
  6. 将变化数据连接到属性节点输入(参见图 1,此示例使用While 循环中的计数接线端(i)作为变化数据。)

图 1:将DigNum引用句柄连接到子VI的属性节点
  1. 控制引用句柄连接到子 VI 前面板上的接线端,以便可以将数据通过引用从主 VI 传递到子 VI。您应该有一个连接到控制引用句柄的输入端子和一个连接于显示控件(若需要查看输出值)的输出端子。

在主 VI 中,

  1. 打开程序框图(参见图 2)并将引用节点连接到新创建的子 VI 接线端。


图 2:将数值引用节点连接到子 VI

附加信息

  • 运行主 VI 时,对子 VI 中的控件所做的任何更改也将在主 VI 中更新,因为它们是通过控件引用链接的。
  • 使用的属性节点不仅可以用于访问值,还可以用于访问各种其他控件/指示器属性。更多信息可参考LabVIEW帮助