当前位置:首页 > 工业控制 > 电子设计自动化
[导读]在LabVIEW程序设计中,常常需要调用外部文件数据,同时也需要将程序产生的结果数据保存至外部文件中,这些都离不开文件I/O操作。文件IiO操作是LabVIEW和外部交换数据的重要方式。 文件I/O的基本概念和术语 在文件I/O

在LabVIEW程序设计中,常常需要调用外部文件数据,同时也需要将程序产生的结果数据保存至外部文件中,这些都离不开文件I/O操作。文件IiO操作是LabVIEW和外部交换数据的重要方式。

文件I/O的基本概念和术语

在文件I/O中会用到一些相关的概念和术语,包括文件引用旬柄、文件格式、流程控件、流盘等。
1.文件路径

文件路径分为绝对路径和相对路径。绝对路径指文件在磁盘中的位置,LabVIEW可以通过绝对路径访问在磁盘中的文件;相对路径指相对于一个参照位置的路径,相对路径必须最终形成绝对路径才能访问磁盘中的文件。LabVIEW中,路径可以是有效的路径名、空值或非路径。非路径是LabVIEW提供的一种特殊的路径,是在路径操作失败时的返回值。

2.文件引用句柄

文件引用句柄是LabVIEW对文件进行区分的一种标识符,用于对文件进行操作。打开一个文件时,LabVIEW会生成一个指向该文件的引用句柄,对打开的文件进行的所有操作均使用引用句柄来识别每个对象。引用旬柄控件用于将一个引用旬柄传进或传出Ⅵ。LabVIEW通过文件路径访问到文件后,为该文件设置一个文件引用句柄,以后通过此句柄即可对文件进行操作。文件引用句柄包含文件的位置、大小、读写权限等信息。

3.文件I/O格式

文件I/O格式取决于所读写的文件格式。LabVIEW可读写的文件格式有文本文件、二进制文碉 i数据记录文件3种。使用何种格式的文件取决于采集和创建的数据及访问这些数据的应用程序。

(1)文本文件。

文本文件是最便于使用和共享的文件格式,几乎适用于任何计算机。许多基于文本的程序可读取基于文本的文件。多数仪器控制应用程序使用文本字符串。

如果磁盘空间、文件I/0操作速度和数字精度不是主要考虑因素,或无需进行随机读写,可以便用文本文件存储数据,以方便其他用户和应用程序读取文件。

若要通过其他应用程序访问数据,如文字处理或电子表格应用程序,可将数据存储在文本文件中。

如需将数据存储在文本文件中,使用字符串函数可将所有的数据转换为文本字符串。文本文件可包含不同数据类型的信息。

如果数据本身不是文本格式(如图形或图表数据),∶扫于数据的ASCII码表示通常要比数据本身大,因此这种情况下文本文件要比二进制和数据记录文件占用更多内存。

(2)二进制文件。

二进制文件可以用来保存数值数据并访问文件中的指定数字,或随机访问文件中的数字。与人可识别的文本文件不同,二进制文件只能通过机器读取。

二进制文件是存储数据最为紧凑和快速的格式。这种文件占用较少的磁盘空间,且存储和读取数据时无需在文本表示与数据之间进行转换,因此二进制文件效率更高。

二进制文件可在1字节磁盘空间上表示256个值。除扩展精度和复数外,二进制文件中含有数据在内存中存储格式的映象。因为二进制文件的存储格式与数据在内存中的格式一致,无需转换,所以读取文件的速度更快。

文本文件和二进制文件均为字节流文件,以字符或字节的序列对数珲进行存储。

(3)数据记录文件。

数据记录文件以相同的结构化记录序列存储数据(类似于电子表格),每行均表示一个记录。数据记录文件中的每条记录都必须是相同的数据类型。LabVIEW会将每个记录作为含有待保存数据的簇写入该文件。

字符串和文件

每个数据记录可由任何数据类型组成,并可在创建该文件时确定数据类型。数据记录文件只需进行少量处理,因而其读写速度更快;数据记录文件将原始数据块作为一个记录来重新读取,无需读取该记录之前的所有记录,因此简化了数据查询的过程;仅需记录号就可访问记录,因此可更快更方便地随机访问数据记录文件。

创建数据记录文件时,LabVIEW按顺序给每个记录分配一个记录号。每次运行相关的VI时,LabVIEW会将记录写入数据记录文件将记录写入数据记录文件后,将无法覆盖该记录。读取数据记录文件时,可一次读取一个或多个记录。

LabVIEW还提供了独特的测量文件格式。测量文件包括基于文本的测量文件(lvm文件)和二进制测量文件(tdm文件、tdms文件)。

基于文本的测量文件(.lvm文件)包括由写入测量文件Express VI生成的数据。该文件是用制表符分隔的文本文件,可在电子表格应用程序或文本编辑应用程序中打开。.lvm文件不仅包括由Express VI生成的数据,还包括该数据的相关信息,如生成数据的日期和时间等。在,lvm文件中,LabVIEW保存的数据精度可高达6位数。lvm文件用逗号作为数字的分隔符。如需将.lvm文件中的数据从字符串转化为数值,可用本地化代码格式说明符将句点指定为小数点分隔符。

