问题是这样的,由于工作需要,最近在研究LabVIEW的应用。由于设备需要使用LabVIEW不停的采集数据,并且还要和其他模块配合使用,于是我就把功能分成了几个子VI用来调用获取值,问题来了,由于我在采集数据的子VI中使用了while循环(采集数据么~),在调用此VI的时候发现数值无法返回,开始以为是调用方式有问题,在单位琢磨了半天未果,于是在家里做了个简单的测试程序,终于发现了问题所在:子VI在含有while循环时,子VI的所有活动结束前,不会返回任何数值,类似于C语言中的子函数中含有while循环~
下面请看我的两个非常简单的LabVIEW的VI,Call是调用者,Calc是被调用者,Calc负责生成随机数,然后定义了一个参数返回值接口,就是一个数值显示控件绑定的值(random):