labview中 如何将一个全局变量在一个Vi中使用2次,其中一次作为读的状态,另一次为写的状态。谢谢!

来自:    更新日期:早些时候
求助labview 如何实现主vi与子vi之间数据传递~

因为labview是数据流驱动的,子vi不运行完,它的输出是不会输出到主VI的。没看到程序图,我猜测你的子VI中可能有循环,我想你的程序可能需要重新设计,比如,1)将循环拿出子vi,把子VI放在主VI循环中,每个循环都会出一次数据给主VI。 2)全局变量,主VI在主循环中通过全局变量获取子VI的数据,这个可能要用到并行循环,全局变量破坏可读性,也不适合大数据。3)使用引用、通知、队列等。

使用全局变量就能在不同的VI间进行调用了。

前面有人说的”功能全局变量“是一个使用不初始化的移位寄存器作为变量存储空间的专用VI而已(移位寄存器需要一个只运行一次的while循环提供生存空间),有了反馈节点后直接用一个不初始化的反馈节点就行了,这些不是函数选板里面的全局变量。

最简单的方法就是选中全局变量后按住Ctrl拖动,直接克隆出一个来,然后右键”转换为写入“或”转换为读取“即可。和一般的输入输出控件用起来没什么区别,只不过是在主VI前面板上没有对应的控件而已。全局变量里面可以放多个变量,相当于一个只有前面板的VI。

想要几个都可以,但尽量不用,那会不遵守LabVIEW原有的数据流机制,降低各子VI之间的可读性和引起竞争。

某些人别把Ctrl和C、V键用坏了。

该全局变量叫做 功能全局vi。
功能全局变量vi需具备的条件
1、只执行一次的while循环;
2、移位寄存器。


labview中 如何将一个全局变量在一个Vi中使用2次,其中一次作为读的状态,另一次为写的状态。谢谢!视频

相关评论:

相关主题精彩

版权声明:本网站为非赢利性站点,内容来自于网络投稿和网络,若有相关事宜,请联系管理员

Copyright © 喜物网