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数据,十分方便)。

相关推荐
LDR0069 天前
Type-C 快充全面升级!LDR6601 赋能个人护理便携电机,重塑剃须刀 / 理发器新体验
c语言·开发语言
雪碧聊技术9 天前
Tree.js是什么?一文讲透
开发语言·javascript·ecmascript
码云数智-园园9 天前
C++20 Modules 模块详解
java·开发语言·spring
xiao5kou4chang6kai49 天前
MATLAB机器学习、深度学习--从数据预处理到模型训练
深度学习·机器学习·matlab·数据预处理
swordbob9 天前
NIO的channel中什么是 fd(File Descriptor,文件描述符)
java·开发语言·nio
源分享9 天前
Java线程同步的多种实现方法(非常详细)
java·开发语言·jvm
Luminous.9 天前
C语言--day30
c语言·开发语言
何以解忧,唯有..9 天前
Go语言循环语句详解:for、range与循环控制
开发语言·算法·golang
謓泽9 天前
C语言不是语法,是通往机器的地图。
c语言·开发语言
云水一下9 天前
从零开始学 PHP 系列(一):PHP 的前世今生与开发环境搭建
开发语言·php