在程序运行中改变Chart的历史长度



主要软件:
主要软件版本: N/A
主要软件修正版本: N/A
次要软件: N/A

问题:
我怎么能够在程序运行的时候改变Chart的历史长度?

解答:
实际上是没有办法在程序运行的时候改变Chart的历史长度的,这是因为LabVIEW会在程序运行之前已经根据Chart的历史长度分配好所需内存,所以程序运行后是无法增加所分配的内存数量的。然而,您可以设定您希望在前面板看到的数据的历史长度。只要知道历史长度的中的最大点数,那么您可以设置您想看到历史数据的点数。

在Waveform Chart的属性节点中有一个叫X Scale » Scale Markers[]的属性可以用来设定要显示的Chart的X轴的点数。在程序运行的时候,您只要把一个包含所要显示的点数的数组赋给这个属性节点,就可以改变显示的Chart的历史长度或者点数。例如,如果当前显示的点数是从0到5000,但是您只想显示最近的100个历史数据点,那么您可以将数组[4901, 4902, ... , 5000]赋给Waveform Chart的属性节点X Scale » Scale Markers[],此时这个数组的最小值和最大值就定义了Chart显示的点数的边界,因此即使有新的数据进入到Chart,也只会显示最近的100个点,直到该数组的值被更新。

请注意:这样做只会改变显示在前面板Chart中的数据,并不会改变保存在Chart数据缓冲区中的数据。如果您想获得更详细的信息,请参考附件中的VI。

相关链接:
KnowledgeBase 0HLH2GTA: What Is the Difference between Graphs and Charts in LabVIEW?

附件:


chart_history.vi


报告日期: 05/24/2006
最近更新: 05/28/2006
文档编号: 3EQCAC3U