LabVIEW论坛
直播中

1449673831

8年用户 60经验值
擅长:制造/封装
私信 关注
[问答]

当设计的子VI中有wihile循环时,被调用时子VI无法返回任何值

之前在做机器视觉(machine vision)时,自己设计了一个调用笔记本自带摄像头的vi,然后看到论坛有人编写的轮廓提取或颜色识别等一类的VI,就突发奇想,将这一类VI中的image替换成摄像头,那么不就可以用自带的摄像头进行实时的图像采集处理了吗?于是将调用摄像头的程序做成可调用的子VI,然而后来调用的时候发现,无法实时显示图像。
开始还以为,弄错了,后来用最简单的子VI实验发现,被调用的子VI中有while循环的话,他会一直运行,无法返回值,这该怎么解决呢?
已退回2积分

回帖(3)

bamenwhj

2016-1-5 22:52:35
方法很多,按你的题目通过VI引用动态获取控件值是最直接符合的方法;
如果要求效率的话,使用队列传递数据等都是不错的方法。
举报

1449673831

2016-1-6 11:03:14
引用: bamenwhj 发表于 2016-1-5 22:52
方法很多,按你的题目通过VI引用动态获取控件值是最直接符合的方法;
如果要求效率的话,使用队列传递数据等都是不错的方法。

谢谢你的回答。
举报

1449673831

2016-1-6 11:27:12
我明白了,之前的图像采集程序中不小心使用了IMAQ Dispose VI,该VI在显示图像后会删除缓存,导致主VI在调用时,子VI的图像数据已经dispose了,所以看不到图像。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分