LabVIEW论坛
直播中

Lucky阿C

4年用户 91经验值
擅长:MEMS/传感技术
私信 关注
[问答]

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

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

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

回帖(8)

古月飞

2020-11-19 20:16:08

最佳答案

看你的错误信息有两种情况:
1、真的是入对列的数据类型不对
2、我下图的例子中,在停止按钮生效后,完成上面的循环,之后释放队列引用。之后在下面的循环中再用到这个队列就会报这个错误,错误信息和你的几乎相同。所以,这就表示你可能在进行第一次循环后直接将队列引用释放了。
建议:
可以自己多看看,试着改改自己的。实在不行可以用我下图演示的方法利用队列操作数据,再将采集之类的程序放在第一个循环就行了。
1 举报
  • Lucky阿C: 我把移位寄存器换成了隧道就好了
  • 无标题.png

Lucky阿C

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

冷凌

2020-11-20 09:21:03
第一次见这么用队列的,出队列的元素一般接到分支选择器,不知道你这样用队列的意义何在
3 举报
  • Lucky阿C: 谢谢您的回答!我是Labview初学者,请问可以指点一下用什么方法比较高效吗?
  • 冷凌 回复 Lucky阿C: 建议初学者先看书,或者在用的时候先去查资料,避免范低级错误
  • Lucky阿C 回复 冷凌: 好的谢谢您

两支花

2020-11-20 09:51:01
请问楼主你这个是不是keithley源表数据采集?问题解决了吗?
1 举报
  • Lucky阿C: 我是对斯坦福的微波信号源控制,问题还没解决

更多回帖

发帖
×
20
完善资料,
赚取积分