LabVIEWwilliam hill官网
直播中

的乏味而

13年用户 801经验值
私信 关注
[问答]

波形图表的历史现实问题

采集串口的数据,实时的现实过来,下位机是每隔20MS发送一次数据的,因为要系统调试PID参数,每一次调试大约需要10分钟,这样计算的话,上位机需要波形图表现实的数据个数为50*60*10=30,000个,但是因为波形图表是实时现实的,有新的数据过来,原来的数据就会被覆盖住了,怎样才能做到把所有接受到的数据都可以现实在波形图表中呢?而不是被覆盖住,有遇到过这方面问题的吗?指点一下,谢谢了!!!

呵呵,需要这方面的知识,所有稍微研究了一下,发现了一点规律,总结了一下,有错误的地方还望指点:

波形图表保存的数据默认情况下是100个,程序如下图(很简单的程序):


220400kmzx9mkxxqp3ksq6.jpg

现实图为:
2204031wdh44klkhk4hhr4.jpg
可以看出默认的情况下,波形图表现实100个点, 因为波形图表默认的缓冲区大小为1024,在默认的情况下如果修改图形图标属性中的标尺项,选中自动调整标尺,如图:

225042zvcnv1mn0g1irbei.jpg
在这种情况下,波形图表默认显示的是1024个数据的,这时是可以修改波形图表显示的数据个数,但是个数要小于1024的;

采集串口的数据,实时的现实过来,下位机是每隔20MS发送一次数据的,因为要系统调试PID参数,每一次调试大约需要10分钟,这样计算的话,上位机需要波形图表现实的数据个数为50*60*10=30,000个,但是因为波形图表是实时现实的,有新的数据过来,原来的数据就会被覆盖住了,怎样才能做到把所有接受到的数据都可以现实在波形图表中呢?
这个问题的解决方法为:
第一步:修改缓冲区为30,000
230525hgztnpfxpd4p4idf.jpg
第二步:修给横坐标

230509gf2nawnaunofnknd.jpg
因为波形图表默认是缓冲区是1024,在没有修改缓冲区的情况下,波形图表能够保存历史数据,每次传递给它一个新数据,它就把新数据追加在原有的数据上,这样的话,可以运行程序,修改横坐标现实自己想观察的时间段数据波形(注意:在此情况下,只能观察1024个数据,如果采集的数据超过这个范围原来的数据就会被覆盖掉),如果想得到所有的数据波形,可以修改缓冲区,不过缓冲区的上限可参考:对于8位整数,最多可为数组分配计算机一半的内存空间,例如,如计算机内存为4 GB,数组最多可包含2147483647个数据点。

回帖(6)

cmod

2011-10-20 15:24:12
你点击x坐标后面的数字300改为一个比较大的数字
比如1500就可以了啊
举报

的乏味而

2011-10-20 15:24:52
不过几百K的数据  如果可以先存内存数据组中 然后让后再写入文件  调试数据保存起来 用来分析很有用的。。
举报

cmod

2011-10-20 15:25:30
不是吧!
缓冲区不是最大只有1024吗?
你怎么搞成3000的!

不是很明白
举报

mopeipei

2011-10-20 15:27:08
引用: cmod 发表于 2011-10-20 15:25
不是吧!
缓冲区不是最大只有1024吗?
你怎么搞成3000的!

缓冲区默认的是1024,但是可以修改的吧
举报

更多回帖

发帖
×
20
完善资料,
赚取积分