滨哥采集了一组tdms数据,需要分析一下

如何读取tdms数据

excle

Package Manager
NI的解决方法,下载插件可以在excle中查看tdms数据

matlab

matlab中有两种,一种conventTDMS函数,一种MATLAB TDMS
第二种是导入数据显示波形,
第一种是导入数据并可以生成mat数据,因为要做后面的信号分析处理,这个更方便一点.conventTDMS

问题

使用excle可以成功读取数据,但是excle展示数据量有限
conventTDMS可以读取测试数据,但是针对采集数据存在问题,一直报“数组索引必须为正整数或逻辑值”的错误。同样数据excle是可以打开的。

定位到原因是index结构体中Object对象中的rawdatacont为0,这导致索引数据出现0.
代码中针对这个问题解决方案是判断kTocNewObjectList,=1则加一,=0则不处理,但是这里问题就是=0,但是不处理索引为0.

使用测试数据进行分析,
测试数据并没有进入报错代码。

阅读代码官网讨论区,发现存在很多问题。

解决方案,使用NI转excle功能转存xlsx格式,使用MATLAB读取数据并转换为mat文件
绕开MATLAB直接读取TDMS格式保存问题。

MATLAB TDMS

https://blog.csdn.net/ccy648701789/article/details/109556920
tdms打开转excle再用matlab打开,数据量小,不确定是不是excle数据截断了,也有可能是采集的问题。
因此又用tdm64-gcc的搞了一下,软件装了一晚上。然后配置位置环境
需要安装MW_MINGW64,从MATLAB官网下载
测试用例可以通过,但是读取采集数据闪退,这下彻底没戏了。