LabVIEW写入可快速加载的TDMS文件

article/2025/9/11 21:49:26

LabVIEW写入可快速加载的TDMS文件

TDMS文件格式的设计目的是在尽可能快地读写数据的同时仍保持足够的灵活性来适应采集过程中通道数量和采样率的变化。 但是数据读写速度快的文件未必可快速加载。 TDMS文件是一个完全的二进制文件,由多个部分数据段组成,在写入文件时每个数据段叠加在另一个数据段之上。 这些数据段包含分配到一个或多个通道数据值缓冲区以及/或关联至一个或多个层次的元数据属性。 通常,TDMS文件包含的数据段越少,加载速度越快。

每次写入或读取TDMS文件时便会生成一个 TDMS_Index 文件,该文件包含二进制数据段的分布图。 之后如果读取同一个TDMS文件,系统会询问TDMS_Index文件以确定正确的比特位置来读取TDMS文件的每个通道和属性集合。 一般来说,如果生成的TDMS_Index文件大小与TDMS文件相似,则该TDMS文件被“碎片化”,也就是说该文件包含的数据段多于所需的数据段,因此加载速度变慢。 无论在采集过程中还是采集后,均可采用多种方法来最小化多余数据段的数量,以达到最大的TDMS文件读取速度。

以最少碎片写入TDMS文件

首先,如果使用NI数据采集硬件来采集数据,则可考虑使用NI-DAQmx TDMS写入功能,因为该功能可自动写入未碎片化的TDMS文件。 如果使用NI LabVIEW采集数据通道,则可从 TDMS高级选项 选板中选择VI,以写入碎片化程度最小的TDMS文件。 如果使用标准TDMS写入函数,则以下技巧可以最大程度减少TDMS文件的碎片化。

在数据采集(循环)之前或之后写入所有TDMS属性。

从多个通道写入数据时使用二维矩阵和一个TDMS写入函数。

每次至少写入1000个数据点到TDMS文件的一个采集数据通道。

如果一次只能写入1个数据点,则将通道属性 NI_MinimumBufferSize 的值设置为1000。

采集后对TDMS文件进行碎片整理

即时由于数据采集限制而不得不创建碎片化的TDMS数据文件,用户仍可在采集后解决这个问题。 如果使用的是NI LabVIEW, TDMS碎片整理 功能能够以最低程度的碎片化重新写入TDMS文件。 或者,如果将TDMS数据文件加载到NI DIAdem并重新保存,则生成的TDMS数据文件也具有最低程度的碎片化。

写入加载速度提高通道属性

如果读取TDMS文件的目标应用程序是NI DIAdem,则可通过创建以下四个TDMS文件中每个数据通道的属性来大幅提高加载到NI DIAdem的速度。 如果这四个属性都没有出现且加载指定TDMS数据通道时填充了一个有效值,则NI DIAdem将会自动计算这四个属性来加快图轴的自动换算速度。 如果这些属性已经创建并填充了有效值且关联至TDMS文件的每个数据通道,则该TDMS文件加载到NI DIAdem的速度将会快很多。

提高NI DIAdem内文件加载速度的属性

需要说明的是,上述的例程和文档,都是可以下载的,双击即可打开,其中压缩文件是可以采用粘贴复制的方式,拷贝到硬盘上。这不是图片,各位小伙伴看到后尝试一下,这个问题就不用加微信咨询了。有关LabVIEW编程、LabVIEW开发等相关项目,可联系们。附件中的资料这里无法上传,可去公司网站搜索下载。


http://chatgpt.dhexx.cn/article/PAcLflVt.shtml

相关文章

LabVIEW TDMS连续写入内存增长

LabVIEW TDMS连续写入内存增长 每次执行TDMS写入VI时,内存(RAM)使用量都会略有增加。这是内存泄漏吗,如何防止内存使用量增加? 解答 此问题有几种可能的解决方案: TDMS文件的引用可能没有适当地关闭。对…

Matlab查看tdms文件

