最近在做一个数据采集控制系统,采用的是51作为下位机采集数据,每组数据包括3种(比如温度、湿度、伸长量),通过串口上传数据到PC,用
labview编写上位机软件,用XY图显示2种数据的实时曲线(比如温度、湿度曲线),采集时间短,程序一切正常,采集时间一长,机器就会反应非常迟钝(采集频率大约为30Hz左右),从阮奇桢的《我和LabVIEW》中得到启示,我现在感觉应该是显示大量数据导致的程序效率低下,书中给的方法是“数据重采样压缩”,但没有给出具体操作方法,是不是要通过数组操作进行,还是LABVIEW本身就有现成的VI?另外,即使通过数组操作重采样了,随着数据量的变化重采样这个过程是要反复一直进行的,我理解要反复从存储区读出所有数据进行重采样,这样内存是不是也是消耗很大?如果我的想法不对,遇到这种问题应该怎么解决,新手,请各位不吝赐教,给出个思路即可,谢谢。
下图是我程序中曲线显示部分和阮奇桢的《我和LabVIEW》中的相关说明,因为程序比较大和无法演示(需要配合下位机),就不上传了。
谢谢“风卷雪”的回答,我的数据不能删除,因为有些客户是需要导出原始数据的,对于数据点客户一般是多多益善,所以我的总体思路是所有点都进行存储,但是选择性的显示,另外,就是X、Y坐标的问题,允许在数据采集过程中用鼠标进行框选放大(这个功能我已编程实现),单就这个功能说,原始数据也不能丢失,因为在放大显示时,可能会放大到极致,这个时候就会放大到某个点。所以,我认为是所有数据点都进行存储,有选择的进行显示,但是具体思路有些拿不准,想听听各位高见。
显示和保存数据是两个事情,显示的数据少和保存的数据是两个概念。
一周热门 更多>