【LabVIEW编程——循环读取文件夹及文件】

时间: 2024-05-20 admin IT培训

【LabVIEW编程——循环读取文件夹及文件】

【LabVIEW编程——循环读取文件夹及文件】

LabVIEW编程——循环读取文件夹及文件

小树不修不直溜,人不修他哏啾啾!老铁们,大家好!好久不见,甚是想念。全民抗疫的这两年里,大家都生活不易,病毒依旧强势,家人们,防范不可掉以轻心。即使疫情可以反反复复,但生活依旧要努力奋斗啊。“油炸花生米”:闲言(咸盐)少叙(少许)。最近本小学生遇到了这样的一个问题,客户需要进行大批量的数据处理,Windows系统下存储格式十分规整,分类性逻辑较强。这就引出了今天想要分享给大家LabVIEW编程思路,解决循环读取文件夹以及文件内容。

问题描述

如图1所示,为客户的数据文件存储模式的举例模型,顶层文件夹“测试数据”内,按日期划分子文件夹如“2021.06.11”等,在日期文件夹下包含以不同命名符号方式存储的表格数据(.xls)。本文以此为例,力求详尽说明编程思路与操作流程,如有雷同,纯属意外!

图1 数据案例

LabVIEW的罗列文件夹 (函数)

首先想要利用LabVIEW解决该问题,需要用到文件操作函数。要想实现对文件夹下的所有文件的寻址,就利用到了此节提及的“罗列文件夹(函数)”。添加操作流程如图2所示:程序框图下点击右键后,编程函数选版选择“文件I/O”——选择“高级文件函数”——选择“罗列文件夹”函数。此函数的详尽讲解,可参考此大神经验分享,(罗列文件夹链接),本文不再重复。此处建议一点操作,如图3所示,在“罗列文件夹”函数使用时,添加输入控件(文件路径输入控件)操作完成后,需要对此输入控件属性进行调节,如图选择“浏览选项”中的“选择模式”调整为“文件或文件夹”、“新建或现有”。

图2 罗列文件夹函数添加操作


图3 路径输入控件属性设置

展示一下利用此函数结合本文案例的编程初步效果,此处选取路径终点为“测试数据”文件夹,为展示文件名寻址效果,在文件夹添加了一个图片文件,后文程序中文件夹内去除了该图片,如图4所示。

图4 函数使用效果

子文件夹及文件读取

对于多文件夹及文件读取问题,基础解决思路就可想到循环结构的使用,当然读取数据也需要适当调整延时。如图5程序框图所示,利用“结构”选板中的“For循环”、“数组”选板中的“数组大小”、“文件I/O”选板中的“创建路径”函数以及“定时”选板中的“等待(ms)”函数,将“数组大小”函数的输出作为For循环的循环总数,即实现查询路径下的全部子文件夹功能,“等待(ms)”函数设置2000即延时2秒。如GIF所示,实现子文件夹路径读取。

图5 读取子文件夹程序框图

对于子文件夹内所有文件数据读取问题,可以重复上述编程思路,利用“罗列文件夹”函数的“文件名”输出,如图6程序框图所示,利用“数组”选板中的“索引数组”函数,设置索引位置为“0”,即读取每个子文件夹中的首个文件的路径,如GIF所示,实现子文件夹下文件路径读取。

图6 读取文件数据路径

到此针对多文件夹及文件读取的路径读取思路分享完毕,此时会有朋友说了“你这不就是查了个路径嘛,说好的读数据呢,这也太水了吧”。别着急,在完成了路径读取的程序设计后,可以设计程序将数据以波形的形式展示出来。参考大神对LabVIEW读取文件数据的经验(数据读取程序),设计了读取EXCEL文件数据的子VI,此处提示一点,由于本小学生在参考大神分享的经验设计的程序读取出的数据为“字符串”形式,因此如图7所示,选择“字符串”选板下的“数值/字符串转换”选板的“分数/指数字符串至数值转换”函数,链接波形图表控件的输入端,此处适当缩减延时,以追求运行效果,仿真效果如GIF所示。

图7 数据读取程序框图

最后分享本文的仿真程序及子VI下载链接如下:
链接:
提取码:v3lv
感谢大家的支持与期待,欢迎各路大神批评指正!会不定期抽风式更新,提高自己帮助他人!