当前位置:首页 > 测试测量 > 测试测量
[导读]TDMS(Technical Data Management Streaming)文件是NI主推的一种二进制记录文件,它兼顾了高速、易存取和方便等多种优势,能够在NI的各种数据分析或挖掘软件之间进行无缝交互,也能够提供一系列API函数供其它应用程

TDMS(Technical Data Management Streaming)文件是NI主推的一种二进制记录文件,它兼顾了高速、易存取和方便等多种优势,能够在NI的各种数据分析或挖掘软件之间进行无缝交互,也能够提供一系列API函数供其它应用程序调用。
TDMS的逻辑结构分为三层:文件(File)、通道组(Channel Groups)和通道(Channels),如图 25所示,每一个层次上都可以附加特定的属性(Properties)。程序员可以非常方便地使用这三个逻辑层次定义测试数据,也可以任意检索各个逻辑层次的数据,这使得数据检索是有序的、方便存取的。


图 25 TDMS文件的逻辑结构
TDMS文件的内部结构(物理结构)如图 25所示,实际上程序员无需了解该部分内容就可以利用相关的API函数进行TDMS文件的读写,因此这里只作简单的介绍。TDMS内部结构的核心是segment,当数据被写入到segment中时实际上是新建了segment。各个segment中包含的主要数据段的含义如下所示,更详细的信息可以参考http://zone.ni.com/devzone/cda/tut/p/id/5696。
ToC Bitmask:这是一个32位的整型数据段,它表示该segment是否包含meta data、raw data。Version number:表示segment的版本,这可以确保兼容一些旧的TDMS文件版本。Next segment offset:表示下一个segment的偏移字节。Raw data offset:表示Raw data的偏移字节。Meta Data:三个层次的属性存储字段。Raw data:实际的raw data存储字段。这种物理结构也就决定了TDMS文件的随机存取特性,当程序员只希望读取raw data而并不关注属性时,此时可以利用raw data offset直接获得raw data信息而无需关注Meta Data信息。正如前面所述,往TDMS中添加信息时实际上是添加了新的segment,因此无需关心segment之前的内容是什么,也就确保了写TDMS文件的速度与TDMS文件的大小无关,保证了高速存取。值得注意的是,TDMS物理结构中的segment与其三层次逻辑结构没有任何关系。可能一个通道对应着多个segment,也可能一个segment中包含多个通道。当把数据写入硬盘时就是产生一个segment,而把数据从硬盘中读取出来时也就是把一个个的segment内容读取出来。


图 25 TDMS文件的物理结构
TDMS文件格式在LabVIEW、LabWindows/CVI、Signal Express和DIAdem中均可以使用,也可以在Excel或Matlab中被调用。在LabVIEW中,TDMS文件的操作函数在Programming>>File I/O>>TDM Streaming选板中,如图 25所示。其使用方法比较简单,这里只给出简单的解释,具体的实例可以参考LabVIEW自带的Examples。
TDMS Open/Write/Read/Close:与文本文件和二进制文件的功能类似,程序员只需要牢记TDMS文件的三层次逻辑结构即可。TDMS List Contents:列出TDMS文件的Groups和Channels名称,或者根据指定的Group列出其包含的Channels的名称。TDMS Set Properties:设置TDMS文件、通道组或通道的属性。TDMS Get Properties:获取TDMS文件、通道组或通道的属性。TDMS Flush:刷新所有TDMS文件在内存中的数据,即立即将所有的TDMS数据写入硬盘(创建新的segments)。TDMS Defragment:整理TDMS文件中的存储碎片,当TDMS文件较大时,利用该函数可以提高数据存取的性能。TDMS Create Scaling Information:将TDMS中的数据创建Scaling信息,当采集到原始数据需要使用如y=ax+b等线性、多项式或者各种传感器的转换关系时,可以使用该函数直接改变TDMS文件中某些通道的数据值(该改变是不可逆的,无法删除Scaling信息)。TDMS File Viewer:TDMS文件查看器,该VI可以非常直观地以树形方式列出TDMS文件中的属性和数据,便于用户查看。

