波形图表的历史显示问题
扫描二维码
随时随地手机看文章
可以看出默认的情况下,波形图表现实100个点, 因为波形图表默认的缓冲区大小为1024,在默认的情况下如果修改图形图标属性中的标尺项,选中自动调整标尺,如图:
在这种情况下,波形图表默认显示的是1024个数据的,这时是可以修改波形图表显示的数据个数,但是个数要小于1024的;
采集串口的数据,实时的现实过来,下位机是每隔20MS发送一次数据的,因为要系统调试PID参数,每一次调试大约需要10分钟,这样计算的话,上位机需要波形图表现实的数据个数为50*60*10=30,000个,但是因为波形图表是实时现实的,有新的数据过来,原来的数据就会被覆盖住了,怎样才能做到把所有接受到的数据都可以现实在波形图表中呢?
这个问题的解决方法为:
第一步:修改缓冲区为30,000
第二步:修给横坐标
因为波形图表默认是缓冲区是1024,在没有修改缓冲区的情况下,波形图表能够保存历史数据,每次传递给它一个新数据,它就把新数据追加在原有的数据上,这样的话,可以运行程序,修改横坐标现实自己想观察的时间段数据波形(注意:在此情况下,只能观察1024个数据,如果采集的数据超过这个范围原来的数据就会被覆盖掉),如果想得到所有的数据波形,可以修改缓冲区,不过缓冲区的上限可参考:对于8位整数,最多可为数组分配计算机一半的内存空间,例如,如计算机内存为4 GB,数组最多可包含2147483647个数据点。
另注:1GB=1024MB;1MB=1024KB;1KB=1024B;
B就是1个字节,一个字节由8个二进制位组成,对于8位整数,每个数占1个字节