LabVIEW学习分享(6)

编程入门 行业动态 更新时间:2024-10-13 16:19:16

<a href=https://www.elefans.com/category/jswz/34/1760663.html style=LabVIEW学习分享(6)"/>

LabVIEW学习分享(6)

LabVIEW实用总结–数据文件读取
小树不修不直溜,人不学习哏揪揪!又到了出门就是被“烧烤”的时节,生存愈加艰辛。此处感谢拯救了全人类的英俊帅气的空调之父Willis Carrier,给了我们生存的机会。本小学生鉴于前些时分享的数据多格式存储的设计思路,对应设计读取文件的程序,同时感谢许多大神与小伙伴们给予我的指点φ(≧ω≦*)♪,特总结此文,以留纪念,望大神指点!
本文中鉴于LabVIEW学习分享(5)中数据多格式存储的设计思路,根据存储数据格式的不同,同样给出两种不同的读取思路,话不多说,直接开整<( ̄3 ̄)> !
方案一:读取文本、电子表格与二进制文件(.txt/.xls/.dat)
(1)读取文本文件(.txt)
同样利用“条件结构”实现,不同格式文件数据的读取,首先设计读取文本文件数据的分支,如图1所示,在程序框图中,选取“文件I/O”函数库的“打开/创建/替换文件”与“读取文本文件”函数,添加到读取文本文件分支中。由于文本文件中存储的数据格式为字符串格式,因此为了在LabVIEW中得到浮点数数据,需要进行转换,如图2所示,选取“字符串”函数库中的“电子表格字符串至数组转换”函数。此处通过学习与尝试,为了将数组数据还原成波形展示,对数组进行一定的操作,如图3所示,添加“二维数组转置”与“数组子集”函数。同时也可以统计一下文件的数据量,如图4所示,选取“数组大小”函数配合连接数值显示控件即可。波形还原可选择如图5所示的“创建波形”函数实现。

图1“打开/创建/替换文件”与“读取文本文件”函数

图2“电子表格字符串至数组转换”函数

图3 数组操作函数

图4 数组大小函数

图5 创建波形函数
连接完成的读取文本文件数据程序框图分支如图6所示,至此读取文本格式数据分支设计基本完成。

图6 读取文本文件分支程序
(2)读取电子表格(.xls)
利用上文读取文本文件程序的设计基础,选取如图7所示的“读取带分隔符电子表格”函数,此函数也可以直接读取文本文件,许多大神已经给出过相应的设计方案,此处不再赘述。同样为了将读取出的数组数据还原成波形,再次利用数组操作函数处理,同时添加,如图8所示的“分数/指数字符串至数值转换”函数,最后接线完成的读取电子表格数据程序,如图9所示。

图7 “读取带分隔符电子表格”函数

图8 “分数/指数字符串至数值转换”函数

图9 读取电子表格程序分支
(3)读取二进制格式文件(.dat)
首先此处需要对二进制数据的存储程序作出适当修正,如图10所示,在存储二进制分支程序中的“写入二进制文件”函数的“预置数组或字符串大小”输入端,设置为“FALSE”。虽然如图11所示的函数说明中提到“如需使用“读取二进制文件”函数读取写入文件的数组或字符串数据,则预置数组或字符串大小参数必须为TRUE”,但通过本小学生实践验证,此话纯属扯蛋,读取之前输入端口默认为“TRUE”的二进制文件会出现极大或极小值,而采用图10所示的程序存储的二进制文件,即“FALSE”条件,并没有报错,并且还原出了波形结果,希望了解原因的大神能在评论区指点,此种情况属于特例吧,因为本小学生始终相信NI的函数说明不会这么忽悠人吧,也许会是破解的原因,此问题仍有待研究。

图10 存储二进制文件修正

图11 写入二进制文件函数说明
选取如图12所示的“读取二进制文件”函数,设计读取二进制文件程序分支,接线完成的程序框图如图13所示。

图12 读取二进制文件函数

图13 读取二进制文件分支程序
(4)调试效果
首先读取文本文件如图14所示,选取存储的文本格式数据并还原成波形。在读取电子表格格式文件,如图15所示,也实现波形重现效果。最后读取存储的二进制格式文件,读取“TRUE”条件存储的二进制格式文件,效果如图16所示,明显值存在异常,再读取“FALSE”条件的存储文件,如图17所示,数据正常且成功还原波形。

图14 读取文本文件效果

图15 读取电子表格文件效果

图16 读取TRUE条件二进制文件效果

图17 读取FALSE条件二进制文件效果
方案二:读取文本文件、二进制文件(.lvm/.tdms)
(1)读取文本文件(.lvm)
设计读取lvm文件程序的方案二思路比较简单,如图18所示,直接选用“读取测量文件”函数。此处注意函数的参数设置,如图19所示。接线也比较简单明确,输入端设置为启用,接线完成的程序框图,如图20所示。

图18 “读取测量文件”函数

图19 读取lvm测量文件函数参数设置
图20 读取文本文件(.lvm)分支程序
(2)读取二进制文件(.tdms)
参照上文读取文本文件(.lvm)程序设计思路,同样选取“读取测量文件”函数,其参数设置如图21所示。接线完成的分支程序如图22所示,简单明确。

图21 读取tdms测量文件函数参数设置

图22 读取文本文件(.tdms)分支程序
(3)调试效果
首先读取lvm文本数据,此处直接展示波形,如图23所示为读取lvm文本数据效果,此处对波形图显示控件的“X标尺”进行了适当调整,否则数据量较大,波形密集不清晰。同理读取tdms二进制文件数据,如图24所示的效果,达到还原波形的效果。

图23 读取lvm文本文件效果

图24 读取tdms二进制文件效果
存在问题
为了对应数据存储的Excel表格格式,本小学生也参考一些大神提供的LabVIEW读取Excel表格数据程序设计思路,进行了尝试,但是程序运行失败了,总是提示不明原因的错误或者提示没有安装Microsoft Excel,希望了解原因的大神能给予指点。

图25 读取Exel程序尝试1

图26 读取Excel程序尝试2

图27 读取Excel程序尝试1报错

图28 读取Excel程序尝试2报错
希望了解错误原因的小伙伴或大神能在评论处指教!
分享完毕,总结至此,希望能为有需求的小伙伴提供思路,也希望能在这个“金钱至上”的社会,给大家提供更多免费的学习资源
良心博主,且看且珍惜,如需分享,表明转载,小弟不胜感激!

更多推荐

LabVIEW学习分享(6)

本文发布于:2024-02-12 01:07:17,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1684826.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:LabVIEW

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!