技术中心
 
 

LabVIEW中如何正确理解EXPRESS XY GRAPH

   日期:2012-08-15    

  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的重要原因。

 
标签: LABVIEW XY图
  
  
  
  
 
更多>同类技术
 
全年征稿 / 资讯合作
 
推荐图文
推荐技术
可能喜欢