15、常用TDMS文件API:
TDMS open、TDMS Write、TDMS Read、TDMS Close、
TDMS Set Properties、TDMS Get Properties。
每个TDMS对象同时可以拥有无限个属性,
每个TDMS属性则由一个字符名称、类型标识符、以及二进制值组成。
属性的典型数据类型包括:数值类型、时间标志、字符串等等。TDMS的属性不支持数组或复杂的数据类型
16、用户写完TDMS文件之后,会发现硬盘上其实有两个TDMS文件,一个是.tdms,另一个是.tdms_index文件,通常把前者称为主文件或者数据文件,而把后者称为头文件或者索引文件。这个索引文件包含了块数据文件当中包含的属性以及指针,以加快数据读取时的访问速度,如果索引文件丢失了,它可以自动得到重建。
17、头文件与主文件相比,最大的区别就是把主文件中的raw data都去掉了,只留下属性等信息。这样做的目的:
(1)、可以使得读文件加快速度,并且支持随机读取文件数据。
(2)、可以使得某些软件的搜索TDMS文件功能加快。比如在DIAdem中搜索TDMS文件,可以根据文件名、通道组名、通道名(其实这些也是属性),或者其他某些属性进行搜索,这个时候,仅将TDMS的头文件载入进行搜索,其速度远远比将TDMS主文件载入搜索快得多。
17、TDMSTDMS数据模型文件包含多个组,每个组又包含了多个通道,用户可在任意层中插入定制的属性。TDMS文件中的描述信息在无需涉及一个定制文件头的情况下,提供了一种方便的存档方式,当我们的文档需求更为复杂时,我们无需重新设计应用程序,只需扩展TDMS数据模型来满足我们特定的需求即可。与其他文件I/O函数相类似,使用TDMS API时,同样需要打开、写入、关闭文件。此外,可以使用TDMS特有的设置属性VI来保存某些属性,而无需担心文件格式、数据类型、以及其它在写入额外信息时所需要的附加工作。
18、属性的值不仅可以是字符串,也可以是数值类型。我们可以对文件、组、以及通道这三个层次进行任意的属性定制:
(1)、如果需要设置文件层次的属性,则无需连接组名称和通道名称输入端。
(2)、如果需要设置组的属性,则无需连接通道名输入,只需给出组的名称即可。
(3)、如果需要设置具体通道的属性,则即要给出组名,同时需要给出相应通道的名称。
19、TDMS属性读取的操作:当读取某个层的属性时,只需要给出相应的组名以及通道名即可。
20、TDMS面板上的两个SubVI
(1)、TDMS File Viewer:当用户写完某个TDMS文件之后,就可以用这个SubVI来方便的查看文件的内容,只要输入TDMS文件的路径即可,运行VI就会跳出一个Viewer的界面,可以查看数据、属性,并且可以根据数据简单的绘制出一些波形图。
(2)、TDMS Defragment:通常用户写完TDMS文件之后,可能会发现这个文件非常大,那么这时就可以使用这个SubVI,可以大幅度的减小文件的size。
21、TDMS从设计之初就确定它必须是二进制的。
二进制文件两个优点:
(1)、与一般的文本式文件相比,二进制文件通常比较小。
(2)、二进制文件读写通常比较快。
22、TDMS物理结构
TDMS内部结构的核心概念是segment(段)。这个segment的概念与TDM的三层结构(即逻辑结构)没有任何对应的关系,也就是说,一个通道可能对应着多个segment,一个segment中也可能有多个通道。segment是什么意思?我们在写TDMS文件的时候,数据本来可能存放在内存中,那么总要往硬盘上写这些数据的,每次往硬盘上写(flush to disk)就会产生这样一个segment。同样,我们在读TDMS文件的时候,也是一个segment一个segment的把内容读出来。这个segment还有一个极为重要的特点。我们每次写数据,每次往TDMS文件中flush to disk的时候就在文件的后面添加这样一个segment,而不去关心之前的segment中包含了什么样的信息。这个特点非常关键,这就可以使得我们写文件的速度非常快,我们并不关心之前文件中包含了什么信息,也就使得我们写TDMS文件的速度并不和TDMS文件的大小成正比或者有任何关系。
23、TDMS文件格式的优点
(1)、写文件速度必须要快——通过segment实现以及二进制。
(2)、向文件追加(append)数据的时候,速度要快——通过segment。
(3)、写文件的速度不能与文件大小成正比——通过segment。
(4)、支持随机的读取——通过segment以及头文件。
(5)、支持分别读写描述性信息和原始数据——通过segment以及头文件。
(6)、对读文件的速度也有一定的要求——通过segment以及头文件。
(7)、文件不能太大——二进制。
20、使用TDMS流文件查看器浏览数据详细信息。可以浏览具体的对象属性、详细的数据、直观的数据波形。可见使用TDMS文件格式存储测试测量数据,可以有效的进行数据的组织与合并,创建新的数据结构,并存储定制数据信息。
LabVIEW(四):数据存储和文件IO (2)
内容版权声明:除非注明,否则皆为本站原创文章。