Matlab安装tdms插件

问题描述:Labview采集数据时保存的数据格式一般是tdms文件,matlab无法直接读取tdms文件,需要安装TDMS Reader插件。

1.下载tdms插件

通过网盘分享的文件:v2p6.zip

链接: https://pan.baidu.com/s/16W4SGegGiA6CuLNqv5TUXQ?pwd=m8ma 提取码: m8ma

2.将下载的插件放到安装的matlab中的toolbox文件夹下

首先将v2p6.zip进行解压到桌面,然后将v2p6文件夹复制至matlab中的toolbox文件夹下。

3.添加路径

打开matlab软件--》主页--》设置路径--》添加并包含子文件夹--》选择matlab中的toolbox文件夹下的v2p6文件。

4.更新路径

主页--》预设--》常规--》更新工具箱路径缓存。

5.读取数据并绘图

以读取1_0kg_2500r.tdms文件为例,

数据链接:https://download.csdn.net/download/bynacqt/90546877

代码如下:

Matlab 复制代码
clear all
% 文件路径
filePath = 'C:\Users\lenovo\Desktop\1_0kg_2500r.tdms';

% 读取TDMS文件
dataStruct = TDMS_getStruct(filePath);

% 定义组名称和通道名称
groups = {'g_1600Hz_vib', 'g_3200Hz_vib', 'g_6400Hz_vib', 'g_12800Hz_vib', 'g_25600Hz_vib'};
channels = {'single_axis', 'x_axis', 'y_axis', 'z_axis'};

% 初始化存储数据的结构体
resultStruct = struct();

% 遍历每个组和每个通道,读取数据
for i = 1:length(groups)
    groupName = groups{i};
    for j = 1:length(channels)
        channelName = channels{j};
        % 读取指定组和通道的数据
        resultStruct.(groupName).(channelName) = dataStruct.(groupName).(channelName).data;
    end
end

% 显示读取的数据
disp(resultStruct);
plot(resultStruct.g_1600Hz_vib.single_axis)

绘制的信号图片如下:

6.数据采集与分析系统

本人设计了振动信号、声音信号、电压信号、电流信号、温度信号等数据采集与分析系统,感兴趣的可以看一下:

https://blog.csdn.net/bynacqt/category_12641029.html?fromshare=blogcolumn&sharetype=blogcolumn&sharerId=12641029&sharerefer=PC&sharesource=bynacqt&sharefrom=from_link

7.其它报错

注意报错:无法直接读取labview保存的tdms文件

为例节省存储,labview会将数据压缩后存储为tdms文件。此时即使安装了tdms插件,matlab程序读取tdms文件时仍会报错。

错误使用 TDMS_processLeadIn (line 50)
Currently code is unable to ignore/handle Raw Daq MX data

出错 TDMS_preprocessFile (line 182)
flags,info,eof_error = TDMS_processLeadIn(fid,lastLetter);

出错 TDMS_readTDMSFile (line 230)
metaStruct = TDMS_preprocessFile(fid,tdmsFileName,paramsStruct);

出错 TDMS_getStruct (line 83)
temp,metaStruct = TDMS_readTDMSFile(filePath,readOptions{:});

解决方法:

使用python读取tdms文件,然后另存为tdms文件就可以了(如果有条件,还是建议用python来分析tdms数据,十分方便)。

相关推荐
敲代码的嘎仔12 小时前
互动问答系统实战:两级评论模型、ES 搜索集成、Caffeine 多级缓存全记录
java·开发语言·数据库·elasticsearch·缓存·mybatis·高并发
yujunl12 小时前
找不到指定的SDK(“Microsoft.NET.Sdk.Web“)
开发语言
郝学胜-神的一滴12 小时前
C++11 工程级应用 12:编译期类型魔法,干掉重复与臃肿的代码
开发语言·数据结构·c++·软件工程·visual studio
m0_7345717612 小时前
深入理解C++ 析构函数<四>虚析构函数
开发语言·c++
芒鸽12 小时前
把 Agent 运行时做成插件系统:agent-harness(openJiuwen Rust版) 的实践
开发语言·后端·rust
Brilliantwxx12 小时前
【STM32】 I2C 外设内部硬件结构和状态位
开发语言·stm32·单片机·嵌入式硬件
小七在进步12 小时前
类和对象(二)
java·开发语言
CHHH_HHH12 小时前
【Linux系统篇】进程间通信揭秘:从管道到共享内存
linux·服务器·c语言·开发语言·后端·ubuntu
写后端的胖头鱼12 小时前
【高频面试题】面试题里常出现的Bitmap是什么(附源码和多种场景)
java·开发语言·面试·位图·bitmap
学习智者12 小时前
《玄》IDE v3.8.2重磅发布:数据外置+全链路优化
开发语言·c++·ide·中文语言 玄