Labview关于大数据(约50M,速率500KS/s,持续时间100s)实时采集和存储的问题

2019-07-17 14:03发布

发送的信号500KS/s,持续时间100s,想要实时采集并存储这些数据,实际中我总是遇到系统内存已满,不能完成此操作的问题,我在百度,论坛中都搜过相关问题,可是实例少之又少,以至于我还是一头雾水,我的想法是能不能一边采集一边存储,这样会对内存要求少一点,小弟跪谢论坛中大神给把把脉........
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
红月王
1楼-- · 2019-07-18 09:18
当采样和传输的数据速率很高的时候入你所说的500k,而你的接收存储端的速度又比较慢,则会出现丢数据的情况。所以通过硬件或软件上会设计一个缓冲区来先保存采集到的数据,这个缓冲区通常都不会很大。因此我感觉如果500k下持续采集和保存而不丢数据几乎是不可能的。采集卡在设计的时候会设计一个FIFO缓冲来应付高速采集和低速存储。
      所以希望楼主说明一下这个500k的设备是否有缓存。如果不存在请赐教边采边保存的具体方法
樵夫1314
2楼-- · 2019-07-18 12:56
红月王 发表于 2016-9-22 11:00
当采样和传输的数据速率很高的时候入你所说的500k,而你的接收存储端的速度又比较慢,则会出现丢数据的情况。所以通过硬件或软件上会设计一个缓冲区来先保存采集到的数据,这个缓冲区通常都不会很大。因此我感觉如果500k下持续采集和保存而不丢数据几乎是不可能的。采集卡在设计的时候会设计一个FIFO缓冲来应付高速采集和低 ...

您好,我这儿实际上:
发送端是重复速率500KHz,总数为5M个电压值的电压信号,同时也有和它同步的时钟发出,这样一个周期就是10s,发送端所加的电压是用来进行光调制的···
而接收端是采用外部时钟触发采集,采集速率同样是500KHz,这样保证来一个时钟采一个点,我然后重复这个过程,把采集到数据实时以TDMS文件存在硬盘里面,
之前的程序是运行10s结束,5M的数据量Labview完全可以处理,现在的情况是想加大数据量···
您说的意思,我理解的是发送的速率大于采集速率,那么一定会有数据丢失,发送的卡我用的是USB-6259,接收的卡是PCI-6111,您说的那个硬件上的缓冲区,我也了解过一些,但是感觉理解还不是很透彻···我在仔细看看采集卡关于您说的FIFO缓冲区···然后再联系您···
有些词说的不专业,也不知道您能不能理解我说的意思,
真的很感谢您关注我的问题
红月王
3楼-- · 2019-07-18 14:17
这个我就明白了,labview内有个内存调节,如果不使用变量共用地址,那么每次读取时都会重新开辟一个内存空间(印象中是这样的),时间长了自然就会出现内存不足。我用研华PCI卡是同步10M,两通道,采样率和数据比你这个大得多。建议使用内存控制(编程--应用程序控制---内存控制---总是复制)如果是循环的话就使用移位寄存器,目的是让lv只使用我们定义的这个数组空间。谢谢楼主的解惑
zl15555
4楼-- · 2019-07-18 19:58
楼主怎么解决的可以分享下吗?
樵夫1314
5楼-- · 2019-07-18 23:53
 精彩回答 2  元偷偷看……

一周热门 更多>