跳到主要内容

存储

文本文件和二进制数据文件

测试程序中采集到的数据常常需要被保存到磁盘上以供将来查阅。

要保存文件,首先得考虑是保存成文本文件还是二进制数据文件。这两种文件的主要区别在于文本文件可以直接打开供人阅读,但效率较低,占用较大的存储空间;二进制数据文件人眼无法直接看懂,但效率高。所以对于那些数据量不大但常常需要打开观看的文件,比如程序的配置信息,测试的结论等数据可以以文本文件方式保存。而数据量较大的文件,比如采集到的信号,就应该使用二进制文件保存。

不论采用哪种方式,都应该首先考虑保存为 LabVIEW 已经支持的文件格式,而不是自己再重新设计新的文件格式。这样可以保证文件存储的合理性,也能加快开发速度。LabVIEW 对各种文件的支持可以在函数选板 "编程 -> 文件 I/O" 中找到。

文本文件

LabVIEW 支持的最常用的两种文件格式是 INI 文件格式和 XML 文件格式。INI 文件的格式非常简单,通常用来保存配置信息。INI 文件每一行是一个条目,每个条目由一个名称和一个值组成。INI 文件最大的优势就是使用简单。一般一个程序可能会有几十至几百条配置信息需要保存,比如界面的位置、用户选择的默认值等。这些信息都可以使用 INI 文件来保存。工作在 Windows 系统下的应用程序可能倾向于把这些配置信息保存在注册表中。但是考虑到跨平台的需要,使用 INI 文件的移植性更好一些。

INI 不适合用来保存复杂的信息。比如保存一组具有多个层次关系的数据:某公司有多个工厂,每个部门有多条生产线,每条生产线有多个产品,每个产品又有序列号,生产日期等多种信息。保存这类层次结构较多的数据可以使用 XML 文件格式。XML 文件的缺点是使用起来较为复杂。

二进制数据文件

二进制数据文件无法直接打开来阅读,所以不必关心它在磁盘上具体是以什么样的格式存在的。LabVIEW 提供了一种比较高效的专门用于信号数据存储的文件格式:TDMS。由于它的数据存储格式设计合理,采用 TDMS 格式可以在采集数据的同时就将其保存至硬盘。在需要时,还可以迅速读回所需的数据。对于使用者来说,并不需要了解 TDMS 格式的详情,只要熟悉其相关函数的用法即可。有关 TDMS 的函数使用起来也非常直观,它们位于 "编程 -> 文件 I/O->TDM 流" 函数选板,常用的函数如写入、读取等,仅从名字就可以猜到其功能。

有时候可能会出现这种情况,在观察 VI 前面板时发现当前的数据,比如刚刚显示的某波形非常有价值,需要保存下来。像这种临时发生的存储数据的需求显然无法通过编程解决。这时,可以在 VI 前面板的菜单中选择 "操作 -> 数据记录 -> 记录",把当前界面上所有的数据保存在一个二进制数据文件中。下次需要查看数据的时候,打开同一 VI 的前面板,选择菜单 "操作 -> 数据记录 -> 获取",就可以把文件中的数据再读回到 VI 的控件中去。

数据库

LabVIEW 有专门的连接数据库工具,帮助用户在 LabVIEW 中读写数据库中的数据。借助 LabVIEW 的数据库连接工具,用户不需要深入理解数据库的各种概念,就可以非常方便地把数据存入或从数据库中取出。

数据库用于管理相互之间有关联的、可以以表格方式表示的数据。数据库的一大优点是查找数据方便。但通常测试程序每次产生的原始数据之间关联度不大,而且很少需要搜索曲线中某一数据,所以简单的测试数据一般无需保存至数据库。数据库的另一优点是可以统一管理数据。比如,一家公司可以有一个公共的数据库,所有的测试数据都保存在数据库中。

生成报表

测试程序结束后,往往需要以书面报告的形式将测试结果呈交给用户。LabVIEW 可以生成 4 种报表格式:标准、HTML、Word、Excel 格式。其中 Word 和 Excel 格式只有在安装 LabVIEW 报表生成工具后才能使用。为了打印出专业美观的报表,可以首先生成 Word 或 Excel 格式的文件;然后在 MS Office 软件中打开生成的报表,检查一下,对格式不理想的地方稍作修改;再在 Office 中直接打印报表。

生成报表的工作没有太大难度,但相当繁琐。在生成 Word 或 Excel 格式报表时,如果报表中的内容和格式完全采用编程实现,工作量将相当巨大。所以,可以首先为报表制作一个模板:用 MS Office 软件设计报表格式,并把能够预先写入的文字都写好,只留下需要测试结束后添加的数据、结论等内容。这样,在程序中只需向报表模板中插入少量内容,可以大大加快程序开发的速度。