LabVIEW中文本文件的存储与读取方法
背景
在软件开发中,数据文件的存储与读取操作一般是必不可少的环节。存取数据的文件格式大致可分为两大类,分别是文本格式和二进制格式,其中,文本格式(或叫ASCII码文件)通用性强、直观,但占用空间比较大,存取速度比较慢,而二进制文件存取速度快、占用空间小,但通用性差,用户需要知道存储数据的数据类型,才可以准确还原文件内容。
这次通过例子说下在LabVIEW平台中关于文本文件的读写操作方法。
例1:最简单的一个例子
例子要求:将字符串“我爱LabVIEW!”以文本文件的格式存储到计算机的D盘上,文件名称为“a.txt”,存储完成后,立即读出该文件内容,并显示到前面板的字符串控件上。
程序运行后界面如下图所示:
实现代码如下:
代码中先后使用了“打开/创建/替换文件”、“写入文本文件”、“设置文件位置”、“读取文本文件”和“关闭文件”等函数,可以看出,LabVIEW中文本文件操作的编程方式同其它如C/C 语言类似,遵循着下面的三个步骤:
- 打开文件
- 读写文件
- 关闭文件
需要说明的是,在上面代码中,“写入文本文件”与“读取文本文件”两个函数之间使用“设置文件位置”函数,其原因是,将内容写入文本文件这步操作执行完毕后,当前文件的指针位于文件的末尾,若此时直接读取文件内容,将从文件的末尾读取,读取的内容当然为空了,所以此时在不执行“关闭文件”的操作下,必须手动使用“设置文件位置”函数将文件当前指针移动到文件的开始位置。
例2:实用的一个例子
该例子模拟一个实际的数据采集与存取场景。在例子中产生一个正弦波形数据,然后将波形数据以文本文件的格式存储到计算机的D盘上,文件名称为“b.txt”,波形数据点数为500点,采样频率为1000Hz,正弦信号频率10Hz,幅值为5,文件中不仅包含了每个采样点的数据值,也包含了采样间隔信息。同样,在存储完成后,立即读出该文件内容,将波形数据显示到前面板的波形图控件上。
先看下程序运行后的界面:
存储的文件内容如下:
实现代码如下:
整体操作步骤同前例相同,依照着打开文件、读写文件、关闭文件的顺序执行。
在波形数据存储方面,代码中使用“正弦函数”输出一个正弦波形数据,在波形数据中抽取出采样间隔dt和采样数据Y,然后将采样数据Y使用“数组至电子表格字符串转换”函数将其转换为字符串,接着使用“格式化写入字符串”函数将所有内容转换为字符串,最后使用“写入文本文件”函数即可将采样间隔和采样数据写入文本文件中。
在波形数据读取方面,首先将文件指针移动到文件开始位置,使用“读取文本文件”函数将文件所有内容读出为一个字符串,然后在字符串中使用“扫描字符串”函数先将采样间隔dt抽取出来,然后使用“电子表格字符串至数组转换”函数将剩下的内容读出为二维的double型数组,索引第0列即为采样数据Y的值,最后将dt和Y组合成一个波形数据输出到波形图控件上进行显示即可。
结论
文本文件的读写操作,在图形化的编程语言LabVIEW平台上实现,相对于其它高级编程语言如C/C 来讲,由于LabVIEW中对文件操作类的函数进行了高度封装,因此,在编程难度上要低的多,具有较高的开发效率。
大家加关注并私信回复:LabVIEW006,可获取该文章对应的LabVIEW原程序下载。
欢迎加关注,共同交流。