推广 热搜: 电机  PLC  变频器  服务机器人  培训  变送器  危化品安全,爆炸  西门子PLC  触摸屏  阀门 

LabVIEW中综合报表生成技术的开发

   日期:2013-03-23     来源:工控之家网    作者:工控之家    浏览:3    评论:0    
摘  要:报表生成功能是一个完备的虚拟仪器测试系统的重要组成部分。比较了两种LabVIEW平台下报表生成方法及特点。重点阐述LabVIEW与Excel的数据通信,并添加了声音报警、自动打印功能,提高了数据的可靠性与安全性。

关键词:虚拟仪器测试系统;报表生成;表格处理软件

The Development of Complicated Report Generation Technology in LabVIEW
ZHANG Pei JIANG Ying XU Wei-ming ZUO Xiao-wu

Abstract The function of report generation is an important part of a complete Virtual Instrument system. Two methods of report generation based on LabVIEW and their characteristics are compared. Described the technology that LabVIEW is programmed jointly with Excel, appended the function of vocal alarming and automatic printing, which improves the data’s credibility and security.

Key words LabVIEW; Report Generation; Excel

1 引言

  打印报表是测控系统普遍要求的一项基本功能,例如对产品进行测试要有测试报告,长期检测一个生产过程要求有生产日报表等,对报表的实时性提出了要求。目前,几种用于生成报表的软件有Visual Basic、Matlab Report Generator等。LabVIEW是NI公司退出的一种基于G语言的虚拟仪器软件开发工具。利用LabVIEW可以很方便地生成一个虚拟仪器系统,完成信号的采集、数据处理等任务构成一个完整的测试系统。LabVIEW本身带有强大的报表生成功能,能与多种应用程序的通讯成为报表生成技术中首选的工具。目前已大量用于测试系统的后期数据处理中,笔者在总结前人开发报表生成功能的基础上,添加了一些新功能,以完善整个测试系统。

2 报表生成功能的完善

  报表生成方法可以通过这么几种方法[1]:直接使用NI公司的Report Generation Toolkit生成报表;使用File I/O类函数生成报表;使用Report Generation类函数生成报表;利用Excel生成报表。然而,由于Report Generation Toolkit模块没有集成在LabVIEW中,须额外购买,性价比不高;File I/O类函数生成的报表可读性差,样式简单,因此目前普遍采用后两种方式。

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

  使用这种方法可以打印格式比较复杂的报表,而且操作简单。LabVIEW中的Report Generation子模板中提供了丰富的函数[2]。从生成一个新的报表,设置报表页边距、方向、页眉文本,向报表中添加文字、图片和表格等到打印报表都有全程的帮助文件供开发者使用。以产品检验报告为例,报表生成的程序如图1所示。


图1 使用Report Generation类函数生成报表框图

  由图中,在报表中添加了曲线、数据、表格等,最终通过一个Case语句在LabVIEW主程序中直接打印报表,前面板如图2所示。要注意的是,由于打印报表只能打印瞬间的数据值,故要求打印图标按钮不能长期处于闭合状态,在此设置Mechanical Action为Latch when pressed。


图2使用ReportGeneration类函数生成报表前面板

  使用该方法虽然操作简单,但也有一些不足。比如,对于复杂的数据就显得力不从心;在实际测试系统中要求测量的点数往往上百个,大批的数据要在LabVIEW要在前面板中设置显然不切实际;虽然实现了打印功能,但打印效果不符合传统观念中的报表,数据可移植性不高。鉴于此,提出用Excel生成报表。

  2.2 利用Excel生成报表

  Microsoft Excel是强大的数据处理软件,应用极为广泛,通过与LabVIEW的结合,将采集到的数据传送到Excel中,充分利用了两者的功能。Excel本身含有大量的模板,用户可以预先定制模板以确定报告格式,通过两大应用程序之间的通讯协议,利用DDE和ActiveX方式生成报表,然后在程序中添加语音效果、打印功能、数据保存等功能,进一步完善报表的附带功能。下面以锅炉供热自动控制系统的报表程序为例,介绍一个功能齐全的报表生成系统。


图3 报表生成前面板

  首先,报表的主界面如图3所示,用户可以设置报表生成即Excel文件生成的路径,在报表名称、报表生成的起始与终止时间处分别填入需要的参数。左方为各项测量指标的名称,用户可以根据需要修改,而且设置了冗余项,在右下角的要测的指标中选择数目,主界面可自动扩展指标项供用户添加。

  其次,如用户需要打印前面板,可以按打印前面板按钮实现。界面的右下角附有使用说明,方便开发者与用户的沟通。部分程序框图如图4、5所示。


图4 设置路径与表名


图5 向Excel传送数据

  由于LabVIEW提供了自动打印的功能,故要打印前面板中的曲线,只需要将需要打印的对象做成子VI,当程序调用该子VI时实现打印功能[3]。主程序框图如图6所示,该方法实现的关键点在于:主程序需要将曲线坐标的上下限传给子VI,通过属性节点实现,如图中所示。


图6 自动打印主程序框图

  最后,在该系统中加入声音报警功能[4]。在线检测系统一般都需要报警功能,实现的方法为在程序中预先录入一段声音,当报表生成过程中出现报错等意外出错时,可以及时提醒工作人员,以免造成因数据错误带来的事故,这在工业监控过程中是非常必要的。我们还是利用LabVIEW中的声音函数录制声音,程序框图如图7所示。


图7 录制声音

  在SI CONFIG函数中可以选择立体声或者单通道。然后我们把生成的文件作为声音文件,作为出错报警时的源文件,框图如图8所示。


图8 播放声音

3 结论与应用

  到此,一个完整的功能齐全的报表生成系统已经介绍好了。并已在汽车热工性能测试系统中试用,大大减轻了工作人员的数据记录的负担,同时提高了安全性、可靠性,在数据图表打印方面真正做到了所见即所出。

  本文作者创新点:集成各种功能如数据、图表实时打印等,开发出了一套功能齐全的报表生成系统,操作简单,数据可移植性强,优于目前普遍使用的报表生成系统;同时,在程序设计中添加了报警功能,为工况现场的安全性和可靠性提供了保障。

参考文献

  [1] 杨乐平等.LabVIEW高级程序设计.北京:清华大学出版社,2003.

  [2] 石博强等.LabVIEW编程技术实用教程.北京:中国铁道出版社,2002.

  [3] 赵海龙.给LabVIEW中的对象添加自动打印功能[J].微计算机信息,2001,17(12):32-34.

  [4] 雷振山.LabVIEW7Express实用技术教程.北京:中国铁道出版社,2005.

 
打赏
 
更多>同类环保知识
0相关评论

推荐图文
推荐环保知识
点击排行
网站首页  |  免责声明  |  联系我们  |  关于我们  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  RSS订阅  |  违规举报  |  鲁ICP备12015736号-1
Powered By DESTOON