基于LabVIEW的舰船多通道滤波系统报表生成技术

2015-06-27 05:45张嘉毫
船电技术 2015年6期
关键词:报表滤波模板

黄 幸,孟 进,唐 健,张嘉毫

(海军工程大学舰船综合电力技术国防科技重点实验室,武汉 430033)

基于LabVIEW的舰船多通道滤波系统报表生成技术

黄 幸,孟 进,唐 健,张嘉毫

(海军工程大学舰船综合电力技术国防科技重点实验室,武汉 430033)

报表生成是实验系统记录和保存数据的重要组成部分。本文介绍了LabVIEW中的几种报表生成方法及特点,给出了利用NI公司的Report Generation Toolkit 生成专业Excel报表的具体编程方法,在多个通道的舰船滤波实验测试系统中,实现了将三个通道的数据存入到报表中,并按需求在表格中插入公式处理数据、设定阈值,以按实验需要显示数据。

LabVIEW Excel报表 Report Generation技术 阈值

0 引言

信息时代来临,军队进入现代化,现代舰船系统共平台通信系统中各类收发天线相互干扰问题严重。实验室在解决空间耦合辐射干扰的问题上做了大量研究并取得了不错的成果。但在实际试验时,获取滤波结果、记录和保存实验数据的过程十分重复繁琐,且非常不智能。1986年NI公司提出虚拟仪器的概念,改变了传统仪器的模式和结构,它对虚拟仪器和LabVIEW(Laboratory Virtual Instrument Engineering Workbench——实验室虚拟仪器工程平台)长期、系统、有效的研究开发使得该公司成为业界公认的权威[1]。利用LabVIEW可以设计实验室仪器自动测试和控制系统,报表报表生成功能是一个完备自动测控系统的重要组成部分。在一些现有的测试系统中,对数据和分析结果仍用手动记录、处理和保存。这种方式简单直接,但许多实验是多频次的重复机械操作,以多通道滤波系统为例,实验过程中需要记录每一通道在一种实验条件下信号频率由2 MHz~29 MHz的滤波前后功率值,并计算功率比。针对多个通道多种实验条件需记录、处理、保存数据量就比较庞大,手动记录效率低、易出错的弊端就暴露出来了。所以利用LabVIEW实现将数据存储成Excel报表形式具有重要的工程应用价值与意义[2]。

1 LabVIEW中的几种报表生成方法及特点

利用LabVIEW生成报表的方式多种多样[3],而生成Excel报表一般有以下几种方法:1)使用File I/O类函数生成报表;2)利用Report Generation类函数生成报表;3)利用DDE生成报表[4];4)利用ActiveX生成报表[5];5)直接使用NI公司的Report Generation Toolkit工具包生成报表[6-7]。几种方法生成报表方法的比较如表1所示。

表1 五种方法生成报表的方法比较

根据表1的比较,由于在实际试验的自动测控系统中,有三个通道的实验数据需要记录保存,数据数量庞大、类目较多。实验能直接测得的数据只包括滤掉干扰信号前的输入信号功率P0和通过实验装置滤除干扰信号后的输出信号功率P1,我们还要求对前后的数据进行算法比较处理,所以决定利用Report Generation Toolkit For Microsoft Office来开发生成所需要的报表程序。

2 利用Report Generation Toolkit生成报表

LabVIEW的Report Generation Toolkit工具包包含了3类VIs(类似传统语言的函数或过程):1)高级报告生成VIs,用于新建报告和进行常规操作;2)专门用于生成Word格式的报告VIs,其中包括了文档管理、查找、替换、编辑和格式化word中的图表、图片,通过编写VBA代码自定义各种复杂的操作;3)专门用于生成Excel格式的报告VIs,其除了能进行常规的Excel操作外,还可以操作Excel中的宏[8]。

下面的举例说明如何利用Report Generation技术实现LabVIEW与Excel间的通信。首先依实验需要创建一个命名为三通道实验数据.xlsx的 Excel空文件模板。具体生成Excel报表步骤如下:

1)打开报表文件向指定单元格填写对应栏目名称、输入实验测量数据。利用New Report.vi设置其report type属性为Excel,在前面板选择已建空模板三通道实验数据.xlsx的存放路径即可打开该Excel文件。通过Excel Easy Title.vi函数给字符串变量Title赋值,可以自定义报告的标题内容,并设置标题的字体、字号等参数。调用Append Report Text.vi功能子函数填写对应栏目名称,由于输入数据数量较多遂利用Append Table to Report.vi向报告中的指定位置插入表格,程序中将测试数据以二维数组的方式赋值给Append Table to Report.vi,并自定义row headers和column headers。在输入这些标题和数据时可利用参数MS Office parameters簇中的name(excel)参数,或者可以输入row和column来指定栏目名称在报表中的位置。实现的部分程序如图1所示。

2)输入数据处理公式、按用户需求显示数据。实验可直接测得消除干扰前的信号功率P0、消除干扰后的信号功率P1,算出信号处理前后的功率差ICR=P0-P1,利用Excel Insert Formula.vi向报表指定单元格输入公式,求出每一个通道对应的不同频率下的ICR值,并在每一组通道数据的最后计算出ICR平均值。由于试验对滤波效果有性能指标要求,ICR需不低于40 dB。故借助条件结构设定阈值,利用Excel Set Cell Font.vi显示实验数据使ICR值低于40 dB时显示为红色并划上删除线,当值不低于40 dB时显示为绿色。调用Excel Set Cell Alignment.vi设置单元格对齐方式。具体实现程序如图2所示。

