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

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

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开发等相关项目,可联系们。附件中的资料这里无法上传,可去公司网站搜索下载。

相关文章
|
XML 存储 程序员
LabVIEW开发LabVIEW类
LabVIEW开发LabVIEW类
314 0
|
数据采集 传感器 监控
如何在LabVIEW中使用FPGA模块
如何在LabVIEW中使用FPGA模块
750 1
|
5月前
|
人工智能 供应链 搜索推荐
别再“凭感觉”做跨境!揭秘API数据接口,让你的独立站“起飞”的真相
告别“凭感觉”运营,揭秘API数据接口如何打破独立站信息孤岛。实现订单、库存、物流、营销自动化协同,打通ERP、WMS、支付与CRM系统,让数据实时流转,提升效率、精准决策、优化体验。API不是技术噱语,而是独立站精细化运营的“起飞引擎”。
|
8月前
|
数据安全/隐私保护 Android开发 Windows
2025 年三款免费高清无水印视频录制工具推荐合集
本文介绍了三款免费高清录屏软件:EVCapture、Bandicam 和 屏幕录像机(oCam)。EVCapture 功能强大,支持视频录制与直播,提供分屏录制、实时按键显示等;Bandicam 适合游戏录屏,可自定义录制区域并添加Logo,还支持音频和摄像头设置;oCam 小巧灵活,支持多种视频格式(如GIF、MP4等)及音频、截图功能。三者均无水印,画质清晰,满足不同录屏需求。资源地址已提供,可供下载体验。
9481 0
基于DSP的数字滤波器设计
基于DSP的数字滤波器设计
520 4
LabVIEW UI设计的几个技巧
LabVIEW UI设计的几个技巧
817 0
|
监控 Linux API
LabVIEW监控实时嵌入式目标上的CPU和内存使用情况
LabVIEW监控实时嵌入式目标上的CPU和内存使用情况
680 4
|
安全 Linux 网络安全
【工具使用】几款优秀的SSH连接客户端软件工具推荐FinalShell、Xshell、MobaXterm、OpenSSH、PUTTY、Terminus、mRemoteNG、Terminals等
【工具使用】几款优秀的SSH连接客户端软件工具推荐FinalShell、Xshell、MobaXterm、OpenSSH、PUTTY、Terminus、mRemoteNG、Terminals等
134752 0
|
容器
LabVIEW主VI前面板中显示或使用多个子VI
LabVIEW主VI前面板中显示或使用多个子VI
382 2
|
数据采集 机器学习/深度学习 算法
LabVIEW与Python的比较及联合开发
LabVIEW与Python的比较及联合开发
552 0

热门文章

最新文章