TDMS设置属性函数
- 更新时间2025-07-30
- 阅读时长11分钟
设置指定的.tdms文件、通道组或通道的属性。如连线组名称和通道名,函数可在通道中写入属性。如只连线组名称,函数可在通道组中写入属性。如未连线组名称和通道名,属性由文件确定。如将通道名称输入端连线至一个值,则还必须将值连接至组名称输入端。 必须关闭对.tdms文件的引用或将数据刷写至.tdms文件,更改才能生效。

输入/输出
属性值
—
属性值指定通道组、通道或.tdms文件的属性值。该输入端接受以下数据类型:
如果要使用同一函数设置多个属性,可以将之前指定的任何数据类型的一维数组连接到 属性值 输入端。数组中的每个值对应一个属性。但是,数组值不能为单个属性。
属性名称
—
属性名称指定指定通道组、通道或.tdms文件的属性名。
tdms文件
—
组名称
—
组名称指定要进行操作的通道组名。如通道名称连接了输入值,则此输入端也必须连接一个值。
通道名称
—
通道名指定要进行操作的通道。如此输入端连接了输入值,则组名称输入端也必须连接一个值。
错误输入(无错误)
—
错误输入表明该节点运行前发生的错误条件。该输入将提供标准错误输入功能。
tdms文件输出
—
组名称输出
—
组名称输出返回已进行操作的通道组的名称。
通道名输出
—
通道名输出返回已进行操作的通道名。
错误输出
—
错误输出包含错误信息。该输出提供标准错误输出功能。 |
本部分列出了使用.tdms文件时可能遇到的全部属性。第一个表格列出了可能在.tdms文件中发现的全部属性。第二个表格列出了在.tdms文件中不存在的全部属性,但可以使用这些属性执行特定操作。以波形属性将这些属性写入.tdms文件。然而,当读取.tdms文件的波形属性时,某些属性可能不以波形属性出现。以波形属性存在?列说明了某个属性是否以波形属性存在。如属性的数据类型无效,LabVIEW将把属性作为一种自定义属性,属性的行为与表格中的描述不尽相同。
可使用TDMS获取属性函数获得这些属性值。使用TDMS设置属性函数改变属性值。
下表列出了可能在.tdms文件中发现的全部属性。
| 属性名称 | 数据类型 | 权限 | 见文件格式版本 | 可作为波形属性? | 说明信息 |
|---|---|---|---|---|---|
| name | 字符串 | 读/写 | 2.0 | 是 | 指定.tdms文件中对象的名称(例如,根名、组名或通道名)。 |
| NI_ArrayColumn | 32位有符号整数 | 只读 | 1.0和2.0 | 否 | 表明二维数组中列的索引。仅在.tdms文件中写入二维数组数据时可显示该属性。 |
| NI_ChannelLength | 64位无符号整数 | 只读 | 1.0和2.0 | 是 | 表示.tdms文件通道中值的数目。 |
| NI_DataType | 16位无符号整数 | 只读 | 1.0和2.0 | 是 |
表明通道的数据类型。该值为对应于LabVIEW类型代码的整数。 注: 对于以下数据类型,.tdms 文件使用的类型代码与 LabVIEW 类型代码不同:
有关 TDMS 数据类型代码的完整列表,请参阅 TDMS 文件格式内部结构中的数据类型值部分。 |
| NI_DigitalCompression | 布尔 | 只读 | 1.0和2.0 | 否 | 表明数字表格是否为压缩。值1表示数字表格已压缩。如数字表格未压缩,则不显示该属性。 |
| NI_DigitalLine | 32位有符号整数 | 只读 | 1.0和2.0 | 否 | 表明数字表格中的行索引。 |
| NI_DigitalNumberOfLines | 32位有符号整数 | 只读 | 1.0和2.0 | 否 | 表明数字表格中的行的数量。 |
| NI_Number_Of_Scales | 32位无符号整数 | 读/写 | 2.0 | 否 | 指定在.tdm文件中读取数据时,使用的换算数量。例如,如果一个.tdms文件有5个换算且NI_Number_Of_Scales的值设为4,在读取.tdms文件时,LabVIEW仅对数据使用前4个换算。 |
| NI_Scale[n]_config,其中 n 表示刻度的顺序, config 表示刻度的配置。 | N/A | 读/写 | 2.0 | 否 | 指定.tdms文件中数据的缩放信息。在.tdms文件中可创建一个以上的换算。 |
| NI_Scaling_Status | 字符串 | 读/写 | 2.0 | 否 | 从.tdms文件中读取数据时,指定LabVIEW是否对数据换算。如果值为unscaled且.tdms文件包含一个或多个换算,LabVIEW将对数据进行换算。如值为scaled,LabVIEW不对数据进行换算。对于DAQmx数据通道,即使NI_Scaling_Status为unscaled,LabVIEW也无法返回未换算的数据。 |
| unit_string | 字符串 | 读/写 | 1.0和2.0 | 否 | 指定.tdms文件中通道数据的单位。 |
| wf_increment | 双精度浮点型 | 读/写 | 1.0和2.0 | 否 | 表示x-轴上连续两个采样点之间的增量。 |
| wf_samples | 32位有符号整数 | 读/写 | 1.0和2.0 | 否 | 表示写入.tdms文件中的波形的第一个数据块中的采样点数。值必须大于0。 |
| wf_start_offset | 双精度浮点型 | 只读 | 1.0和2.0 | 否 | 频域数据和柱状图结果将该值作为x-轴上的第一个数据。 |
| wf_start_time | 时间标识 | 只读 | 1.0和2.0 | 否 | 表示波形被采集或生成的时刻。如果时间信息是相对的或波形不在时域内,该属性值为零。 |
| wf_time_pref | 字符串 | 只读 | 1.0和2.0 | 否 | 指定LabVIEW的x-轴数据使用绝对时间或相对时间。 |
| wf_xname | 字符串 | 只读 | 1.0和2.0 | 否 | 说明波形的x-轴名称。 |
| wf_xunit_string | 字符串 | 只读 | 1.0和2.0 | 否 | 说明波形的x-轴单位。 |
除了上表中列出的属性,.tdms文件也可包含其他波形属性。
下面表格列出了在.tdms文件中不存在的全部属性,但可以使用这些属性执行特定操作。
| 属性名 | 数据类型 | 单位 | 权限 | 见文件格式版本 | 可作为波形属性? | 说明信息 |
|---|---|---|---|---|---|---|
| NI_DiskCacheSize | 32位无符号整数 | 字节 | 读/写 | 2.0 | 是 | 通过NI_DiskCacheSize属性为数据在内存中分配指定大小的缓冲区,改进写入.tdms数据的性能。LabVIEW使用字节写入.tdms数据。仅当TDMS打开函数的禁用缓冲?输入端为TRUE时,该属性有效。该属性的默认值约为2 MB。连线不同值至该函数的属性值输入端可更改缓冲区的大小。如NI_DiskCacheSize属性的值较大,则提高写入性能的同时需更多的计算机资源。 |
| NI_DiskGapSize | 32位无符号整数 | 字节 | 读/写 | 2.0 | 是 | 通过NI_DiskCacheSize属性为可在连续读取数据时改进读取.tdms数据的性能。“TDMS打开”函数的禁用缓冲?输入端为TRUE时,该属性有效。NI_DiskGapSize属性的大小必须为磁盘扇区大小的倍数。该属性的默认值为10。如果 .tdms 文件中的数据间隙小于 NI_DiskGapSize 属性的值,则 TDMS 读取 函数可以一次性读取文件中的所有数据。如.tdms文件中数据的间隔大于NI_DiskGapSize属性的值,“TDMS读取”函数可逐次读取文件的数据。连线值至该函数的属性值输入端可更改缓间隔的大小。 注: 获取最优化的读写性能是循序渐进的过程。同样的配置可在不同的计算机上返回相同的优化性能。在不同的计算机上部署程序时可能需要调整属性值。
|
| NI_InMemoryFileSize | 64位有符号整数 | 字节 | 只读 | 2.0 | 是 | NI_InMemoryFileSize属性用于返回内存中.tdms文件的文件大小。 |
| NI_InMemoryWriteBlockSize | 64位有符号整数 | 字节 | 读/写 | 2.0 | 是 | NI_InMemoryWriteBlockSize属性用于分配写入数据的内存块大小。该属性的默认值为10 MB。该属性的范围为[1 KB, 1 GB]。属性的值越高,内存写入的效率就越高,对计算机资源的要求也相应更高。写入操作开始之前必须设置该属性。否则,LabVIEW可返回错误。 |
| NI_MinimumBufferSize | 32位无符号整数 | 数据采样 | 读/写 | 1.0和2.0 | 是 | NI_MinimumBufferSize属性通过减少写入文件的次数,增强了.tdms的数据写入性能。该属性通过控制数据写入磁盘的次数,减小.tdms文件的大小。TDMS写入函数的数据布局输入端为decimated时,NI_MinimumBufferSize属性有效。默认情况下,NI_MinimumBufferSize属性为零。如设置该值为组级别,函数仍将底层通道的值设置为零。如设置该值为文件级别,函数仍将底层组和通道的值设置为零。使用该属性和 NI_DiskCacheSize 属性会影响 文件与 .tdms 文件的缓冲。 |
|
NI_UpdateChannelName NI_UpdateGroupName |
字符串 | N/A | 只写 | 1.0和2.0 | 是 | 通过“TDMS设置属性”函数可重命名.tdms文件中的组和通道。将NI_UpdateGroupName连线至属性名称输入端可对组重新命名,将NI_UpdateChannelName连线至属性名称输入端则可对通道重新命名。连线新的组或通道名称至属性值输入端,连线用于替换的组或通道名称至组名称或通道名输入端。如连线至组名称或通道名的组或通道不存在,LabVIEW创建新的组或新的通道并使用新的名称。 |
范例
请参考LabVIEW附带的下列范例文件。
- labview\examples\File IO\TDMS\Standard Read and Write\TDMS Write Time Domain Data.vi
属性值
—
属性名称
—
tdms文件
—
组名称
—
错误输入(无错误)
—
tdms文件输出
—
组名称输出
—
错误输出
—