图1 打开Excel模板并向指定单元格输入标题、数据程序

图2 输入公式并设定阈值程序

3)绘制对比图。利用LabVIEW的程序通信功能可以把各项数据和曲线图分别写入表格中的指定位置。由于一共有三个通道的数据,所以需要对这三个通道作一个纵向比较。当检测到三个通道的数据全部输入三通道实验数据.xlsx表格中并完成算法处理后,程序设置与门判断就生成三个通道的P0、P1和ICR值比较曲线图。具体实现如图3。最后使用Dispose Report.vi去关闭对Excel的调用,默认情况下,调用Dispose Report.vi后,会连同打开的Excel模板也一同关闭,利用布尔变量将“Close Report”设置为“False”,在关闭Excel调用时就不会同时将模板文件关闭[9],用户就可以继续对填充的模板进行相应的操作,比如打印、修改、保存等。至此完成了三通道实验数据报表的生成。

图3 绘制三个通道的对比图程序

生成报表技术的前面板操作如图4所示。打开三通道实验数据.xlsx的文件存放路径,设定实验阈值40,选择好通道,运行程序,Format Data.vi会自动反馈数据输入的时间和日期,便于日后查询。图5显示了选择通道一运行程序时在三通道实验数据.xlsx表格文件中的结果显示,在Excel中保存写入的数据然后在前面板选择其它的通道将数据依次写入报表,每次数据输入报表并在表格中完成显示后,都要注意保存数据。当三个通道的数据都写入、处理完毕时,程序则会绘制三个通道的纵向比较图,如图6即为将三个通道数据输入Excel完成后的显示结果。

图4 生成报表程序前面板

3 结语

本文介绍了比较了几种利用LabVIEW生成报表的方法和特点。结合实际实验处理数据的需要,采用Report Generation Toolkit For Microsoft Office模块和Report Generation类函数模块生成了界面清晰明了、功能复杂、内容专业的Microsoft Excel格式报表。在实际的舰船试验测试系统中,对于庞大的数据群,其准确、快速的操作方式大大提高了工作效率,计算处理的实验结果也一目了然。相比于其它报表生成技术,这种方式在生成复杂报表时有明显优势。

图5 通道一实验数据写入Excel结果显示

图6三个通道数据输入Excel完成后的显示结果

[1] Zhao J, Abu-Mulaweh H I.Rejuvenate an old Tinius Olsen machine with computer data acquisition using its existing hardware and LabVIEW[J]. Computer Applications in Engineering Education, 2008, 16 (3): 165-171.

[2] 熊舸, 刘娴, 张煜, 等. 基于LabVIEW的实时串口数据采集及Excel报表生成技术[J]. 软件, 2014, 5(3): 28-32.

[3] 曲海山, 龚明, 冯云. 基于LabVIEW的Word报表生成方法[J]. 制导与引信, 2013(1): 54-58.

[4] 陈金平, 王生泽, 吴文英. LabVIEW与Excel的通信方法[J]. 自动化仪表, 2006, 27(4): 65-67.

[5] 刘允峰. 基于LabVIEW8.5和ActiveX技术的报表生成[J]. 国外电子测量技术, 2011, 30(1): 64-66.

[6] 张磊, 王斌. LabVIEW报表生成技术在计量系统中的应用[J]. 计测技术, 2005, 25(3): 61-62.

[7] 闫群民. 基于LabVIEW的超文本报表生成方法[J].自动化仪表, 2010, 31(7): 29-31.

[8] 侯国屏, 王珅, 叶齐鑫. LabVIEW7.1编程与虚拟仪器设计[M]. 北京: 清华大学出版社有限公司, 2005.

[9] 苑光明, 申敏, 张春慧, 等. 基于LabVIEW的液力变矩器性能测试系统报表生成技术研究[J]. 工程机械, 2013, 44(9).

LabVIEW-based Report Generation Technique in the Warship's Multichannel Test System

Huang Xing, Meng Jin, Tang Jian, Zhang Jiahao
(National Key Laboratory for Vessel Integrated Power System Technology, Naval University of Engineering, Wuhan 430033, China)

Report generation is an important part of the test system to record and save the data. This paper introduces several methods of report generation based on LabVIEW and their characteristics and illustrates in detail the programming method which makes use of Report Generation Toolkit to generate professional Excel report. In the Multichannel Warship Test System these functions that users can store three-channel data into table, insert formulas to process data, set a threshold value and display the data according to demand are realized.

LabVIEW; Excel report; report generation technique; threshold

TP311.1

A

1003-4862(2015)06-0015-04

2015-02-03

国家自然科学基金资助项目(61201055)

国家自然科学基金资助项目(51422705)

黄幸(1991-),女,硕士研究生。研究方向:电力系统电磁兼容技术。

猜你喜欢
报表滤波模板
铝模板在高层建筑施工中的应用
铝模板在高层建筑施工中的应用
镇长看报表
铝模板在高层建筑施工中的应用
一种GMPHD滤波改进算法及仿真研究
基于自适应Kalman滤波的改进PSO算法
城市综改 可推广的模板较少
RTS平滑滤波在事后姿态确定中的应用
基于线性正则变换的 LMS 自适应滤波
月度报表