由于最近项目需要使用Labview开发解调设备,对于高速采集卡就需要使用tdms存储数据(存储的数据量较大),而用matlab无法对tdms格式文件进行直接读取,所以查找一些相关博客,解决了读取的问题。(以下…

Labview数据存储与读取——TDMS文件的创建与写入

Labview数据存储与读取——TDMS文件的创建与写入 你好,这是我在自学Labview编写软件过程中使用的一些功能。我在存储采集卡数据时,通过阅读大量他人的程序,发现TDM及TDMS文件十分适合波形数据的记录,TDMS文件比TDM文件在存储动态…

TDMS转EXCEL

NI官方有推出TDMS转EXCEL插件,安装后可直接用excel打开tdms文件。 下载链接:https://download.csdn.net/download/Kleds_Love/81168914 下载为iSO文件,右键→装载→管理员身份安装即可 安装完成后,直接双击tdms文件,…

计算TDMS文件的THD

1.用采集卡采集一路正弦信号,存为.tdms文件 2.将.tdms文件转成.csv文件或.txt文件或.xlsx文件,使MATLAB可以将数据导入工作空间 法1:将.tdms文件转成.csv文件(依靠LabVIEW程序) 法2:将.tdms文件转成.txt文件…

如何打开tdms文件

1、下载一个插件 地址:https://www.ni.com/example/27944/en/ 2、下载后按照导向安装即可 3、安装后如果不能打开文件,试试重启电脑,或者你电脑上没有execl软件

用Matlab处理TDMS数据(降噪+频谱分析)

目录 TDMS文件从导入到最终处理的整个过程第一:把TDMS文件导入到matlab用MATLAB TDMS函数使用ConventTDMS函数 第二:把Matlab的数据画出来附录:1-照着步骤依然显示不了图的解决办法附录:2-使用Matlab批量转换".TDMS"文件…

labview的TDMS文件读写

文章目录 一概念介绍1.相关概念2.tdms文件介绍 二.VI介绍1.TDMS打开VI2.TDMS写入3.TDMS读取4.TDMS设置属性5.TDMS获取属性6.TDMS关闭 三.范例分析——TDMS文件 并行读写的操作 写在最前面:本文先介绍TDMS概念和文件结构,然后介绍VI如何使用,最…

插件框架篇一之scrollbars

问题:部分手机(如三星)ListView或GridView设置scrollbars显示时会报错奔溃。 问题分析: ScrollView继承于View,在View的构造器中初始化scrollbars。 根据initializeScrollbars判断是否需要进行scrollbars初始…

VBA,窗体和控件的动态效果之一:scrollbar如何实现自动效果

问题由来:静态和瞬时的效果不够用,窗体的动态效果更难实现 之前只学习了窗体的静态效果现在考虑 窗体和控件的动态效果 1 srcollbar如何实现自动效果 给 Button 2 绑定了这样一个sub点击后,Scroll Bar 1 可以自动变化注意点:因为…

C#开发串口小助手(可更改波特率、串口号,可实现数据以及字符的收发)

0. 前言 前置项目为:VS 2019中利用C#语言在.Net Framework 4.5框架上开发简易串口发送数据软件本项目的全部代码已经放置至码云:https://gitee.com/jiawei_zh/serial_assistant本项目参考杜洋工作室:入门C#设计。 1. 项目实现 1.1 配置For…

android RecyclerView 添加可拖动的滚动条

实现的效果图如下,为了效果这里我设置的宽了一些,实际根据需求修改即可 先说几个属性: android:scrollbars" 一般都是垂直的滚动条设置vertical android:scrollbarSize 设置滚动条的宽度 android:scrollbarThumbVertical:…

基于机智云的Android开源app修改教程

前言 首先,这是我最近搞的毕业设计,然后为了使自己的app更加的有个人风格,故在网上寻找了很多的参考资料,这里是对自己设计的总结,具体机智云APP生成流程请参考我上一篇博客。链接: 基于stm32的连接机智云教程 机智云…

Android中修改ScrollBar默认样式

好吧,又遇到需求了,需要修改ScrollBar的样式,于是查阅了很多文档,觉得这位大牛总结的不错,顺便看了下他的主页,哇哦,大神啊~!!!附上大神文章的链接&#xff1…

RecyclerView实现可拖动滚动条并修改宽度

本文参考了孤调的文章,链接如下: https://www.jianshu.com/p/67e1df2b1920 基本实现了拖动的需求,但是还有一个问题就是滚动条的宽度跟需求不符,需要进行修改.但是官方并未提供相应的参数.自己动手丰衣足食,开始撸源码. 打开RecyclerView类,搜索fastScrollEnabled,定位到构造方…

IDEA修改配置

1.修改 bin/idea.properties---------------主要是把路径放开 # Use ${idea.home.path} macro to specify location relative to IDE installation home. # Use ${xxx} where xxx is any Java property (including defined in previous lines of this file) to refer to its v…

利用ajax修改删除页面数据,使用Jquery的Ajax实现无刷新更新,修改,删除页面

本文将向大家讲述一下最近工作的一些总结,主要包括了以下内容,注册界面以及详细信息界面的编辑。主要是介绍了AJAX技术,因为我觉得其他方面没什么好介绍的。首先是跟大家说一下Ajax的优点,假如你删除了一个页面的内容,…

代码修改RecyclerView的scrollbar颜色

因为scrollbar是view的私有内部类,所以需要动态修改RecyclerView的scrollbar颜色, 只能通过反射获取scrollbar的drawable,然后用反射着色,亲测可用,代码直接粘贴就可使用。 import android.content.Context; import an…

lvgl v8之Styling the scrollbars

Styling the scrollbars /** * Styling the scrollbars */ static void lv_example_scroll_4(void) {lv_obj_t* obj lv_obj_create(lv_scr_act()); // 创建obj对象lv_obj_set_size(obj, 200, 100); // 设置大小lv_obj_center(obj); // 居中显示lv_obj_t* label lv_…

react-custom-scrollbars 滚动条组件的简单实现

滚动条组件 参考:gitHub API说明以及大佬的API中文讲解 import "./styles.css"; import React, { useState, useEffect, useRef, useMemo } from "react"; import { Scrollbars } from "react-custom-scrollbars";export default fu…