1、1,虚拟仪器技术焦瑞莉,绪论LabVIEW基础程序结构字符串、数组、簇和矩阵图表与图形文件I/O数据采集LabVIEW应用,2,授课内容,3,文件I/O,4,引子,对于一个完整的测试系统或数据采集系统,我们经常需要将硬件的配置信息写入配置文件或者将采集到的数据以一定格式存储在文件中保存数据。因此,LabVIEW提供了强大的文件I/O函数用以满足不同的文件操作需求。,5,本章内容,9.1 选择合适的文件类型9.2 文件的基本操作9.3 文本文件和表单文件9.4 二进制文件(Binary Files)9.9 基于文本的测量文件(.lvm文件)9.11 高速数据流文件(.tdms文件),6,9.1
2、选择合适的文件类型,LabVIEW支持的文件类型文本文件(Text Files) 表单文件(Spreadsheet Files)二进制文件(Binary Files) 数据记录文件(Datalog Files)XML文件 配置文件(Configuration Files) 波形(Waveform)文件 基于文本的测量文件(.lvm文件) 数据存储文件(.tdm文件) 高速数据流文件文件(.tdms文件),7,9.2 文件的基本操作,基本步骤打开-读写、操作-关闭,8,9.3 文本文件和表单文件,它将字符串以ASCII编码格式存储在文件中,譬如txt文件和Excel文件。这种文件类型最常见,可以
3、在各种操作系统下由多种应用程序打开,譬如记事本,Word,Excel等第三方软件,因此这种文件类型的通用性最强。但是相对于其它类型文件,它消耗的硬盘空间相对较大,读写速度也较慢,也不能随意的在指定位置写入或读出数据。如果需要将数据存储为文本文件必须先将数据转换为字符串才能存储。,9,9.3 文本文件和表单文件,读写文本文件VI,10,9.3 文本文件和表单文件,举例,写文本文件举例,读文本文件举例,11,9.3 文本文件和表单文件,读写表单文件VI,12,9.3 文本文件和表单文件,读写表单文件举例,写表单文件,读表单文件,13,9.4 二进制文件(Binary Files),这是最有效率的一
4、种文件存储格式,它占用的硬盘空间最少而且读写速度最快。它将二进制数据,譬如32位整数以确定的空间存储4个字节来存储,因此不会损失精度,而且可以随意的在文件指定位置读写数据。 二进制文件的数据输入可以是任何数据类型,譬如数组和簇等复杂数据,但是在读出时必须给定参考,14,9.4 二进制文件(Binary Files),写二进制文件举例,读二进制文件举例,15,9.9 基于文本的测量文件(.lvm文件),它将动态类型数据按一定的格式存储在文本文件中。它可以在数据前加上一些信息头,譬如采集时间等,可以由Excel等文本编辑器打开查看其内容。,16,9.11 高速数据流文件(.tdms文件),它将动态
5、类型数据存储为二进制文件,同时可以为每一个信号都添加一些有用的信息,譬如信号名称和单位等等。在查询时可以通过这些附加信息来查询所需要的数据。它被用来在NI各种软件之间交换数据,譬如DIAdem。它比.lvm文件占用空间更小,读写速度更快。非常适合用来存储数量庞大的测试数据。,17,9.11 高速数据流文件(.tdms文件),每一个TDMS文件以三个不同层次来存储附加信息:File、group和channel。,18,9.11 高速数据流文件(.tdms文件),写TDMS文件示例,19,9.11 高速数据流文件(.tdms文件),在TDMS File Viewer中查看文件内容,20,9.11
6、高速数据流文件(.tdms文件),TDMS 文件读操作示例,21,小试身手,1. 文本文件和二进制文件的主要区别是什么?2. 请说出下面这几种文件是文本文件还是二进制文件:数据记录文件(Datalog Files),XML文件,配置文件,波形文件,LVM文件,TDMS文件。,22,小试身手,3. 有一个测量程序,采集两路信号,每1s采集一次,要求每采集一次,就将采集结果写入文本文件尾部,即使重新运行程序,仍能保证数据添加到文件尾部,而不会覆盖原有数据。格式为a保留4位小数,b为整数,如右图所示。,23,小试身手,4. 在LabVIEW中读取刚才写入的文件内容。5. 将习题3的采集数据,采集完毕后写入表单文件,如下图所示:,24,小试身手,6. 将习题3改为实时写入表单文件,添加一列日期时间以反映真实的采样时间,并在第一行包含每列的描述信息,如下图所示。,25,小试身手,7. 将右图所示的控件数据写入二进制文件,并用另一个VI将其读出查看。,26,小试身手,8. 用Simulate Signal Express VI仿真产生一个采样100000点的正弦仿真信号,并将其写入TDMS文件,要求同时为该通道设置两个描述属性:频率和采样间隔。,