发 帖  
原厂入驻New
[问答]

Labview生产者消费者模式—仅成功传递了一次数据怎么办

718 labview 程序
分享
设计了一个对仪器闭环反馈的程序:
         一、程序框架包括:仪器初始化模块、生产者消费者模块
         二、仪器初始化模块(VI0)使仪器启动,由DAQ助手采集数据并处理,由生产者消费者结构将数据传递到反馈程序模块(VI1)(VI0和VI1相同,并使用同一个VISA。它们的区别在于:VI0放在生产者消费者模式之外用于启动仪器,VI1放在消费者循环内用于反馈)。
         我的问题是:在高亮显示中,生产者消费者模式成功传递了第一个数据,但是之后的数据未能成功传递。在高亮过程中发现,当传递第二个数据时,入队列的错误簇输出error。请教大家这个问题应该如何解决呢?

0
仪器控制.png
生产消费结构.png
error.png

反馈_生产消费2(2).rar

下载积分: 积分 -1 分

138.83 KB, 下载次数: 8, 下载积分: 积分 -1 分

2020-11-19 20:16:07   评论 分享淘帖 邀请回答

相关问题

8个回答
看你的错误信息有两种情况:
1、真的是入对列的数据类型不对
2、我下图的例子中,在停止按钮生效后,完成上面的循环,之后释放队列引用。之后在下面的循环中再用到这个队列就会报这个错误,错误信息和你的几乎相同。所以,这就表示你可能在进行第一次循环后直接将队列引用释放了。
建议:
可以自己多看看,试着改改自己的。实在不行可以用我下图演示的方法利用队列操作数据,再将采集之类的程序放在第一个循环就行了。
最佳答案
无标题.png
2020-11-19 20:16:08 1 评论

举报

1 条评论
后续:我把错误蔟连接删除后,报错为:元素入队列。输入参数无效。如输入是路径,路径可能包含操作系统禁止使用的字符,如?或@。==========命令要求GPIB控制器为主控控制器。
2020-11-19 20:42:17 评论

举报

第一次见这么用队列的,出队列的元素一般接到分支选择器,不知道你这样用队列的意义何在
2020-11-20 09:21:03 3 评论

举报

3 条评论
请问楼主你这个是不是keithley源表数据采集?问题解决了吗?
2020-11-20 09:51:01 1 评论

举报

1 条评论
一个你的版本太高,第二你先看一下NI的连续采集的例子再编程,别想到哪编到那,你这是典型的从下到上的编程方式
2020-11-20 11:54:20 1 评论

举报

1 条评论
我看您这个错误产生的最初位置怎么好像是DAQ助手啊,
2020-11-23 14:18:28 1 评论

举报

1 条评论
  • 2020-11-23 16:43

    其实这个图里有许多error是移位寄存器循环过去的,实际上是在入队列后第一次出现error

你把VI0和VI1的close模块屏蔽试试
2020-11-23 16:04:24 评论

举报

本帖最后由 古月飞 于 2020-11-23 17:00 编辑

你的图片的截图
1.png
2020-11-23 16:58:10 1 评论

举报

1 条评论

撰写答案

你正在撰写答案

如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。

高级模式
您需要登录后才可以回帖 登录 | 注册

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
我要提问
关闭

站长推荐 上一条 /7 下一条

快速回复 返回顶部 返回列表