用consumer-producer结构.
http://www.ni.com/cms/images/devzone/tut/Synchronization_Producer_Consumer.png
谢谢回复,我根据你的提示,自己优化了结构,可是不知为何,还是无法实现自动保存。
我的目的就是想实现,在main.vi可以每隔10个循环给getcap.vi中的数据采集程序传递生成记录文件指令,自动生成数据记录文件。
中可能是自己的局部变量使用不恰当,暂时还没有解决,依照大佬的观点可以怎么修改呢?
我理解了你说的生产者消费者模式,也将我的程序v2版本修改成了队列的生产者消费者模式。
我的程序分为两部分,main_v2.vi以及Getcap_v2.vi(包含子vi为File_Produce_v1.vi),main_v2.vi理解成控制仪器运动(比如压电台往复运动),Getcap_v2.vi为数据采集程序(DAQ系统)。在main_v2.vi控制仪器运动时,里面循环结构就是仪器不同的位置,每10次之后,仪器回复到初始零位置。那么我就想用数据采集vi在仪器每一次回到零位置之后,自动新建一个.dat的数据采集的文件。
程序的思路:通过main_v2.vi里面的循环结构以及事件结构,在每10次循环之后,传递布尔变量(由False变为True)给数据采集的Getcap_v2.vi,让Getcap_v2.vi里面的程序先关闭当前的.bat数据采集文件,然后立即生成一个新的.dat数据采集文件,这里Getcap_v2.vi以10hz的频率采集0-10的随机数,从而实现在main_v2.vi每10次循环就能让数据采集Getcap_v2.vi重新采集数据。
程序的问题:现在我在main_v2.vi里面通过事件结构设置好了,每10次循环即让布尔变量改变,此时队列传递一个True值给Getcap_v2.vi,让Getcap_v2.vi重新生成一个新的.dat文件,可是不知道为何Getcap_v2.vi一直没有自动生成。所以向你求助下,不知道是不是事件结构有问题还是说队列结构有问题。