主VI前面板中显示或使用多个子VI

更新 Aug 28, 2023

适用于

软件

  • LabVIEW Professional
  • LabVIEW Full

问题详述

我想在程序中连接一个或多个子VI的前面板,但是当我调用它们时,每个子VI在计算机屏幕上显示为一个新窗口。那么怎么能让每个子VI作为主VI前面板的一部分进行显示,而不是在屏幕上显示多个窗口?

我正在尝试使用子面板,但函数/子VI并没有显示出预期的结果。

解决方案

您可以使用子面板控件实现此操作。子面板控件也称为子窗口,作为一种容器,它允许多个子VI的前面板显示在一个主VI的前面板上,而不是打开几个隐藏在彼此后面的单个子VI窗口。子面板控件还允许用户查看远程面板应用程序中子VI的前面板并与之交互。


在LabVIEW 2011及更高版本中,您可以在Controls (控件)» Modern(默认现代) » Containers(容器)面板中找到子面板控件。

相关信息

LabVIEW包含一个现成的范例, Subpanel.vi中的多个VI ,其中演示了如何使用子面板控件。您可以通过选择帮助 » 查找示例...在LabVIEW范例查找器中找到它,然后在“搜索”选项卡上,在“输入关键字”文本框中输入子面板作为关键字。您还可以在NI社区中找到使用子面板的示例: 如何使用子面板在单个主机VI中显示不同的子VI前面板


使用时要记住以下几点:

  • 运行主VI时,子VI不一定在内存中。
  • 将子VI放入子面板不会自动运行子VI,即使在VI属性中选择了“打开时运行”也是如此。您必须使用VI Server的方法来运行子VI。
  • 子VI前面板仅在主VI运行时显示在子面板容器中。当主VI停止时,子VI的前面板将从子面板控件中移除。
  • 子面板控件包含在LabVIEW完整版和专业版开发系统中。如果VI包含子面板控件,则可以在所有LabVIEW包中运行VI,但不能在基础版中配置控件。在完整版中,子面板控件可以放在前面板上,但某些配置属性不可用(即滚动条和帧可见属性)。
  • 创建具有子面板控件的应用程序时,请在配置控件时使用相对目录路径,并确保在“始终包含”下包含此VI。