NI TDMS文件格式什么TDMS文件?

概览

要实现理想的技术信息资料交换,可谓阻碍重重。最常见的是测试或仿真时信息的捕捉方式不当。很多时候,存储的数据没有描述性信息,格式也不一致,而且散落在计算机阵列各处,导致信息杂乱无章。这使得我们难以定位特定数据集并据此作出决策。如果定位不到数据集,就必须重新创建测试或仿真。这极大地增加了许多公司的开发成本,并降低了效率。为解决这些难题,NI定义了一个技术数据管理(TDM)解决方案,包含下列三个关键组成部分:

  • NI TDMS文件格式,用于存储格式规范的测量数据
  • NI DataFinder,用于快速定位之前存储的数据集
  • NI DIAdem或LabVIEW DataFinder Connectivity VI,用于处理数据和创建报表


实现统一数据管理解决方案的第一步是,确保采用一种效率卓越、结构清晰且可以扩展的方式来存储数据。本技术白皮书详细介绍了NI TDM解决方案的第一层,即专为向磁盘中存储测量数据而优化的文件格式,NI TDMS文件格式。

内容

存储测量数据传统方式

存储测量数据的格式多种多样,任君选择。然而,在应用程序规划前期,数据存储格式往往未得到仔细考量。该阶段主要考虑的是硬件系统设计或软件架构等更显著的问题,而文件格式的选择常常被忽略。数据存储格式的选择有时很随意,或是在需要时才进行选择,应用程序间格式也不统一,未再三考虑过重用和扩展的问题,这些因素导致软件需要重构,既复杂又昂贵。由于应用程序和需求会随时间发生变化,即便是流行的传统存储格式,也会很快无法满足工程师和科学家存储基于时间的测量数据的需求。表1列出了几种常用测量数据存储格式的优缺点。


 ASCII二进制XML数据库TDMS
可交换  
小尺寸   
可搜索   
固有属性   
高速流盘   
支持NI平台✓ *
*可能需要工具包或附加软件模块。

表1.TDMS文件格式结合了多种数据存储格式的优点。

 

为解决测试和测量应用中其他常用数据存储格式的缺点,NI推出了技术数据管理流(TDMS)文件格式。二进制TDMS文件格式易于交换、具有内在结构且支持高速流盘。在与NI TDM解决方案的其他技术配合使用时,该文件格式可迅速进行数据搜索,而无需进行复杂且昂贵的数据库设计、架构或维护。 

要更深入地了解表1中不同数据存储格式的信息,请参阅比较常见文件I/O和数据存储方式

TDMS文件结构概述

要了解TDMS文件结构的内在格式,最重要一点是其内在层次结构。如图1所示,TDMS文件格式由三个层次结构级别组成:文件、组、通道。文件级别可包含任意数量的组,而每个组又可包含任意数量的通道。通过通道分组,用户可以选择如何组织数据以使其更易于理解。例如,用户可以在一个文件中为自己的原始数据设置一个组,并为自己的分析数据设置另一个组。1或者,可以按传感器类型或位置将数据分成多个组。

图1.每个TDMS文件均包含文件、组和通道级别的描述性信息。

在每个层次结构级别上,用户可存储任意数量的自定义标量属性。由于每个级别可接受任意数量的自定义属性,从而形成结构清晰、易于搜索的数据文件。该模型的最大优点在于文件中包含了描述性信息,可轻松记录数据,无需设计自己的头信息结构。随着文档需求的增加,您不必重新设计应用程序,只需扩展该模型即可满足特定需求。NI DataFinder客户端可抽象出用户的复杂数据库通信,因此用于记录测量数据的自定义属性越多,未来使用该客户端来定位该数据就越轻松。

关于开放式TDMS文件格式内在结构的详细技术信息,请参阅TDMS文件格式内部结构

1TDMS文件还会自动生成一个补充性文件*.tdms_index。该文件提供了批量数据文件中所有属性和指针的综合信息,可极大提高读取较大数据集中的数据的速度。该索引文件不是存储或分享数据的必要文件,而且会自动重新生成。

使用NI软件读写TDMS文件

NI TDMS文件格式是一种NI平台支持的文件格式。所有NI软件开发环境都均将TDMS文件作为其原生函数选板或库的一部分与之交互。这简化了结构化数据存储的复杂性,而且用户可轻松地为所捕捉到的测量或仿真数据添加描述性信息。

LabVIEW

