生产者消费者队列模式下,while循环里封装一个子vi,怎么让采集的数据和子VI同步?

2019-07-17 22:57发布

图片.png 采集到的数据有重复,怎么解决这个问题,求高人指点一下,十分感谢~~
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
tttotti
1楼-- · 2019-07-18 04:04
 精彩回答 2  元偷偷看……
冬冬振
2楼-- · 2019-07-18 08:52
用两个同样名字的队列,你想干what。
你如果想分别获取两个封装的子vi的数据需要用两个不同名称的队列。
123小太阳
3楼-- · 2019-07-18 12:12
tttotti 发表于 2016-7-7 13:27
同一个队列每次循环,两次数据入队列?

想要实现的是,两个子VI同时运行,元素一起入队列。前面版来进行选择具体让他们显示的内容,(子VI封装的内容多)
队列中的元素会重复调用么?我设计的是出队列后就销毁元素。
现在的问题是:采集到的数据和我封装的子VI 显示的数据不一致。采集到的数据多,有重复的数据,与while循环有关么?while循环没有设置时间,会不会重复采集数据,比如同一个数据,在while循环中两次入队列。有没有方法可以解决一下这个问题,希望你可以帮我一下~谢谢你啦
WS.png
tttotti
4楼-- · 2019-07-18 13:26
123小太阳 发表于 2016-7-7 16:50
想要实现的是,两个子VI同时运行,元素一起入队列。前面版来进行选择具体让他们显示的内容,(子VI封装的内容多)
队列中的元素会重复调用么?我设计的是出队列后就销毁元素。
现在的问题是:采集到的数据和我封装的子VI 显示的数据不一致。采集到的数据多,有重复的数据,与while循环有关么?while循环没有设置时间,会不 ...

因为你两个队列名是相同的,所以数据两次入同一队列。消费者循环里元素出队是一个个的出来,出来了肯定就从队列里删除了。while循环应该也没关系,读取完之后,默认会清空的吧,但是应该还是设置个时间吧,不然太耗CPU。问题好像是你设置的相同的队列的问题,为什么相同呢,究竟是不是就是一个队列?
123小太阳
5楼-- · 2019-07-18 14:33
tttotti 发表于 2016-7-8 09:50
因为你两个队列名是相同的,所以数据两次入同一队列。消费者循环里元素出队是一个个的出来,出来了肯定就从队列里删除了。while循环应该也没关系,读取完之后,默认会清空的吧,但是应该还是设置个时间吧,不然太耗CPU。问题好像是你设置的相同的队列的问题,为什么相同呢,究竟是不是就是一个队列? ...

我设置的不是同一个队列,是两个队列,只不过想让他们同时运行,因为想让我的界面同时显示子vi的两个内容,如图。队列不可以这样设置么?我把队列的名称:两个“数据”改成“数据1","数据2”之后,还是不能解决问题,怎么就能让我的这个LABVIEW显示的数据和子VI 同步了?加延时不知道加多长时间的才能和子VI的出数据的时间一致(我的这个子VI是一个机器自带的程序,机器简单点说,就是用来采集数据的,所以不想丢数)
      我把两个子VI去掉一个,变成一个队列以后,同一时间采集的数据,是两个的时候的二倍,这又是怎么回事呀?请指点一下我吧,谢谢你~~
需要上传的图.png
tttotti
6楼-- · 2019-07-18 17:19
 精彩回答 2  元偷偷看……

一周热门 更多>