LabVIEW:如何将值从回调vi传递到main vi

时间:2018-03-14 04:25:15

标签: callback labview

我有与我们的相机通信的.NET库,我正在编写LabVIEW VI来通过.NET库控制我们的相机。根据相机的使用方式(空闲,现场,无等),相机在相册库中的状态会不时更新,我希望LabVIEW能够接收更改。

看下面的例子,使用回调似乎是正确的方法,但我不确定:

  • 如何将更新后的值从回调vi传递到主vi
  • 如何通知main.vi .NET库调用回调

作为一个例子,我想将回调中的整数值传递给main vi,但我无法弄明白。

你能帮我吗?

谢谢!

main.vi front panel main.vi control panel callback.vi control panel 请注意,我从main.vi手动更新xValue以触发回调。我想要做的是,一旦.NET调用回调,我想将回调中更新的xValue打印到main.vi中显示的指标

我应用了Yair的建议,但是当我出列时,即使调用了回调,我也没有得到“调用”状态。

enter image description here enter image description here

1 个答案:

答案 0 :(得分:2)

  1. 删除寄存器回调节点。
  2. 在主VI中创建用户事件。如果有任何机会你将修改它,那么使数据(在你的情况下为xValue整数)为typedef。使用Register for Events节点在主VI中注册用户事件,并使用事件结构处理它。
  3. 将用户事件连接到注册节点的用户参数输入。
  4. 如果您现在创建回调VI,您将使用事件参考作为用户参数,并且您可以使用生成用户事件原语在回调VI中生成用户事件。
  5. 现在,每次回调VI运行时,它都会生成事件,主VI将把它放在事件队列中。