找回密码
 注册
LabVIEW+单片机学习套件全套教程资料下载[免费]LabVIEW论坛精华列表贴USB0816数据采集卡《LabVIEW宝典》
LabWindows/CVI论坛精华贴NET0816以太网数据采集卡RC0210远程设备授权系统 关闭关停锁定打开设备 户外分布式数据采集
NET1624低速高精度以太网数据采集卡WIFI0824SD无线WIFI网络数据采集卡脱机运行 SD存储 小尺寸微型 串口采集远程采集 安卓 手持移动采集 纪录仪
查看: 846|回复: 4

读取数据文件的问题

[复制链接]
发表于 2008-9-6 15:36:35 | 显示全部楼层 |阅读模式
我有一台数采的仪器,采样频率1K,它的软件运行后默认的是产生观测信号;在点击保存后才实时保存数据在一个结果文件中(文件大小的上限为PC的硬盘剩余空间)
基于这样一台仪器,我需要编一个实时的长期监测程序,实时监测并处理有特征的一些数据段(是数据段)。我该怎么做呢?
我目前的做法是在while循环里面用写入电子表格文件(write to spreadsheet file.vi)读取这个越来越庞大的结果文件并每次索引1000个数据,这样做是行不通的,一次性读入的文件太大了。我想是否可以将这台仪器软件的数据保存形式改为固定结果文件的大小,每存满1000个数据(也就是存一秒的数据),便清空结果文件重新往里面存储新数据,这样是否可行?或者有什么更好的办法吗?
发表于 2008-9-7 09:13:44 | 显示全部楼层
传说中TDMS文件是可以存储大数据量的!在王兄的博客里有例子!
http://wdy.cpubbs.com

好运!在文件这一块!
回复 顶

使用道具 举报

发表于 2008-9-7 10:56:04 | 显示全部楼层
大量的数据最好采用二进制或者TDMS吧,也可以每隔多少个点后,重新建立一个新的文件进行保存。保存为多个文件
回复 顶

使用道具 举报

 楼主| 发表于 2008-9-7 23:22:45 | 显示全部楼层
谢谢两位版主。两位的回答我有些不明白。小弟我是学土木的,问题有些低级还请包涵(或耐心?呵呵)
我做的这个监测程序是长期的,连续运行几个月是很正常的。因此,我的程序如果是对仪器实时保存的这个结果文件进行操作显然是不现实的。(这个结果文件是不断增大;或者按王兄所说保存成多个文件,也总有超过硬盘空间的一天啊)
因此,我的设想里面有两种方案:
1.改变仪器保存数据的形式,改为把数据存进一个固定大小的文件,文件存满时,清空它并重新往里面存数据。而我的程序就可以以一定时间间隔读取这个文件。
2.在仪器的源程序上做二次开发。对它的观测信号进行触发采集。(为什么仪器附带的源程序里面有缺损?)
这样是否可行呢?或者有什么实际点的办法?

PS:王兄的博客我看了(文件只看了CPUBBS推荐的那个),非常佩服兄台做事的态度;另外,令导师也令人非常佩服
回复 顶

使用道具 举报

发表于 2008-9-8 13:39:01 | 显示全部楼层
NI 有海量存储的硬盘阵列,挺高级的看起来。你可以了解下。
你说的触发采集和历史数据的清理这些都是可以做到的,也是仪器方面常用的手段,如果数据不是很重要,那么可以只保留结果;如果也重要,但不需要保存很长时间的历史数据,那么间隔一定时间可以把一些前面的文件删除掉。总保留5个文件左右也可以了。
回复 顶

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|cpubbs论坛. ( 粤ICP备09171248号 )

GMT+8, 2026-9-30 02:15 , Processed in 0.036200 second(s), 6 queries , Gzip On, File On.

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表