xjc_87 发表于 2009-4-21 09:42:06

实时看子vi的数据

在子vi运行过程中,如何将数据实时传递到调用它的主vi中,而不是等待子VI运行结束后才在主VI中获得子Vi的输出数据?

在网上搜索到的都是这样的:

使用带控制参量的属性节点可以实现在子VI中修改主VI属性的目的,由于控件的值(Value)也是控件的属性之一,因此可以使用控制参量是新以上要求。在子VI中,使用带有控制参量的属性节点,将要传递到主VI的数据写入这个属性(Value)中,将控制参量要设置为Control,并且在子VI的连接器中进行定义;在主VI中,为接收子VIshuju的控件建立一个控制参量,将这个控制参量连接到子VI,即可达到在主VI中实时获取子VI数据的要求。

或

labview在主程序通过局部变量不能实时看子vi的参数,是因为通过局部变量只能得到子vi运行完之后的结果。可以用control reference 方式,在子vi加一个属MOD节点引出一个reference。主程序里把需要显示的控件创建一个reference连到子vi的reference输入端口。另外也可以用vi server方式实现。

但这些都没有具体的实现步骤,而且一些名称都不知道在哪,我是新手,请大家帮忙阿~~

HHHHLLLL 发表于 2009-4-21 09:47:52

我建议使用全局变量,这样来的简单些

foolooo 发表于 2009-4-21 09:56:41

或者用Queue传递。

xjc_87 发表于 2009-4-21 10:00:16

谢谢版主,我要达到的目的是实时的观测我的声音波形,调用了自己写的一个子vi,在子vi中的波形是可以看到的,但在主vi中却是最后的数据,全局变量我也试过了,好像也不行~~

foolooo 发表于 2009-4-21 18:38:21

用Queue,在子vi循环内部Enque,然后在主vi Deque,Queue用一样的名称。

wdyjz 发表于 2009-4-21 19:15:33

4# xjc_87

wdyjz 发表于 2009-4-21 19:16:58

create a control; right click,create the reference;在子程序内从引用上,创建属性节点,value进行赋值,主程序的波形显示控件上就会有波形同步显示的。
页: [1]
查看完整版本: 实时看子vi的数据