多个队列在同一个循环中进行元素出队列操作的问题

2019-07-17 08:51发布

本帖最后由 哇哈哈公子羽 于 2015-4-25 10:23 编辑

我现在使用了4个采集卡进行采集数据,分别写入到四个队列中,我现在要实现:采集到数据之后要将所有数据曲线集合在一个波形图表中显示,所以我目前想到了下图所示的形式。
但我想,这样的操作会不会有很大的问题,求大神指导一下



后面根据sushu的提示做到了下图所示的程度,但是如何合成信号,还是没有明白,还请再详细指导一下
各图分别表示了为默认状态,和四个采集卡的各自数据@sushu

QQ图片20150424234809.png
QQ图片20150425101454.png
QQ图片20150425101520.png
QQ图片20150425101539.png
QQ图片20150425101645.png
QQ图片20150425101701.png
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
sushu
1楼-- · 2019-07-17 09:13
4个单独的DAQ模块,一个数据接收循环(里面就一个队列),是否同时完成采集数据。如果是同时完成数据。给每个DAQ编号。1,2,3,4.队列的元素为一个新的簇(一个字符串控件,一个波形数据类型。字符串控件里面是DAQ的编号),完成数据采集后发送数据到数据接收模块。数据接收模块里面添加case组建队列状态机模式。等接收到全部的DAQ数据后整合显示。
sushu
2楼-- · 2019-07-17 12:12
 精彩回答 2  元偷偷看……
★遥★臻★
3楼-- · 2019-07-17 16:52
sushu 发表于 2015-4-25 00:45
4个单独的DAQ模块,一个数据接收循环(里面就一个队列),是否同时完成采集数据。如果是同时完成数据。给每 ...

不要case语句,直接状态机。调用底层VI,同时启动数据采集任务,同时显示,同时清除数据采集任务。然后状态循环。可能好用些(个人拙见)
sushu
4楼-- · 2019-07-17 18:46
★遥★臻★ 发表于 2015-4-25 19:47
不要case语句,直接状态机。调用底层VI,同时启动数据采集任务,同时显示,同时清除数据采集任务。然后状 ...

是指那个状态机模块么
★遥★臻★
5楼-- · 2019-07-17 20:43
sushu 发表于 2015-4-25 19:58
是指那个状态机模块么

是的,上面的状态机加CASE语句在实际采集用起来不方便的。DAQ模块也不要调用DAQ助手,用数据采集相关的VI进行编程。我个人不建议上面那样多路高速数据采集和处理的时候,效率要考虑的,不然程序很容易出问题。(个人拙见)。
ptxy8023
6楼-- · 2019-07-18 00:34
看看学习学习学习

一周热门 更多>