LABVIEW中如何正确理解EXPRESS XY GRAPH
XY图可以说Labview数据图形显示控件最为灵活的控件,可以替代波形图和波形图表的绝大部分功能,其输入参数形式有许多变化,在下面的两篇文章中,具体讨论了XYGRAPH的多种用法。
快速VI(EXPRESSVI)是LABVIEW提供的一套可以采用对话框快速配置的VI,非常有利于初学者使用。在快速VI中,提供了快速XYGRAPH,该VI可以实现连续的数据显示,但是与我提及的数据缓冲区有很大区别。
上面所提及的数据缓冲区连续显示数据类似于LABVIEW的波形图表,本身保持一个设置为固定长度的数据缓冲区,当超过所设长度时,新的数据进入缓冲区时,原有的数据被丢弃。这样XY图始终显示的最新数据,而且长度不变,控件显示的是示波器的效果。
快速XY图则不同,它有两种不同的运行方式。
每次调用时是否清除数据决定了EXPRESSXYGRAPH的工作方式。
1、每次调用时清除数据,则EXPRESSXYGRAPH与一般的XYGRAPH没有明显的区别,输入参数采用了两个一维数组,这是XYGRAPH常见的工作方式。
2、每次调用不清除数据,则EXPRESSGRAPH内部记录不断累积的数据,也就是说它内部保持两个不固定长度的一维数组,用来保存X数据和Y数据。
在每次调用不清除数据时要特别注意,与数据缓冲方式不同,EXPRESSXYGRAPH不是以移动的方式显示数据,而是不断增加数据,所用内存是不断增加的。
为了正确理解快速XYGRAPH,我们分析一下,首先把快速XYVI转换成一般的VI,分析一下它的工作原理,通过快捷菜单,选择打开前面板。
下面跟踪它的程序框图。
从程序框图可以看到,在连续显示增加数据的情况下,它利用了XY图的局部变量,取出原来的数据,利用BUILDARRAY函数不断增加XY图中的数据,这样在长时间运行后,很容易导致内存滥用,而不释放的情况,同时由于使用了局部变量,内存的使用是加倍的。这与我们所说的数据缓冲区是完全不同的。
另外,由于快速VI采用了动态数据,因此不断地在进行数据类型转换,这也是快速VI效率不高的原因之一。
从程序框图上也可以看出,如果使用连续显示的方式,我们必须监测累积数据的大小,在达到一定程度时,通过RESET,清除数据,释放所用内存。
需要强调的是快速VI是在LABVIEW7.0后推出的,主要是简化编程难度,但是运行效率显然是不高的,同时也牺牲了灵活性,这也是熟悉LV的编程者一般不愿意使用快速VI的重要原因。
数据图形显示控件LABVIE 相关文章:
- 频宽、取样速率及奈奎斯特定理(09-14)
- 为什么要进行信号调理?(09-30)
- IEEE802.16-2004 WiMAX物理层操作和测量(09-16)
- 为任意波形发生器增加价值(10-27)
- 基于PCI 总线的高速数据采集系统(09-30)
- 泰克全新VM6000视频测试仪助力数字电视等产品测试 (10-06)