2022年文件输入输出宣贯 .pdf
《2022年文件输入输出宣贯 .pdf》由会员分享,可在线阅读,更多相关《2022年文件输入输出宣贯 .pdf(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第 10 章 文件输入输出10.1 LabVIEW的文件输入输出简介10.1.1 LabVIEW的文件输入输出基本操作10.1.2 LabVIEW输入输出文件的格式10.1.3 参考数10.2 LabVIEW的文件输入输出函数和VI 10.3 文本文件的输入输出10.4 电子表格格式的文本文件的输入输出10.5 二进制文件的输入输出10.5.1 使用高层VI 保存二进制文件10.5.2 使用低层函数保存二进制文件10.5.3 读取二进制文件在这个程序中,10.5.4 二维数组二进制输入输出10.6 数据记录文件输入输出10.6 波形文件输入输出名师资料总结 - - -精品资料欢迎下载 - -
2、- - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 14 页 - - - - - - - - - 第 10 章 文件输入输出10.1 LabVIEW的文件输入输出简介10.1.1 LabVIEW 的文件输入输出基本操作LabVIEW的文件输入输出操作包括三个基本步骤:打开一个已存在的文件或创建一个新文件;对文件读或写;关闭文件。除此之外, LabVIEW 的文件操作还包括以下几个方面的内容:文件或路径的改名与移动改变文件特征创建、修改与读取系统设置文件记录前面板对象数据10.1.2 LabVIEW 输入输出文件的格式LabV
3、IEW支持 4 种格式的文件。1. 文本文件这种格式的文件是ASCII 码字节流,可以用字处理软件或电子表格程序,例如word或 excel 来读取或处理数据。大部分仪器控制命令也是使用文本字符串。它的缺点是所占的磁盘空间大,存取速度慢。例如,对于一个浮点数123.4567,如果按一个单精度浮点数存储,只占用4 个字节;但是如果按ASCII 码字符串存储,因为它有 9 个字符,就需要占用9 个字节。此外,对于文本文件,不能随机的访问其中的某个数据。虽然文本文件中每个字符正好占一个字节,但是不同的数字占用字节数是不同的。这样要找到文件中某个位置上的数据,就得把它前面的数据都读出来,并且转换为数字
4、,才能找到需要的数据。文本文件读写过程中由于存在着十进制 文本文件 二进制的转换问题,还有精度损失的问题。2. 二进制文件这是存取速度最快,格式最紧凑的数据存储方式。存取二进制格式文件必须把数据转换为二进制字符格式,并且必须准确掌握存取数据所用的数据类型。二进制格式的数据文件使用固定的字节长度存储1 到 4,000,000 之间的任何一个数据,这样节省了存储空间,还可以随机的访问文件中任何一个数据。有许多种数据类型都可以存为二进制格式的文件,但是它们不能通用。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - -
5、- - - - - 第 2 页,共 14 页 - - - - - - - - - 3. 数据记录文件这也是二进制格式文件,但是只有G 语言可以读取或处理。数据记录文件类似于数据库文件,因为它以记录的形式存放数据,一个记录中可以存储几种不同类型的数据。向数据记录文件写数据时,每一个记录就是一个簇。不仅可以在图形代码中访问数据记录文件,还可以在前面板上访问它。4. 波形数据文件这种文件包含了波形数据特有的一些信息,例如采样起始时间、采样间隔等。10.1.3 参考数参考数 refnum 是一种数据类型。每当打开一个文件,G 语言就返回一个与此文件相联系的参考数。对于打开的文件的各种操作、当前读文件的
6、位置、其它用户访问文件的权限等许多信息都用参考数来标识。参考数只在文件打开时是有效的。文件关闭以后, G语言就取消参考数与文件的联系。此后如果再次打开这个文件,G 语言返回一个新的参考数,很可能与上次使用的参考数不同。如果多次打开一个文件,每次打开都会返回一个不同的参考数。10.2 LabVIEW的文件输入输出函数和VI LabVIEW 提供了一套功能强大而又方便灵活的文件操作函数和VI ,它们位于File I/O 子模板和 WaveformWaveform File I/O子模板 ,分别用于数据文件操作和波形文件操作。图 10-1 LabVIEW 的文件输入输出函数子模板LabVIEW的文件
7、输入输出函数大体上分为三个层次。1高层的文件操作高层文件操作VI 建立于低层函数之上,与错误检查和处理相结合,执行打开或创建高层文件操作VI 低层文件操作函数高级文件操作函数二进制文件操作VI 子模板名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 14 页 - - - - - - - - - 文件,读或写文件,关闭文件的全部过程。这一组VI 包括:写电子表格格式文件VI Write to Spreadsheet File。读电子表格格式文件VI Read from Spr
8、eadsheet File。写字符串文件VIWrite Characters to File 。读字符串文件VIRead Characters from File 。按行读字符串文件VI Read lines from File 。以下 VI 位于二进制文件操作子模板Binary File VIs 。读 16 位整型数文件VIRead from I16 File 。写 16 位整型数文件VIWrite to I16 File 函数。读单精度浮点数文件VI Read from SGL File 。写单精度浮点数文件VI Write to SGL File 。2. 常用的低层文件操作函数和VI 打
9、开 /创建 /替换文件VI Open/Creat/Replace File 读文件函数 Read File。写文件函数 Write File 。关闭文件函数 Close File 。3.用到的可能性比较大的高级文件操作函数打开文件函数 Open File。创建新文件函数New File 。访问权限设置函数Access Rights。移动文件或路径函数Move。复制文件或路径函数Copy。删除文件或路径函数Delete。创建新路径函数New Directory 。4. 波形文件操作VI 它们也应归于高层文件操作VI,包括:写波形文件VIWrite Waveforms to File 。读波形文件
10、VIRead Waveforms From File 。输出电子表格格式文件VI Export Waveforms to Spreadsheet File 。图 10-2 LabVIEW 的波形文件输入输出函数子模板名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 14 页 - - - - - - - - - 10.3 文本文件的输入输出保存文本文件首先要将数据转换为字符串。1. 使用高层 VI 保存文本文件图 10-3 高层 VI 保存文本文件在图 10-3 的图形代码中
11、, 程序每循环一次产生一个随机数;用格式化字符串的Format into String VI将这个随机数与幅值相乘的结果转换为字符串;Format into String VI的格式化字符串参数format string设置为 %.3f (f 后面键入 2个空格 ,表示转换后保留3 位小数,每个数后留2 个空格)。最后使用写字符串文件的Write Characters to File VI把合成的字符串保存到C 盘根目录下,file 文件夹里,名为f1 的文件中。 Write Characters to File VI的 append to file? 参数在程序中被设置为T,即如果系统中没有
12、这个文件就建立这个文件,如果存在这个文件就向文件后面追加数据。运行这个程序后,用Windows 的记事本程序打开C 盘根目录下file 文件夹中名为f1的文件,会看到一些带3 位小数的数字字符,每两个字符之间隔两个空格。由于 Write Characters to File VI是一个高层的文件操作VI ,每调用它一次, 都执行打开文件、写文件、关闭文件的操作,所以如果需要向文件中连续写数据,这样做效率是很低的。下面的程序使用低层文件操作函数完成同样的任务,但是可以极大的提高效率。2. 使用低层函数和VI 保存文本文件图 10-4 的程序调用了低层文件操作VI Open/Creat/Repla
13、ce File,这个 VI 的文件路径参数 file path 如果不连接,则程序运行后弹出一个对话框询问操作者保存文件的路径和名称。程序中连接了这个参数, 并且将这个函数的功能参数function 设置为 open or create。这样程序开始运行时,先在C 盘根目录下file 文件夹中创建一个名为f2 的文件;如果这个文件已经存在就打开它。Open/Creat/Replace File VI 返回一个参考数refnum,标识打开的文件。写文件函数Write File 的位置模式参数pos mode 设置为 end ,使得新的数据追加在文件末尾。按下停止键后程序退出循环,调用关闭文件函数
14、Close File 关闭文件。如果程序运行中出现错误, 最后简单错误处理VI Simple Error Handler .vi 会弹出一个对话框名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 14 页 - - - - - - - - - 提示操作者。图 10-4 低层函数和 VI 保存文本文件在这个程序执行过程中,文件一直处于打开状态,避免了每次写文件前后程序都要与计算机操作系统交互操作去打开文件和关闭文件。这样提高了程序执行的效率。这种方式叫做磁盘流技术。3. 读取文
15、本文件中的数据图 10-5 读取文本文件的数据图 10-5 的程序调用了高层文件操作VI Read Characters from File 读取文本文件中的数据。这个 VI 的输入参数由操作者在前面板进行设置。文件路径与文件名file path 参数如果不输入,则弹出一个对话框向操作者询问;读取数据点数number of characters参数确定每次读取的字符数;开始读数位置start of read offset 参数决定由第几个字符开始读数。Stringstring/Number Conversion函数子模板的字符串转换数据函数Fract/Exp String to Number
16、将每次读出的字符串最前面能够转换为有意义数据的一部分转换为一个浮点数。例如,数据字符串中第一个空格前或第二个空格(字符串开始于一个空格时)前的一部分。可以想象,这种方法可以将数据文件中所有字符都转换为数据。这个程序每读一次数据后就处于等待状态,如果按下继续键后就再次读数,如果按下停止键就退出循环。这个程序同样存在每次读数都要打开和关闭文件的问题,要避免这个问题,就使用低层函数。10.4 电子表格格式的文本文件的输入输出1写电子表格格式的文件电子表格格式的文件是一种特殊的文本文件,为了便于像Excel 这样的电子表格程序名师资料总结 - - -精品资料欢迎下载 - - - - - - - - -
17、 - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 14 页 - - - - - - - - - 对文件进行访问,文件对格式做了一些要求,例如用制表位符号做列标记、用行尾符号做行标记。图 10-6 低层函数和 VI 保存电子表格格式文本文件图 10-6的程序与图10-4的程序不同之处只在于保存文件输入的字符串中加入了制表位符号 Tab Constant 和行尾符号End of Line Constant 。程序运行结束后,在C 盘根目录下file 文件夹中生成名为c1 的电子表格文件。打开这个文件,在Excel 程序中可以看到两列数据,一列序号,另一
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年文件输入输出宣贯 2022 文件 输入输出
限制150内