在主VI中包含大量的子VI

时间:2019-05-11 15:42:04

标签: labview

我有大量的SubVI(大约50个),包括一些特定于用法的代码,还有少量的GUI元素(大多数约为2:输入和输出)。

我的目标是重用这些VI,而不会在新的(“主”)VI中造成严重混乱,并在用户最终将要与之交互的GUI公用窗格上收集所有GUI元素。

我尝试像示例中一样使用Open VI Function,'VI Reference'和'Run SubVi'创建子面板的引用,但是子面板ui仅在程序运行时显示,其他数量块通常比各自的SubVI中的代码大。 子VI只能加载一次以构建主用户界面。

另外:在this教程中,他们创建一个子VI并重新创建该子VI中已定义的GUI元素。 我认为这就像传递参数一样,就像在基于文本的编程语言(如代码片段)中一样:

def main_vi(x, y, z): # inputs x, y, z
    s = sub_vi(x, y, z) 
    return s # output s

这是必需的,还是subvi的GUI控件可以直接从外部重用

是否可以在包含所有内容的“主” VI中使用子VI,并使用选项卡将所有内容映射到通用UI?

还是将所有内容复制到主VI更好,即根本没有代码重用?

谢谢!

2 个答案:

答案 0 :(得分:0)

取决于您要使用的功能,您可能希望查看XControls。这将使您可以将功能封装到可重用的控件中,该控件可在主面板上使用,而不会使主面板变得很混乱。

答案 1 :(得分:0)

大型UI可能会让人很痛苦(无意中使用了窗格),尤其是在有很多控件和指示符的情况下。有一些有用的方法可以将UI分解为模块化组件。 XControls就是其中之一,但由于其不可预测的行为,我不推荐它们。而是考虑使用子面板。一家名为Moore Good Ideas(或MGI)的公司提供了一个很好的工具包。 More info can be found on their website here.

XControls还有一个更好的替代方法,称为QControls。 More info on them can be found here.

但是,一般而言,您可能希望研究一个更具模块化的框架。 More info on Frameworks can be found here.

相关问题