我正在编写一个程序来控制Labview中的两个类似设备。为了避免复制代码,我使用了子VI。但我有一段代码,我在一个while循环中更新GUI上的一些值。我想知道是否有可能以某种方式在我的子VI中包含这个循环并让子VI在每次迭代后发送一个输出参数。
答案 0 :(得分:7)
要从子VI中更新GUI,您可以执行以下操作之一:
Value
属性。如果您查看LabVIEW帮助以获取粗体条款,您将找到有关如何使用它们的文档和示例。
在这些选项中,我会使用一个队列来获取任何数据,其中顶级VI接收每个数据点(例如,如果数据正在图表上绘制或记录到文件中)或通知者只有用户必须看到最新值。为此目的使用控件引用有点“快速而肮脏”,可能会导致性能问题。
如果您需要更新多个这样的指标,您可能需要构建一个群集,其中包含您发送到队列/通知程序或包含控件引用的数据。将您的群集另存为 typedef ,以便您可以在不破坏代码的情况下修改其内容。