在NI LabVIEW软件中,可通过许多接口可访问NI TDMS文件。在LabVIEW中写入TDMS文件的最简单方式是使用Write to Measurement File Express VI。该Express VI提供简单易用的交互式配置,但却牺牲了性能,并不适用于高速流盘和实时应用程序。

如对灵活性和性能有更高的要求,应使用“文件I/O”(File I/O)选板上的TDMS底层VI。利用这些VI,可更高效地读写TDMS文件及其属性。在LabVIEW Real-Time模块中使用该方法访问TDMS文件可满足实时程序的性能要求。“TDM流”(TDM Streaming)选板最早在LabVIEW 8.2中推出。

2010年8月或之后发布的LabVIEW及驱动包含一个全新的“TDMS高级”(TDMS Advanced)选板,可实现对TDMS文件的极底层控制。用户可使用异步读写等高级技巧。

用户可选择通过LabVIEW中的多个接口来读写TDMS文件

图2.用户可选择通过LabVIEW中的多个接口来读写TDMS文件。

用户可选择通过LabVIEW中的多个接口来读写TDMS文件

图3.“TDM流”(TDM Streaming)选板为使用LabVIEW读写TDMS文件提供了更灵活、更高效的方法。

有关使用LabVIEW读写TDMS文件的详细信息,请参阅LabVIEW TDM Streaming VI简介

LabWindows™/CVI

在NI LabWindows™/CVI软件中,有两个库可用于访问TDMS文件。第一个是LabWindows/CVI TDM Streaming Library,这是目前速度较快且较通用的一种方法。借助该API,用户可使用LabWindows/CVI Real-Time模块在实时应用程序中与TDMS文件交互。TDM Streaming Library最早在LabWindows/CVI 8.1中推出。

在LabWindows/CVI中访问TDMS文件的第二个接口是DIAdem Connectivity Library,它使用NI DIAdem软件作为读写TDMS文件的中间机制。 

注意:LabWindows/CVI 2017中取消了对DIAdem Connectivity Library的支持。NI建议使用TDM Streaming Library

图5.LabWindows/CVI提供两个TDMS文件接口,目前TDM Streaming Library更加高效灵活。

使用Measurement Studio的.NET语言

NI Measurement Studio TDM Streaming .NET Class Library最早在Measurement Studio 8.6中推出,可使用.NET语言与TDMS文件直接进行快速、灵活的交互。注意:只能在Measurement Studio专业版和企业版中访问TDM Streaming .NET Class Library。

Measurement Studio包含一个内置TDM Streaming .NET Class Library

图6.Measurement Studio包含一个内置TDM Streaming .NET Class Library。

NI DIAdem

NI DIAdem软件是一个灵活的数据后处理、视觉化呈现和报表制作环境,可轻松扩展,从而使用DataPlugin处理任意自定义文件格式。虽然DIAdem专为快速读写TDMS文件而设计,但加载至数据门户(DIAdem内部存储器的视觉呈现)中的任何数据都会在内部映射至TDMS模型。DIAdem是NI DataFinder的客户端和NI TDM解决方案的第三层,用户可通过该软件轻松搜索NI DataFinder索引,从而定位所需数据,如同使用Google等搜索引擎在互联网上查找信息一样方便。 

图7.用户可配置DIAdem以将任意自定义文件格式映射至TDMS模型,从而充分利用其优势。

要详细了解可实现交互式呈现、分析及报表制作的DIAdem,请访问ni.com/diadem

NI VeriStand

NI VeriStand是一个基于配置的软件开发环境,支持实时测试,用户可通过多种方式将测量数据记录至TDMS文件。 用户可使用内置激励配置文件编辑器工具来创建自动化测试脚本,为待测设备生成实时激励,同时将系统参数记录至文件。 用户还可以使用NI VeriStand 2013中推出的工作区数据记录对象,直接从用户界面中配置测量和记录数据。 NI VeriStand 2013还直接集成了DIAdem,可自动进行后期处理和报表生成。 上述特性可确保每次测试时对数据文件的处理和呈现保持一致,从而提高决策制定速度和产品质量。

观看以下视频,了解如何使用VeriStand和DIAdem创建与管理实时测试数据。 

 

使用第三软件读写TDMS文件

用户可使用第三方应用程序读写TDMS文件。

OpenOffice.org Calc

借助OpenOffice.org Calc的免费插件,用户可在OpenOffice.org Calc中加载和处理带描述性信息的TDMS文件。下载并安装该插件后,会新增一个菜单,通过该菜单使用OpenOffice.org Calc函数可加载TDMS文件及配置该插件。

