如何在没有 xcontrol 的情况下在子面板中使用 subvi(组件)的多个实例?

How can I use multiple instances of a subvi (component) in subpanels without xcontrol?

我尝试在 labview 中构建模块化、可重用的代码。 我想创建一个 UI 组件,允许我 select 给定目录中的文件或目录之一。

我创建了一个执行此操作的子 VI。到目前为止,一切都很好。 我可以将此 subvi 用作其他 vis 中的组件,方法是将其放入子面板中。

我想在我的主 vi 中有几个这样的带有子 vi 的 "instance" 的子面板。

我做不到。 Labview 在一个子面板中打开子 vi,并在另一个子面板中打开时抛出错误。

我如何告诉 Labview 创建一个 duplicate/new "instance" 的子 vi,它独立于其他子 vi 运行?

我发现 xcontrol 可能是创建组件的更好方法,但我无法使用它们,无论它们是否解决了上述问题。

Labview 2013

您需要将subvi配置为可重入。

这允许 LabVIEW 为每个实例分配数据 space。

有不同类型的重入,我会坚持使用预分配选项开始。

http://zone.ni.com/reference/en-XX/help/371361J-01/lvconcepts/reentrancy/