数据采集时的内存不足问题

2019-07-18 07:25发布

我在利用PXI-6251进行数据采集时,采样率设置为1MHZ,想把采集到的数据写到EXCEL中,但是VI运行一段时间后,显示如下图所示错误,是因为采样率过高的原因吗,有什么办法解决,可以将采样数据写到数据库中吗?请各位大侠指导下。 QQ截图20140314110603.jpg

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
xuge7837
1楼-- · 2019-07-18 07:30
程序截图,看你编程是否合理。
Hugo801122
2楼-- · 2019-07-18 09:35
是不是采集的太多,每次需要内存也太大,所以资源不够了。
kobebryant2408
3楼-- · 2019-07-18 13:31
Hugo801122 发表于 2014-3-16 21:14
是不是采集的太多,每次需要内存也太大,所以资源不够了。

应该是这个原因,请问有什么办法解决吗?
kobebryant2408
4楼-- · 2019-07-18 16:29
xuge7837 发表于 2014-3-16 20:49
程序截图,看你编程是否合理。

这是写入EXCEL的程序,运行一段时间就出现上图内存已满的情况。 QQ截图20140316214030.jpg
xuge7837
5楼-- · 2019-07-18 21:44
 精彩回答 2  元偷偷看……
514489939
6楼-- · 2019-07-18 21:51
数据采集设置中,决定采集时缓冲区大小N的参数分别为:采样率f、单次循环执行时间T和每次循环读取的采样数n。由于缓冲区是环形的,程序在执行过程中不断从缓冲区读取数据,每读取一部分数据后缓冲区中读取之前的该部分将在读取之后变为可写,便于数据采集卡不段的从外部采集数据存储到环形缓冲区中。当缓冲区中的数据被填满即没有可写的部分后,将发生溢出,从而导致程序缓冲不足报错提示。设程序能正常运行时长为t,则t时间内数据采集卡采集的数据点数为
                  
t时间内程序读取的数据点数为
                  
使得缓冲区不溢出,则必须满足如下条件:
                 
由于实际工程应用程序中,采样率f、单次循环执行时间T、每次循环读取的采样数n和缓冲区大小N都是可确定值,则表示 是关于t的一次函数,令 ,当K﹥0时,随着采集时间t的增加,t会增加到一个临界值t0,使得 ,故此种情况不能避免缓冲区溢出,我们可以通过设定程序报错时的时长t足够大来解决;当K≤0时, 恒成立,则可避免缓冲区溢出

一周热门 更多>