LabVIEW​运行中改变Chart的历史长度

简介: LabVIEW​运行中改变Chart的历史长度

LabVIEW运行中改变Chart的历史长度


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


解答:


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


在WaveformChart的属性节点中有一个叫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。


在LabVIEW中,应该分别在什么情况下使用波形图和波形图表?这两种控件的数据显示方式有什么区别?应该使用哪一个控件来查看数据的历史记录?


解决方案


波形图和波形图表在显示和更新数据的方式上有所不同。


波形图可接受各种类型的数据阵列,例如数组,波形或动态数据。波形图在接收到数据后将立即绘制所有接收到的数据点。波形图不接受单点值。当将包含数据点的数组连接到波形图时,波形图会假定数据点之间的间距相等。默认情况下,初始的X轴取值以及步长(t0和dt)分别为0和1,该初始值可以在波形图的属性中更改,也可以使用属性节点对其进行更改。


波形数据类型在本质上是一个包含t0和dt信息的数据点数组。在这种情况下,波形图接收波形中包含的t0和dt取值,并根据t0和dt取值相应地显示数据。可以使用自行指定的数据点、t0和dt来构建自定义的波形。还可以通过将二维的波形数组或动态数据连接到波形图以在同一波形图上显示多个图形。


波形图表将一定数量的数据点存储在缓冲区,并通过这种方式存储并显示这些数据点。当缓冲区被填满后,波形图表将会用新的数据点覆盖缓冲区中存在时间最久的数据点。当数据点可用时,波形图表将显示已有的数据点外加最新接收到的数据点。可以一次写入单个或多个数据点。如果将一个数组连接到图表,它会将该数组中的数据点附加到现有数据点之后。通过将一个包含数据点的簇或是一个包含波形或动态数据的二维数组连接至波形图表,可以在同一图表中显示多个图形。例如,如果连入了一个包含3个数据点的簇,波形图表将为显示的3个图形各添加一个点。下面的程序框图说明了波形图与波形图表功能上的差异:


在上面的For循环中,自动索引被用于生成包含100个随机值的数组,该数组随后被传递给一个波形图。而在下面的For循环中,100次循环的每次迭代过程都会将一个新的随机值传递给波形图表。

26d7c7c471da648b99dd99bdf89a2e16.png

编辑


添加图片注释,不超过 140 字(可选)


两个循环都会产生相同的输出结果,不同之处在于波形图只在获取到所有数据后进行一次更新,而波形图表则是在程序运行的过程中不断更新。


相关信息


可以通过右键单击波形图表并从快捷菜单中选择“图表历史长度”选项来设置图表历史记录缓冲区的长度(波形图表能够存储和显示的数据点数)。


也可以通过编程的方式更改图表历史记录长度或图表缓冲区大小。


若需要在两种控件之间进行切换,可以右键单击波形图控件或波形图表控件,选择替换选项,然后从控件选板中选择对应的控件,如下图所示:


LabVIEW、LabVIEW开发、LabVIEW编程、LabVIEW程序


上文中提到的例子和资料,均在word中的附件里,可点击下载。进一步了解,可联系们。

相关文章
|
5天前
LabVIEW 在运行时初始化数组并允许用户编辑值
LabVIEW 在运行时初始化数组并允许用户编辑值
11 0
|
5天前
|
API C# Windows
LabVIEW​​共享​变量生命周期
LabVIEW​​共享​变量生命周期
14 1
QT软件开发: QPlainTextEdit当做日志显示窗口
QT软件开发: QPlainTextEdit当做日志显示窗口
628 0
QT软件开发: QPlainTextEdit当做日志显示窗口
jshtml滚动时间横向显示demo效果示例(整理)
jshtml滚动时间横向显示demo效果示例(整理)
|
10月前
|
容器
Echarts实战案例代码(30):同一个id空间Tab按钮显示不同图表防止叠加的解决方案
Echarts实战案例代码(30):同一个id空间Tab按钮显示不同图表防止叠加的解决方案
69 0
python--测试使用不同的方式计算位涡平流项的差异
python--测试使用不同的方式计算位涡平流项的差异
python--测试使用不同的方式计算位涡平流项的差异
|
存储 数据安全/隐私保护 计算机视觉
python 实现dcmtk关联pacs功能 推送下拉影像
1、dcmtk关联pacs的参数介绍 2、dcmtk命令介绍 3、演示工具的功能 4、说明使用的技术 5、遇到的问题 6、工具目前存在的缺点
233 0
python 实现dcmtk关联pacs功能 推送下拉影像
|
Python
Python批量改变图片名字
Python批量改变图片名字
258 0
|
Python
python中.format()槽的顺序改变(速看,带图解释)
python中.format()槽的顺序改变(速看,带图解释)
214 0
python中.format()槽的顺序改变(速看,带图解释)
|
Python
Python 技术篇-在cmd命令提示行里模拟动态下载进度条实例演示,cmd清除日志、打印动态内容方法
Python 技术篇-在cmd命令提示行里模拟动态下载进度条实例演示,cmd清除日志、打印动态内容方法
486 0
Python 技术篇-在cmd命令提示行里模拟动态下载进度条实例演示,cmd清除日志、打印动态内容方法