当前位置:首页 > 测试测量 > 测试测量
[导读]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文件格式兼顾了速度、逻辑组织、易用性等多个因素,在数据存储方面是一种非常不错的选择。

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

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