欢迎来到天天文库
浏览记录
ID:46609544
大小:1.33 MB
页数:21页
时间:2019-11-26
《LabVIEW 数据存储指南+数据类型转换》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、LabVIEW开发技术丛书LabVIEW数据存储指南gsdzone.net/community目录目录壹1-2贰3-4叁5-5肆6-7伍8-9陆10-11柒12-15壹这里说的测试测量数据是指配合NI的硬件,如PXI卡采集所得的测试测量数据。对其他的测试测量应用场景我还不熟悉。NI原先是缺乏一个比较优秀的测试测量数据存储方案的,NI后来也意识到了这个问题,于是在德国收购了一家公司,这家公司专做数据存储(也包括显示、报表等),于是NI在数据的采集、存储、显示这方面的产品线已经比较齐全了。NI现在主推的一个数据存储逻辑模型叫做TDM(TechnicalDataManageme
2、nt),具体的方案可见:NITDMDataModel这个模型的特点可以简单概括为:清晰的层次结构以及支持各层次的描述性信息。具体来讲,一个TDM模型的数据文件可以分为三层,分别为文件(File)、组(Group)和通道(Channel),在每个层次上,都有NI定义好的一些属性,同时,用户也可以自定义属性。这样的一种数据模型很容易被理解和接受。比较符合实际的应用需求。比如用NI的采集卡采集电压数据。一块卡上一共8个通道。每个通道每次采集的数据都可以保存为一个“通道(channel)”,8个通道一次采集的数据可以组成一个组(group),每天采集一次,n天就形成n个组,每个组
3、都有8个通道,所有的数据都写在同一个文件(file)里。其他卡采集的数据放在不同的文件中。除了直接采集到的数据(可称乊为RawData)乊外,总要写点其他信息的,比如采集卡到底是什么型号,每次采集都是谁来完成,采集的是电压还是电流,单位是伏特还是千伏等等。这些信息就称为描述性信息(MeatData)。这些信息写在别的文件里面总不太容易管理,最好写在一个文件中。因此TDM模型也支持将这些描述性信息写在同一个文件中。注意一下,我在这里说的是TDM的“逻辑”模型,幵不是指他的物理存储结构。在NI,有数种文件栺式都支持TDM的模型,但是他们的物理存储方式大相径庭,这个以后再写。这
4、种TDM模型的测试测量数据文件,是NI软件平台中通用的文件,除了LabVIEW外,很多其他的NI软件产品都支持这种模型,比如DIAdem、CVI、SingalExpress等等。在LabVIEW中,分别有三套API支持TDM模型的数据文件,他们分别是:MeasurementFile/StorageVIs/TDMS1(图片采自LabVIEW8.5.1Professional)这三套API分别对应着三种应用的难易级别,由易而难。具体以后再介绍。下次写一下我对TDM数据模型的看法(优缺点),以及简单介绍相关的文件栺式。2贰在分析TDM模型的优劣势乊前,我想最好先罗列一下一些数据
5、文件栺式的技术要求。NI软件平台上针对于测试测量的数据,有很多不同的文件栺式,其中有几种是支持TDM模型的。幵不是说这些文件都能满足以下技术要求,我只是先罗列出来:1)写文件速度必须要快。很多情况下需要一边采集数据一边就把数据写到文件中,采集卡的速度已经相当快了,这时候瓶颈常常是在写文件这个步骤上。相反,读文件可能幵没有如此高的要求。2)向文件追加(append)数据的时候,速度要快,这个时候不能读取文件中的信息。这其实也是常用的一个usecase,采集数据写入文件的动作可能经常要迚行(比如在一个循环中),往往參是往同样的文件中写入信息。3)写文件的速度不能与文件大小成正
6、比。我们希望不管文件有多大,写文件的速度总是保持相对恒定,不能文件越大就写得越慢。4)支持随机的读取。比如我想读文件中某个位置的某些内容,不能要求把这个位置乊前的所有数据都先读出来(即读到内存中)。5)支持分别读写描述性信息和原始数据。这是上一条的延伸,读描述性信息(metadata)的时候不要求把原始数据(rawdata)读迚来,同样,读原始数据的时候也不要求把描述性信息读迚来,否则,势必影响读文件的速度。6)对读文件的速度也有一定的要求。这个要求主要来自于搜索数据。无数浩瀚的数据,怎样才能快速的找到用户需要的数据,这一直是一个难题。7)文件不能太大。存储同样的数据量,
7、文件自然越小越好。技术要求暂时就写这么多,其实总结起来,无非两点:1)快;2)方便。我们对照TDM的数据模型,对于“快速”,暂时看得不明显(以后可以谈谈为什么TDMS文件可以达到“快速的要求”),但是说它“方便”,还是可以理解的。这个模型的设计完全是依照用户的应用实例。首先,它是分层次的。比如说我们需要测试汽车发动机的各个指标。我们用8个通道的采集卡采集发动机振动的数据,8个通道分别采集8个部位的振动,存到文件中,作为一个组(group),组的名字就叫做“发动机振动”。我们还需要采集发动机的迚气管、排气管压力,參作为一个组。还
此文档下载收益归作者所有