二进制测量文件(.tdms文件和.tdm文件)包括由写入测量文件Express VI或存储VI生成的数据。.tdm文件通过基于XML的格式保存波形属性,及包含该波形数据的二进制文件的链接。二进制格式的.tdm文件在浮点数字上更为精确、占用磁盘空间更小,运行速度也比LabVIEW测量数据文件(.lvm)更快。

4.文件I/O流程控制

文件I/O流程控制保证文件操作按顺序依次执行。文件I/O操作过程中,一般有一对保持不变的输入、输出参数,用来控制程序流程。文件标识号就是其中之一,除了区分文件外,还可以进行流程控制。将输入、输出端口依次连接起来,可保证操作按顺序依次执行,实现对程序流程的控制。

5.文件I/O出错管理

文件I/O出错管理反映文件操作过程中出现的错误。LabVIEW对文件进行I/O操作时,一般提供一个错误输入端和一个错误输出端用来保留和传递错误信息。错误数据类型为一个簇,包含一个布尔量(判断是否出错)、一个整型量(错误代码)和一个字符串(错误和警告)。在程序中,将所有错误输入端和错误输出端依次连接起来,任何一点的出错信息就可以保留下来,并依次传递下去。在程序末端连接错误处理程序,可实现对程序中所有错误信息的管理。

6.流盘

流盘是一项在进行多次写操作时保持文件打开的技术,如在循环中使用流盘。流盘操作可以减少函数因打开和关闭文件与操作系统交互的次数,从而节省内存资源;流盘操作避免对同一文件进行频繁的打开和关闭,可提高Ⅵ效率。

如果将路径控件或常量连接至写入文本文件、写入二进制文件或写入电子表格文件函数,则函数将在每次函数或Ⅵ运行时打开、关闭文件,增加了系统占用。对于速度要求高,时间持续长的数据采集,流盘是一种理想的方案,因其在数据采集的同时将数据连续写入文件中。

为获取更好的效果,在采集结束前应避免运行其他VI和函数(如分析VI和函数等)。在循环之前放置打开创建/替换文件函数,在循环内部放置读或写函数,在循环之后放置关闭文件函数,即可创建一个典型的流盘操作。此时只有写操作在循环内部进行,从而避免了重复打开、关闭文件的系统占用。



来源:ks993次

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

下面的项目包括一个机器人完成各种任务。这是通过在机器人上使用和实现各种传感器来完成的。机器人能够在一个封闭的区域内移动,收集球,并在最后的一个点上放下球。机器人将绘制出它去过的位置和该区域内的障碍物。

关键字: 传感器 机器人 LabVIEW

在Linux操作系统中,文件操作是进程与存储系统交互的重要方式。对于同一个文件,一个进程是否可以在其生命周期内多次调用open函数打开它,并进行读写操作呢?答案是肯定的。本文将深入探讨这一机制,并通过代码示例展示如何在进...

关键字: 文件 Linux 操作系统

在嵌入式Linux系统中,文件属主(Owner)与属组(Group)是文件系统权限管理的基础。它们决定了哪些用户或用户组可以访问、修改或执行特定的文件或目录。这种权限控制机制不仅有助于保护系统的安全性,还能确保只有授权的...

关键字: 嵌入式Linux 文件

在嵌入式Linux开发中,对文件系统的深入理解和操作是至关重要的。Linux系统以其灵活性和强大的文件管理功能而著称,支持多种文件类型以满足不同的需求。本文将详细探讨Linux系统中的文件类型,并通过实例代码展示如何识别...

关键字: 嵌入式Linu Linux系统 文件

在嵌入式系统开发中,文件操作是一项基础且重要的功能。它允许程序读取、写入、修改存储在存储设备上的数据,如配置文件、日志文件、数据库等。由于嵌入式系统资源有限,文件操作通常需要高效且可靠。本文将通过一个实例,深入探讨嵌入式...

关键字: 嵌入式开发 C语言 文件

NI提供的软件包经济省时,不仅帮助开发人员节省时间,还为创客提供了新的机遇

关键字: LabVIEW 自动化测试系统

强大的图形化编程工具使整个测试和测量过程的各个方面实现可视化

关键字: LabVIEW 图形化编程工具

摘要:对于每一型新机试飞,或者是重大的研究性试飞和验证试飞,都必须实施遥测监控。现基于TTS(TextToSpeech)语音合成技术,结合飞行试验遥测监控系统的不足,利用TTS引擎在LabVIEW开发环境下设计并实现了遥...

关键字: 飞行试验遥测监控系统 TTS LabVIEW

在科研以及应用软件领域,LabVIEW和MATLAB作为比较常用的2款工具,相信很多人都用过吧。简单的概括一下,LabVIEW侧重测试测量和数据采集,MATLAB侧重科学计算和数据分析。

关键字: LabVIEW matlab 混合编程

摘要:利用单片机和虚拟仪器LabVIEW在PC端设计了温湿度测量及控制系统,用于温湿度数据监测。该系统上位机为PC端监控界面,下位机为单片机,单片机采集温湿度数据,并将采集到的数据通过串口发送给监控界面进行监测和管理。该...

关键字: DHT11 LabVIEW 单片机
关闭