当设计的子VI中有wihile循环时,被调用时子VI无法返回任何值
时间:10-02
整理:3721RD
点击:
之前在做机器视觉(machine vision)时,自己设计了一个调用笔记本自带摄像头的vi,然后看到论坛有人编写的轮廓提取或颜色识别等一类的VI,就突发奇想,将这一类VI中的image替换成摄像头,那么不就可以用自带的摄像头进行实时的图像采集处理了吗?于是将调用摄像头的程序做成可调用的子VI,然而后来调用的时候发现,无法实时显示图像。
开始还以为,弄错了,后来用最简单的子VI实验发现,被调用的子VI中有while循环的话,他会一直运行,无法返回值,这该怎么解决呢?
开始还以为,弄错了,后来用最简单的子VI实验发现,被调用的子VI中有while循环的话,他会一直运行,无法返回值,这该怎么解决呢?
方法很多,按你的题目通过VI引用动态获取控件值是最直接符合的方法;
如果要求效率的话,使用队列传递数据等都是不错的方法。
谢谢你的回答。
我明白了,之前的图像采集程序中不小心使用了IMAQ Dispose VI,该VI在显示图像后会删除缓存,导致主VI在调用时,子VI的图像数据已经dispose了,所以看不到图像。