该OpenOffice.org免费插件在OpenOffice.org Calc中新增了一个用于导入TDMS文件的菜单项

图8.该OpenOffice.org免费插件在OpenOffice.org Calc中新增了一个用于导入TDMS文件的菜单项。

要详细了解或下载该免费插件,请参阅用于OpenOffice.org Calc的TDM插件工具用户指南

The MathWorks, Inc.MATLAB® Software

NI已实现从MathWorks的MATLAB®软件环境中读取TDM和TDMS文件,用户可通过该范例了解具体方法。

 

使用Microsoft Excel同事分享交换TDMS文件

尽管所有的NI开发环境都可以读写TDMS文件,有时仍需要与未安装NI软件的同事或经理分享数据文件。因此,NI针对通用软件环境Microsoft Excel提供了一款免费插件,即TDM Excel插件,这样许多工程师便可访问这些TDMS文件。该插件随NI软件一起安装,也可供希望查看数据但机器上没有NI软件的用户单独下载。 尽管Microsoft Excel不是对测量数据进行后处理的理想工具,但也尚可满足快速查看小规模数据文件的要求。这款免费插件可从Excel中访问。

所有NI软件均采用全新技术,可在Windows浏览器中直接与TDMS文件进行交互。这款新的Excel导入工具可在Windows浏览器右键即时菜单的“打开方式”部分找到,支持不能访问NI软件的同事将Microsoft Excel作为查看TDMS文件的默认程序。 当文件扩展名与Excel导入工具相关联(如果机器上没有DIAdem,则自动关联)后,同事只需双击TDMS文件,即可用Excel打开。

图9.利用该免费插件,只需在Windows浏览器中双击TDMS文件,就能在未安装NI软件的情况下用Microsoft Excel打开文件。

 

现有数据文件映射TDMS数据文件格式

在某些情况下,可能无法使用TDMS文件格式,例如客户或供应商指定必须使用某种格式存储数据。有些传统仪器可能会自动使用某种自定义格式提供数据输出文件。此外,已经用某种方式收集的传统测量数据无法重新收集,因此不能存储为TDMS文件格式。

为此,NI研发了一项技术,使用户可以定义如何将任意自定义文件格式映射至TDMS模型。该技术称为DataPlugin,可通过DIAdem向导程序创建或使用VBScript、C++或LabVIEW进行编写。在定义如何使用TDMS模型解析自定义文件格式后,NI DataFinder就能识别并索引描述性信息,用户也能从NI DataFinder客户端(LabVIEW DataFinder Connectivity VI或DIAdem)对其进行搜索。   

NI提供了数百种DataPlugin,可免费下载。要下载常见文件格式的DataPlugin以使用TDMS模型,或请求免费为自定义文件格式编写DataPlugin,请访问ni.com/dataplugins

图10.借助数据插件,用户可在任意自定义文件格式中添加文件位置、通道组和通道的描述性信息(如上图所示),从而与TDMS模型结合使用。

 

测量数据传输磁盘快捷方法

自NI-DAQmx 9.0起,用户可直接在DAQmx API中将数据记录至TDMS文件。通过DAQmx Configure Logging VI配置记录后,用户可轻松将TDMS记录集成到现有应用程序中。此外,这种数据流盘方法优化了数项内存操作,并绕过了Windows、LabVIEW和TDMS缓冲区以充分提高效率,因此极大地提高了高速测量数据流盘的速度。使用DAQmx配置记录VI的测试数据流盘速率超过了1.2 GB/s。如需详细了解如何在NI-DAQmx应用程序中集成TDMS记录,请参阅NI-DAQmx高速流盘

图11.借助NI-DAQmx配置记录VI,用户只需再执行一小步操作即可通过TDMS文件格式将数据流式传输到磁盘。

只需关注数据,不必担心格式

NI开发TDMS文件格式的目的在于,帮助工程师和科学家以恰当的方式存储仿真和测试期间生成的大量数据。借助简单易用的接口来存储结构清晰、信息充分的文件,用户可将精力集中于开发过程中更急迫的问题上,并让数据存储随着应用程序的开发自然扩展。

 

立即采取下一步行动

MATLAB®是MathWorks, Inc.的注册商标。

LabWindows标志经Microsoft公司授权使用。Windows是Microsoft Corporation在美国和其他国家/地区的注册商标。

要求

 

软件

语言: VB脚本

Was this information helpful?

Yes

No