文档库

最新最全的文档下载
当前位置:文档库 > 基于LabVIEW的报表生成

基于LabVIEW的报表生成

2011年12月第12期

电子测试

ELECTRONIC?TEST

Dec.2011

No.12

基于LabVIEW的报表生成

董慧群,王福明

(中北大学,太原 030051)

摘要:报表是以打印格式显示数据的一种有效方式,报表生成功能是虚拟仪器测试系统的重要组成部分,一个好的报表生成工具可以使测试系统的开发事半功倍。本文在研究LabVIEW和Word通信技术的基础上,给出了二者的通信模型,并通过电子测压器的上位机系统为例重点介绍了基于Word模板的报表的生成过程,实现了基于LabVIEW测试项目的Word报表自动生成。电子测压器的上位机系统使用该技术后操作更加方便、简单,提高了测试过程的自动化和智能化水平以及测试效率和精度,用户实际使用后给予了很高的评价。

关键词:LabVIEW;虚拟仪器;报表;Report Generation Toolkit

中图分类号: TP311 文献标识码: A

Data communications based on the USB port

in LabVIEW

Dong Huiqun,Wang Fuming

(North University of China,taiyuan 030051)

Abstract: Report is an effective way of printing the format data. The function of report generation is an important part of a complete Virtual Instrument system. Good reporting tools can accelerate developing the measurement system. Several methods of report generation based on LabVIEW and their characteristics are introduced in this article. Focuses on the methods of Microsoft Word’s report generation with Report Generation Toolkit. This method is flexible and efficient, highly portable, powerful, more acquirable to measurement system.

Keywords: LabVIEW;virtual instrument;;Report;Report Generation Toolkit

基于LabVIEW的报表生成

0 引言

报表是以打印格式显示数据的一种有效方式,它根据用户需求重新组织数据表中的数据,并按特定的格式显示或者打印。打印报表是测控系统普遍要求的一项基本功能,例如对产品进行测试要有测试报告,长期检测一个生产过程要求有生产日报表等,对报表的实时性提出了要求。?abVIEW是NI公司推出的一种基于G语言的虚拟仪器软件开发工具。利用?abVIEW可以很方便地生成一个虚拟仪器系统,完成信号的采集、数据处理等任务,从而构成一个完整的测试系统[1]。?abVIEW本身带有强大的报表生成功能,能与多种应用程序通讯,成为报表生成技术中首选的工具。

1 报表工具介绍

利用?abVIEW生成报表有一般有3种方法。

1.1 使用File I/O类函数生成报表

?abVIE?提供的文件I/O函数是一组较强的文件处理工具,使用文件/O类函数可以生成AscII格式的报表。其优点是程序简洁,速度快;另外一大好处是方便别的软件,如文字处理软件或电子表格文件等来访问数据。缺点是报表样式单调,这种方法只能用在对报表格式要求不高的场合。

1.2 使用Report Generation类函数生成报表

利用Report Generation类函数可以生成?abVIEW 的标准报表或HTM?网页格式的报表,报表样式比较美观,可以绘制简单的表格和插入简单的图形,而且操作简单。?abVIEW中的Report Generation子模板中提供了丰富的函数[2]。从生成一个新的报表,设置报表页边距、方向、页眉文本,向报表中添加文字、图片和表格等,到打印报表都有全程的帮助文件供开发者使用。但是程序制表的过程不直观,所需的程序模块多,接线复杂,调试麻烦,不适合制作样式较为复杂,结构不规则的表格。其最大的缺点是不能对数据进行二次修正和动态显示数据。1.3 使用Report Generation Toolkit生成报表

?abVIEW Report Generation Toolkit工具包通过ActiveX技术将Microsoft Word和Excel与?abVIEW集成开发环境结合起来,用于快速生成专业的报告,从而高效地表示出各种测试数据和结果。用户可以移植、修改现有的报告模板,并使用标准的VIEW功能,扩展该工具包的报告生成功能。通过运行由VBA编写的宏代码还可以进一步自定义修改报告生成过程并自动生成报告。?abVIEW Report Generation Toolkit工具包包含了3类VIs[3]:

(1)高级报告生成VIs,用于新建报告和进行常规操作。

