机械与电气工程学院(C)2008第7章数据记录与回放数据记录与回放概述文本文件电子表格文件二进制文件数据记录文件波形文件前面板数据记录测量文件配置文件TDM和TDMS文件操作7-1数据记录与回放概述数据的记录与回放是测试系统必需的基本功能,采用文件的形式记录与回放测试数据满足大多数应用场合的需要,具有方便灵活和成本低廉的特点。LabVIEW支持多种数据格式的文件,用于测试数据的记录与回放。对于海量数据的存储与自动化管理需要数据库的支持,NI公司提供专门的工具包用于LabVIEW与数据库链接。本章主要介绍文件输入输出函数和VI的概念与应用。7-1数据记录与回放概述文件输入输出函数是一组功能强大、伸缩性强的文件处理工具。它们不仅可以读写数据,还可以移动、重命名文件与目录。创建电子表格格式的、由可读的ASCII文本组成的文件,以及为了提高读写速度和压缩率采用二进制的格式写入数据。7-1-1选择数据记录与回放的文件格式1.文本文件ASCII字节流——如果希望让其他的软件(譬如字处理程序或者电子表格程序)也可以访问数据,就需要将数据存储为ASCII格式。缺点:空间大、速度慢、不能随机访问、精度损失问题。7-1-1选择数据记录与回放的文件格式2.二进制文件二进制字节流——这种文件的格式是最紧凑、最快速地存储文件的格式。必须把数据转换成二进制字符串的格式,还必须清楚地知道在对文件读写数据时采用的是哪种数据格式。7-1-1选择数据记录与回放的文件格式3.数据记录文件这也是二进制格式文件,它存储复杂结构的数据最简单快捷,而且很容易随机访问数据。数据记录文件类似于数据库文件,因为它可以把不同的数据类型存储到同一个文件记录中。每个记录就是一个簇。7-1-1选择数据记录与回放的文件格式4.波形文件专门用来存储波形数据,这种文件包含了波形数据特有的一些信息,例如采样起始时间、采样间隔等。5.测量文件一种以制表位Tab分隔的文本文件,以.lvm为扩展名,由ExpressVI存取,除了数据以外,还包括生成数据的日期、时间等信息。7-1-1选择数据记录与回放的文件格式6.TDM文件和TDMS文件TDM(TechnicalDataManagement技术数据管理)是NI公司为不同平台之间交换技术信息定义的一种数据模型,它通过附加信息使数据查询和管理更加方便。7-1-2数据记录与回放的基本操作LabVIEW记录与回放数据包括三个基本步骤:1、打开一个已存在的文件或创建一个新文件;2、对文件读或写;3、关闭文件。7-1-2数据记录与回放的基本操作LabVIEW的文件操作还包括以下几个方面的内容:文件或路径的改名与移动;改变文件特征;创建、修改与读取系统设置文件;记录前面板对象数据;7-1-3文件输入输出函数⑴读取电子表格文件VI;⑵写入电子表格文件VI;⑶关闭文件函数;⑷打开/创建/替换文件函数;⑸读取文本文件函数;⑹写入文本文件函数;⑺拆分路径函数;⑻创建路径函数;⑼存取TDM文件的ExpressVI;⑽TDMS流函数子选板;⑾写入测量文件ExpressVI;⑿读取测量文件ExpressVI;⒀格式化写文件函数;⒁扫描文件函数;⒂写入二进制文件函数;⒃读取二进制文件函数;⒄文件常量;⒅操作配置文件的VI子选板;⒆用于压缩文件的VI子选板;⒇高级文件函数7-2文本文件操作权限7-2文本文件7-2文本文件7-2文本文件1.保存文本文件简单示例1:将字符“ABCD”写入c:\test.txt7-2文本文件1.保存文本文件简单示例2:将当前日期和时间写入c:\test.txt7-2文本文件1.保存文本文件简单示例3:将PI=3.1415926…保留4位小数并写入c:\test.txt7-2文本文件1.保存文本文件例:将100个随机数存放到一个文本文件中,每个数据保留三位小数,且数据之间用两个空格分隔。7-2文本文件1.保存文本文件7-2文本文件1.保存文本文件7-2文本文件1.保存文本文件格式化写入文件用于将字符串按照格式要求写入文件。该VI打开这个文件、写入数据,再关闭文件。7-2文本文件1.保存文本文件格式化写入文件7-2文本文件2.读取文本文件从指定文件中读取指定个字节的数据。数据字节数由“计数”参数确定。7-2文本文件2.读取文本文件用于设定文件指针位置。该指针位置由起始位置和偏移量共同确定。7-2文本文件2.读取文本文件7-2文本文件2.读取文本文件举例:7-2文本文件2.读取文本文件举例:7-2文本文件2.读取文本文件——扫描文本文件7-2文本文件2.读取文本文件——扫描文本文件7-3电子表格文件电子表格格式文件是种以特定格式存储的文本文件。将数据存储到文件的最常见应用之一是设置文本文件的格式以便在电子表格文件中打开它。大多数电子表格文件用Tab键分割各列,而用EOL(段尾)分隔各行,如下图所示。7-3电子表格文件大多数电子表格文件用Tab键分割各列,而用EOL(段尾)分隔各行,如下图所示。7-3电子表格文件用一个电子表格程序(如Excel)打开该文件可以看到下面这个表格。7-3电子表格文件1.写电子表格的文件用于将由单精度数值组成的一维或者二维数组转换成文本字符串,再将它写入一个新建文件或者已有文件。该VI先打开或者新建文件,之后再关闭文件。它可以用于创建能够被大多数电子表格软件读取的文本文件。7-3电子表格文件1.写电子表格的文件举例:如图7-6,将10行2列数写入.xls文件,第1列为序号,第2列为随机数。7-3电子表格文件2.读电子表格文件用于从某个文件的特定位置开始读取指定行的内容,再将数据转换成数组。该VI先打开文件,之后再关闭文件。它可以用于读取用文本格式存储的电子表格文件。7-3电子表格文件2.读电子表格文件7-4二进制文件7-4-1保存二进制文件7-4二进制文件7-4-1保存二进制文件写入二进制文件函数简单用法7-4二进制文件7-4-1保存二进制文件写入二进制文件函数高级用法7-4二进制文件7-4-2读取二进制文件7-4二进制文件7-4-2读取二进制文件读取二进制文件函数简单用法7-4二进制文件7-4-2读取二进制文件读取复杂数据的二进制文件7-5数据记录文件数据记录函数子选板7-5数据记录文件保存数据记录文件下图的程序将当前系统时间、采样率、和正弦波信号的数据保存为一个数据记录文件。图中椭圆框内的部分用来创建文件路径。图中椭圆框以外的图形代码是保存数据记录文件的程序代码7-5数据记录文件读取数据记录文件7-5数据记录文件读取的数据记录7-6波形文件保存波形文件波形数据可以保存为数据记录文件或电子表格文件。7-6波形文件读取波形文件7-7前面板数据记录LabVIEW可以将程序前面板所有控件显示的当前数据值记录下来。前面板数据保存在一个数据记录文件中。使用前面板数据记录的方法可以把所有前面板对象当前数据一次记录下来。使用这种方法的好处是数据存取十分方便;但是它不能连续记录数据,而且不能选择数据记录的对象。7-7-1记录前面板数据记录前面板数据的方法是使用菜单命令“操作—结束时记录”或“操作—数据记录—记录…”7-7-2读取前面板记录数据1.在前面板上读取记录的数据读取前面板数据最基本的方法是在原来的程序上把数据读回来。在程序停止运行后使用菜单命令“操作—数据记录—获取…”,则前面板所有对象都显示数据记录文件中一条记录的数据,并且前面板工具条会变为下图所示。7-7-2读取前面板记录数据2.在程序中读取前面板数据记录7-8测量文件写测量文件ExpressVI的配置对话框7-8测量文件写测量文件程序框图程序中用“写入测量文件”ExpressVI把“仿真信号”ExpressVI生成的数据写进一个测量文件。7-9配置文件标准的Windows配置文件扩展名为.ini。配置文件包含硬件或应用程序参数配置的某些信息,用于启动时初始化。配置文件是一种特定格式的文本文件。文件分为一些段,段名不能重复;每段包含若干成对的键名与键值,键名表示配置项,键值表示对配置项的设置。在同一段内,键名也不能重复。示例如下:[Section1]key1=valuekey2=value[Section2]key1=valuekey2=value7-9配置文件读配置文件LabVIEW提供了一组配置文件操作的VI,在“编程—文件I/O—配置文件VI”函数子选板中。下面通过例子说明这些VI的应用方法。下图所示的程序可以读出LabVIEW配置文件中关于前面板默认字体的设置。7-9配置文件写配置文件7-10TDM和TDMS文件操作TDM数据模型便于在LabVIEW、LabWindows/CVI等NI公司不同软件开发平台之间交换数据,也可以通过下载免费的插件在Excel中加载和使用TDM数据;并且由于TDM数据模型的层次化结构和不同层次的属性设置,非常方便数据的查询。在TDM数据模型中,每个文件有一个唯一的“根”和数目不限的“组”,每个组有数目不限的通道。允许用户为根、组和通道添加数目不限的属性。TDM数据模型包括TDM和TDMS两种格式的文件。7-10TDM和TDMS文件操作TDM数据模型7-10-1TDM文件TDM格式的文件包括一个后缀名为“.tdx”的数据文件和一个后缀名为“.tdm”的属性文件。属性文件是一个基于XML的文件。下图为简单的保存TDM文件的例子7-10-1TDM文件“数据存储格式”可以选择TDM文件或TDMS文件;“数据存储参数”填写默认的保存文件位置;“覆盖选项”是打开数据存储的方式7-10-1TDM文件写入数据配置对话框7-10-1TDM文件读取TDM文件数据7-10-1TDM文件读取TDM数据配置对话框7-10-2TDMS文件TDM流函数子选板7-10-2TDMS文件写TDMS文件7-10-2TDMS文件TDMS文件查看器7-10-2TDMS文件读TDMS文件7-10-2TDMS文件读回的TDMS文件数据练习与思考7.1产生若干个周期的正弦波数据,以当前系统日期和自己的姓名为文件名,分别存储为文本文件、二进制文件和电子表文件。7.2分别用Windows记事本、Excel和LabVIEW程序将习题7.1存储的数据文件读出来。7.3将一组随机信号数据加上时间标记存储为数据记录文件,然后再用LabVIEW程序将存储的数据读出并显示在前面板上。7.4产生矩形脉冲数据并记录为波形文件。7.5编一个程序将图7-24的程序保存的文件中各项数据读回来。7.6将一个方波波形保存为TDMS文件,加上文件名属性。将本题TDMS文件数据正确读回,用波形图显示。7.31、存储程序7.31、存储程序7.31、读取程序7.31、读取程序