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

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

电子数据的存储与共享在我们生活中占据越来越重要的地位,而传统的硬盘存储已然难以满足人们日益增长的数据存储需求,为此网络附加存储(NAS)则以其便捷、高效的特点,逐渐受到广大用户的青睐。但是提到NAS,很多人可能会觉得它是...

关键字: 存储 铁威马NAS 硬盘存储

TWSC 2985系列SD6.0存储芯片 国内首颗支持4K LDPC纠错技术 增强纠错、耐久可靠、性能升级

关键字: 德明利 半导体 存储 芯片 国产存储企业

为了满足日益增长的数据处理需求,铁威马NAS推出了全新的性能巅峰2024年旗舰之作F4-424 Pro,并搭载了最新的操作系统--TOS 6。这款高效办公神器的问世,无疑将为企业和专业人士带来前所未有的便捷与效率。

关键字: 存储 Linux 服务器

今日凌晨,中国台湾东部的花莲县连续发生地震,最高强度为6.3级,震源深度10公里,据中国地震台网分析,本次地震均为4月3日台湾花莲县海域发生的7.3级地震的余震。中国台湾地区在全球半导体供应链中扮演者重要角色,其10nm...

关键字: 固态硬盘 芯片 存储

最近总是出现iPhone16和ipad的概念新闻,以前为了跟风也会更换手机,后来是因为职业原因拍摄大量视频照片占据手机空间而不得已换了一部又一部手机。但慢慢地我发现,想要查找几年前的视频总得翻找之前的手机,流程繁杂又拖沓...

关键字: NAS 互联网 存储

4月12日消息,西部数据展出了业内首款4TB SD卡——闪迪Extreme Pro SDUC 4TB存储卡。

关键字: 西部数据 存储

5G、人工智能、物联网、云计算技术快速升级,存储容量和性能需求也快速增长,全球数据量也进而呈现出爆炸式提升的状态。在海量应用场景下依靠单一的存储方式已经无法满足大规模非结构数据,如何在可控成本内高效、弹性地应对每一次数据...

关键字: SSD 存储 物联网

北京——2024年4月9日 越来越多的企业将关键性的工作负载放到云上,如何确保云上业务的连续性即云的韧性对企业来说就越来越重要。在亚马逊云科技,我们从一开始就在基础设施、服务设计与部署、运营模式和机制中将韧性考虑其中。例...

关键字: 服务器 存储 数据中心

RS触发器是一种常见的数字电路元件,通常用于存储和传输二进制信息。它可以采用不同的结构和实现方法,但无论采用何种方式,RS触发器都有一些约束条件,以确保其正常工作和可靠性。

关键字: rs触发器 存储 传输

美光坚持多元、平等、包容的企业文化,携手社区推行公益

关键字: 内存 存储 美光
关闭
关闭