如何不通过前面板控件读取程序框图的数据
时间:12-13
整理:3721RD
点击:
在程序框图中有个生产循环不断地更新一个数组,在另一个显示循环里需要把数组显示到波形图,比如说1秒钟更新一下。
之前的做法都是在生成循环里把数组赋值给一个前面板的显示控件(把控件隐藏起来),在显示循环里通过局部变量读取数组显示控件,并赋值给波形图。但这样会不会效率比较低?在生成循环里把数据赋值给数据显示控件会不会影响速度?
有没有更好的办法可以不通过前面板控件来实现?
之前的做法都是在生成循环里把数组赋值给一个前面板的显示控件(把控件隐藏起来),在显示循环里通过局部变量读取数组显示控件,并赋值给波形图。但这样会不会效率比较低?在生成循环里把数据赋值给数据显示控件会不会影响速度?
有没有更好的办法可以不通过前面板控件来实现?
生产者 消费者模型啊
这个是用队列的,好像不合适啊。
我的程序里,生产循环只是维护一个固定的数组,不断更新其内容,只是需要隔一秒左右显示一下。
那岂不更容易,显示循环弄个1秒的定时器。对写入数据和读取数据操作均适用mutex。
我的意思是怎么取读到另一个循环里的数据?在程序框图里没法把数据从一个循环传递到另一个循环啊
看来你不是很熟悉labvIEW。
你用gloable function吧 很容易解决你的问题。
你好,我看了一下global function,好像其实现的是在结束VI调用后还把数据留在内存的作用,类似全局变量,怎样用在两个循环里呢?
你做个例子吧,我给你修改一下 。
你好,我写了个简单例子,就是不断递增的一个数组,要在另一个循环里显示到波形图控件,十分感谢!
用的是labview8.6
附件呢?
不好意思,忘了,这次好了
你要是要求不是很严格(如解决竞争问题),做个普通的生成、显示这样就够了。
简单工作不需要复杂化。这样效率什么的都没问题。
你是说现在这样的效率也不成问题?如果直接把赋值给波形图放在第一个循环里,效率会比赋值给数组显示控件低么?
k级数据量根本就没多大影响。现在计算能力远超过你的理解范围。