(2)专门用于生成Word格式的报告VIs,其中包括了文档管理、查找、替换、编辑和格式化Word中的图表、图片,通过编写VBA代码自定义各种复杂的操作。

(3)专门用于生成Excel格式的报告VIs,其除了能进行常规的Excel操作外,还可以操作Excel中的宏。

2 利用Report?Generation?Toolkit生成报表

本文以电子测压器的上位机系统为例介绍使用Report Generation Toolkit将实验数据生成报表的方法,其基本思路是首先建立一个空白的Excel或Word工作簿,用?abVIEW完成数据采集、标定和数据处理等任务,把最终得到的数据、结论、实验日期等其他实验信息统一转换成字符串格式,利用?abVIEW的程序间通信功能传递到Excel或Word上[4],把各项数据分别写入表格中预先规定好的位置,并且将实验数据的曲线图放到报表的指定位置。

2.1 数据准备

电子测压器上位机系统把测试数据读入计算机,在标定界面添加一个“打印”按钮,用于生成表报并打印输出。数据由全局变量保存,经过标定后点击“打印”按钮进入报表生成子系统。

2.2 定制报表参数

由于需要输入的报表参数比较多,包括实验时间、

基于LabVIEW的报表生成

地点、总结、保存路径、文档格式、报表类型(Microsoft Word、Microsoft Excel、html)等,报表参数的定制分为几个不同的界面,由状态机实现。状态机是?abVIEW 程序设计中最常用的设计模式之一[5],它可以用来清晰地实

基于LabVIEW的报表生成

由图1可知,状态机主要由一个?hile 主循环和一个case 结构组成,利用?hile 主循环移位寄存器来实现状态的跳转[6]。程序中包含5个状态,分别是初始化、等待、捆绑参数、生成和停止。

(1)初始化:进入报告界面显示,是状态机的默认状态,它初始化了每个参数,赋默认的值。

(2)等待:进行状态判断,根据前面板上显示的页面和点击的按键确定进入哪一个状态。

(3)捆绑参数和生成:在等待状态下,一旦点击生成按钮,则先进入参数捆绑状态,将在前面板上定义好的各种参数进行捆绑,打包成簇进行传输,程序中用了多个按名称捆绑函数,分别将输入的参数打包成能够被

程序识别的簇,并将对字体的配置效果显示了出来,使得程序简洁明了。捆绑参数后随即进入生成状态,生成报表。

(4)生成:根据捆绑的参数确定所要生成的报表类型,然后调用不同的子VI 生成报表,本程序中包括三种报表格式,分别是Microsoft Word、Microsoft Excel 和html [7]。

(5)停止:在等待状态下,点击退出则停止程序。

2.3 报表生成

3种类型的报表分别由3个不同的子VI 实现,现在以Microsoft Word 类型的报表为例(见图2),介绍主要应用到的VI 产生表报的方法。

现任何以状态图描述的算法。更准确地说,它通常用来实现“摩尔状态机”所描述的算法,即每一种状态执行相应的操作。它常用在“决策”算法中,例如诊断、过程监测和控制等。如图1所示。

图1 状态机捆绑参数状态

Virtual?Instrument?Technology 2011.12

生成Word报表用到的VI主要有Ne? Report,Word Easy Text,Word Easy Table,Word Easy Graph,Save Report to File,Print Report,Dispose Report等。简要介绍各自的功能如下:

(1)Ne? Report:创建一个新报表,入参report type 是创建的报表类型,参

数2是Word类型。

(2)W o r d E a s y

Text:添加文本信息到

Word报表中,可以使

用此VI将实验报告等

添加到Word。

(3)W o r d E a s y

Table:把固定格式的

表格插入到Word报表。

(4)W o r d E a s y

Graph:把图表格式的

信息插入到Word报表。

(5)Save Report to

File:在指定的目录中

生成HTM?,Word或

Excel格式的报表。

(6)Print Report:在指定的或者计算机默认打印机打印报表。

(7)Dispose Report:关闭报表接口,释放资源,这个VI应该放到程序的最后一步执行。

图3

基于LabVIEW的报表生成

为报表生成结果。

图2 Word报表程序框图

图3 Word报表

(下转61页)

测试工具与解决方案

