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

2019-07-18 01:44发布

之前在做机器视觉(machine vision)时,自己设计了一个调用笔记本自带摄像头的vi,然后看到论坛有人编写的轮廓提取或颜 {MOD}识别等一类的VI,就突发奇想,将这一类VI中的image替换成摄像头,那么不就可以用自带的摄像头进行实时的图像采集处理了吗?于是将调用摄像头的程序做成可调用的子VI,然而后来调用的时候发现,无法实时显示图像。
开始还以为,弄错了,后来用最简单的子VI实验发现,被调用的子VI中有while循环的话,他会一直运行,无法返回值,这该怎么解决呢?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
bamenwhj
1楼-- · 2019-07-18 07:07
方法很多,按你的题目通过VI引用动态获取控件值是最直接符合的方法;
如果要求效率的话,使用队列传递数据等都是不错的方法。
1449673831
2楼-- · 2019-07-18 09:25
bamenwhj 发表于 2016-1-5 22:52
方法很多,按你的题目通过VI引用动态获取控件值是最直接符合的方法;
如果要求效率的话,使用队列传递数据等都是不错的方法。

谢谢你的回答。
1449673831
3楼-- · 2019-07-18 11:07
我明白了,之前的图像采集程序中不小心使用了IMAQ Dispose VI,该VI在显示图像后会删除缓存,导致主VI在调用时,子VI的图像数据已经dispose了,所以看不到图像。

一周热门 更多>