在LabVIEW中从子VI更新主VI的图像显示控件

更新 Nov 19, 2023

环境

软件

  • LabVIEW Full
  • LabVIEW Professional
  • Vision Development Module

驱动

  • NI-IMAQ
  • NI-IMAQdx
  • Vision Acquisition Software

我想使用 NI-IMAQ 或 NI-IMAQdx 从子VI中获取图像,并在主VI上显示这些获取的图像。我该如何从子VI中更新图像显示的显示控件或输入控件?

您必须使用子VI中的属性节点来修改主/顶层VI中图像显示输入控件的属性。属性节点是一种以编程的方式,用来和前面板对象互动的框图对象,它提供对于该前面板输入控件或显示控件关联的一组属性的读取/写入访问。子VI中的属性节点可以通过接受绑定到该对象的控件引用输入作为调用VI的输入,以编程方式读取或写入调用VI前面板上的对象。

图 1:带有图像控件引用连接至图像控件的主VI

子VI程序框图上的属性节点现在可以使用图像控件参考号来更新调用VI前面板上的控件。下面的第二张图说明了如何在子VI的程序框图上使用图像控件参考号以编程方式更新调用VI的前面板对象的值。
图2:子VI获取图像并将其写入属性节点
NI-Vision 7.0 及更早版本用户的注意事项:当使用 NI-Vision 7.0 或更早版本时,此技术不起作用。对于这些旧版本的 NI Vision,建议使用全局变量在主 VI 和执行采集的任何子 VI 之间传递帧。该方法需要在调用VI中使用while循环,不断轮询全局变量以获取新数据。