2011.12

4 结论

结合PXI示波器模块,在?abWindo?s/CVI环境下由软件控制完成信号采集、数据处理、参数测量和波形显示等功能实现了该模块的软件设计。测量精度高,程序可扩展性强,界面操作灵活,达到了该模块的软件设计要求。参考文献

[1] 王建新,杨世凤,隋美丽. ?abWindo?s/CVI 测试技术及

工程应用[M].北京:化学工业出版社,2006.

[2] 孙鑫,余安萍. VC++深入详解[M].北京:电子工业出版

社,2007.

[3] 杭君,王勇. 基于VC++ 6.0和?abWindo?s/CVI的虚拟

数字示波器的实现[J].电子测试,2009(7).

[4] 陈景波,杨放,姚定江.基于CompuScope 82G型高

速数据采集卡的虚拟示波器设计[J].国外电子元器件,2006(2): 60-62.

[5] 梁海泉,张逸成,杨挺,姚勇涛. 基于虚拟仪器平台的多

通道示波器设计[J].自动化仪表,2007,28(2):61-62.[6] 张梦麟,李念强,李萍.基于FPGA虚拟数字示波器的设

计[J].仪表仪器装置,2008(2):8-11.

[7]陈晓江,黄樟灿.数值分析[M].北京:科学出版

社,2010:23-73.

[8] 赵伟军.基于PCI总线的虚拟示波器的设计与实现[J].

现代雷达, 2007,29(1):41-43.

[9] 张再秀,陈钟荣.基于VC++和?abWindo?s/CVI的信

号采集处理系统[J].计算机系统与应用,2008(9).

作者简介:

孙丽媛,电子科技大学硕士研究

生,研究方向为模块化仪器的软件

设计及其优化。

E-mail: sly.1-2-3@http://www.wendangku.net/doc/0718f0be4693daef5ef73dfa.html

王志刚,副教授,硕士研究生导

师。主要研究方向为超高速信号数

字化系统、信号检测与处理等。

基于LabVIEW的报表生成

基于LabVIEW的报表生成

E-mail: wangzhigang@http://www.wendangku.net/doc/0718f0be4693daef5ef73dfa.html

测试报表真实的反映了测试过程和结果,而且由于Word模板是编程人员自己设计、制作,所以样式可以根据项目需要进行随意调整。生成报表以后就可以对数据进行各种操作了,包括打印、保存等处理。

3 结论

可以看出使用NI的?abVIEW Report Generation Toolkit工具包可以制作出界面美观、内容专业的Microsoft Word格式报表,数据由?abVIEW传递给Word,由Word进行数据分析、综合,并生成所需报表,这一复杂的过程由程序一气呵成,这是别的工具无法办到的。?abVIEW Report Generation技术将?abVIEW和Office紧密的集合在了一起,在实际操作中具有很强的应用价值[8]。参考文献

[1] 汪敏生.?abVIEW基础教程[M].北京:电子工业出版

社,2002.

[2] 邹坚,李世平.基于?abVlEW的自动测试系统中的报表

生成研究[J].自动化仪表,2006,27(11):68-70.

[3] 侯国屏,王坤,叶齐鑫,等.?abVIEW7.1编程与虚拟仪器

设计[M].北京:清华大学出版社,2005.

[4] NI.Technical Communications ?abVIEW Report

Generation Toolkit for Microsoft Office User Guide323805A-01, March 2004.

[5] Jeff Kodosky.?abVIEW综述[J].现代制造,2005,

12(14):14-16.

[6] 雷振山.?ABVIEW 7 Express实用技术教程[M].北京:

中国铁道出版社,2004.

[7] 翠英,裴锋.?abVIEW中Excel报告生成功能开发[J].仪

表技术,2005(3):60-6l,64.

[8] 陈锡辉,张银鸿.?abVIEW 8.20程序设计从入门到精通

[M].北京:清华大学出版社,2007.

作者简介:

董慧群,中北大学五院信号与信息

处理专业,在读硕士研究生,研究方

向为网络与数据通信技术。

基于LabVIEW的报表生成

E-mail:441498792@http://www.wendangku.net/doc/0718f0be4693daef5ef73dfa.html

(上接40页)