图 25 TDMS函数选板
当写完TDMS文件之后,LabVIEW会自动生成两个文件:*.tdms文件和*.tdms_index文件。前者为数据文件(或主文件),后者为索引文件(或头文件)。二者最大的区别在于索引文件不含raw data信息,而只包含属性等信息,这样可以增加数据检索的速度并且利于搜索TDMS文件。该文件是自动生成的,不需要程序员干预。
LabVIEW 2009进一步改进了对TDMS格式的支持,从1.0版本升级到2.0版本,并且提高了对高速流盘应用的支持,以及对DAQmx的应用支持,比上一版本的TDMS文件至少有4倍以上速度的提升。当然,TDMS也有一些缺点。比如速度上并没有win32 streaming API快,不支持删除某个通道或通道组,以及只支持Windows操作系统和VxWorks、Phar Lap等实时平台。总体而言,TDMS文件格式兼顾了速度、逻辑组织、易用性等多个因素,在数据存储方面是一种非常不错的选择。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读

特朗普集团近日取消了其新推出的T1智能手机“将在美国制造”的宣传标语,此举源于外界对这款手机能否以当前定价在美国本土生产的质疑。

关键字: 特朗普 苹果 AI

美国总统特朗普在公开场合表示,他已要求苹果公司CEO蒂姆·库克停止在印度建厂,矛头直指该公司生产多元化的计划。

关键字: 特朗普 苹果 AI

4月10日消息,据媒体报道,美国总统特朗普宣布,美国对部分贸易伙伴暂停90天执行新关税政策,同时对中国的关税提高到125%,该消息公布后苹果股价飙升了15%。这次反弹使苹果市值增加了4000多亿美元,目前苹果市值接近3万...

关键字: 特朗普 AI 人工智能 特斯拉

3月25日消息,据报道,当地时间3月20日,美国总统特朗普在社交媒体平台“真实社交”上发文写道:“那些被抓到破坏特斯拉的人,将有很大可能被判入狱长达20年,这包括资助(破坏特斯拉汽车)者,我们正在寻找你。”

关键字: 特朗普 AI 人工智能 特斯拉

1月22日消息,刚刚,新任美国总统特朗普放出重磅消息,将全力支持美国AI发展。

关键字: 特朗普 AI 人工智能

特朗普先生有两件事一定会载入史册,一个是筑墙,一个是挖坑。在美墨边境筑墙的口号确保边境安全,降低因非法移民引起的犯罪率过高问题;在中美科技产业之间挖坑的口号也是安全,美国企业不得使用对美国国家安全构成威胁的电信设备,总统...

关键字: 特朗普 孤立主义 科技产业

据路透社1月17日消息显示,知情人士透露,特朗普已通知英特尔、铠侠在内的几家华为供应商,将要撤销其对华为的出货的部分许可证,同时将拒绝其他数十个向华为供货的申请。据透露,共有4家公司的8份许可被撤销。另外,相关公司收到撤...

关键字: 华为 芯片 特朗普

曾在2018年时被美国总统特朗普称作“世界第八奇迹”的富士康集团在美国威斯康星州投资建设的LCD显示屏工厂项目,如今却因为富士康将项目大幅缩水并拒绝签订新的合同而陷入了僵局。这也导致富士康无法从当地政府那里获得约40亿美...

关键字: 特朗普 富士康

今年5月,因自己发布的推文被贴上“无确凿依据”标签而与推特发生激烈争执后,美国总统特朗普签署了一项行政令,下令要求重审《通信规范法》第230条。

关键字: 谷歌 facebook 特朗普

众所周知,寄往白宫的所有邮件在到达白宫之前都会在他地进行分类和筛选。9月19日,根据美国相关执法官员的通报,本周早些时候,执法人员截获了一个寄给特朗普总统的包裹,该包裹内包含蓖麻毒蛋白。

关键字: 美国 白宫 特朗普
关闭