APP下载

基于VB.NET的无线电设备综合测试平台

2012-07-25王秀敏毛兴鹏

计算机工程与设计 2012年7期
关键词:自动测试测试图像

王秀敏,张 燕,毛兴鹏

(1.大连理工大学城市学院 电子与自动化分院,辽宁 大连116600;2.哈尔滨工业大学 (威海)信息学院,山东 威海264209)

0 引 言

无线电发射设备的测试是一项复杂的过程,包括仪器设备连接、各项参数测试、测试数据的整理和测试报告撰写等步骤。现有的测试手段要求测试者掌握电子通信领域相关知识和基本技能,测试时间长,测试过程复杂繁琐。随着近年来无线电设备的应用越来越普遍,如何有效提高无线电设备的测试效率成为无线电管理等部门面临的重要问题。

随着电子技术和计算机技术的发展,自动测试技术得到了广泛的应用。自动化测试可以在人工最少参与、甚至不参与的情况下,自动进行参数测量和数据处理,并将测试结果正确显示或输出,对降低测试工作的难度、缩短测试时间和提高测试效率都有重要意义[1-7]。但目前针对无线电设备的自动化测试主要集中在设备层面,比如用通信综合测试仪对移动台的某项参数进行自动测试等。能够按照国家标准自动完成所有参数的测试过程,并自动生成测试报告的系统平台研究很少。

本文利用VB.NET软件构建了一种无线电设备综合测试平台,该平台利用信号发生器、频谱仪等无线电测试领域的标准测试设备自动完成常用无线电发射设备的测试、数据记录以及报表生成等工作。

1 系统组成及功能特点

本测试系统包括测试软件和硬件平台两部分。用计算机通过GPIB接口卡和线缆与GPIB标准总线一起搭建成仪器硬件平台[8-10]。每台 GPIB标准总线仪器拥有唯一的GPIB地址[11-15],系统以笔记本电脑作为核心,通过GPIB接口卡和GPIB线缆与GPIB标准测试设备相连,对仪器设备进行操作并自动获取测试结果。系统的硬件基本组成框图如图1所示。

图1 测试系统硬件原理框架

系统的主要配件有:笔记本电脑、安捷伦E4407B频谱分析仪、Will’tek4032综合测试仪、GPIB总线、GSM信号源、调频对讲机、衰减器和滤波器。实际工作中,首先由计算机发出控制命令,通过USB/GPIB总线向仪器的设备驱动发送,设备驱动识别后,再进行相应的控制行为,完成控制步骤。如果有数据返回,就要将频谱分析仪里缓存的数据读取出来,再通过USB/GPIB总线重新返回计算机,并采用相应的格式显示出来。整个工作过程中的关键参数和测试结果以图形方式保存在word文档中或者数据库中,在所有测试完成后自动生成测试报告,并在测试报告中根据国家相关技术标准对每项数据是否合格自动给出判断。

本系统可完成的测试内容包括:调频电台检测、调频广播检测、GSM基站检测和CDMA基站检测等。其中调频电台主要包括基地台、车载台和手持台。检测项目有输出功率、频率容差、邻道功率、杂散分量、调制特性、音频失真以及调制限制等。调频广播设备的检测项目主要有频段范围、载波频率允许频偏以及残波辐射等。GSM基站的检测项目主要有平均载波发射功率、平均相位误差、峰值误差、平均频率误差、发射功率时间包络以及调制和宽带噪声的频谱。CDMA基站的检测项目主要有频率容限、导频时间容限、RF总功率、导引信道至码分信道时间容限及相位容限、码域功率以及传导杂散发射。

本系统测试过程中具有以下特点:首先,可以远程设置GPIB仪器的各种状态参数,自动测量数据,并判断是否符合国家标准;其次,可实现系统的自校准、多次测量平均等要求,测试过程中对测量数据分时自动存储,可以更加灵活方便的处理、分析、综合利用和显示;最后,还可以自动与国家标准比较以判断各项性能指标是否合格,并自动生成测试报告归档。

2 系统软件设计

系统的软件设计主要分为操作界面、测试规划、控制程序、ACCESS数据库4个模块,系统程序流程图参见图2。在启动程序主界面后,用户首先需要根据测试内容的不同进行参数设置,然后开始测试。在测试过程中,系统软件依据设定好的步骤对各项参数指标依次进行测量,测量结果保存在数据库中或者以截图的形式保存在word文档中。所有测试完成后,系统生成测试报告,并给出各项参数指标是否合乎标准的判决结果。

图2 系统程序流程

2.1 操作界面

操作界面是测试人员进行人机互动的重要部分,本系统采用VB.NET语言编写操作界面。由于操作界面要有利于测试软件使用者进入程序、实现程序的各项功能,因而在进行相关软件程序编写时应尽量做到使其符合常规测试工作人员的习惯和方式,以便于操作。此外,操作界面的设计还要考虑以下几个问题:

(1)便宜性:考虑到实际操作人员可能不熟悉具体的测试过程和方法,软件界面要清晰明了。使操作人员可以方便的知道下一步应该进行哪些操作。另外,在一些关键的位置要给出相应的文字提示,提醒操作人员完成设备连接、接口转换等相关工作。

(2)容错性:除了完善的提示外,操作界面还要具备规避因操作人员不当操作而引起错误的功能。如,在不需要的地方屏蔽部分按钮的功能;再如,对部分关键操作设置确认环节。

(3)安全性:通过设置不同的用户组规定了管理员和一般操作人员两种权限。一般操作人员仅能进行数据测试和报告生成,而不能对界面和测试结果进行修改,从而保证了测试报告的权威性和科学性。

2.2 测试规划

测试规划的主要功能是用于参数的设置。由于这些参数的特别之处在于它们与测试任务并无多大关系,只与测试报告有关,因而通过测试规划的建立和编辑,就可以将不同时段、不同地点、不同设备所需要进行的测量工作进行区分,使数据获得、存储、调出和修改时不会产生重叠、覆盖等情况,并在报告生成的时候也正确地添加相应的测试信息。多次重复测试时,还可以在已有模板中选取需要的模板 (默认是上一次的)。此命令是与档案管理的功能密切相关的,在建立测试任务规划的过程中需大量调用档案中的一些现有信息以提高建立效率。

测试规划中,包括被检单位名称、地址,检验基站、站号、站型,基站地址、地理坐标,设备型号,出厂编号,检验信道,检验频率,环境温度,相对湿度,检验人。填入基本信息后,单击确定可将基本信息传至数据库保存,在今后使用中可将其调出以供浏览或生成报告。

测试规划结束后,可单击开始测试弹出测试界面,也可按退出键结束规划。

2.3 控制程序

控制程序是软件的主体,是实现频谱分析仪与计算机间通信的重要部分。常用的控制程序开发方法有两种:一种是调用设备驱动程序的动态链接库的控制函数发送控制命令进行控制,另一种方法是由在前面我们已经介绍过的采用VISA控制函数来发送SCPI命令的方式来完成控制程序的编写。前者要考虑到具体仪器的驱动,不同厂家的仪器驱动不同,导致开发出来的程序不具有通用性;后者使用的VISA控制函数和SCPI命令都具有通用性、开放性、统一性的特点,不用考虑具体仪器的设备驱动,对硬件来说是透明的,能更好地体现出程序的可移植性、可扩展性。

在控制程序的开发过程中需要注意的问题是:在输入命令参数的时候,一定要注意参数的格式,否则会出现精度不够准确的问题。VB.NET支持的数据格式中有双精度实型、整型、字符型等很多种。不加以区分可能导致程序在运行时就发生错误,甚至可能在运行时不发生错误,但是却得不到我们想要的结果。例如在输入参数时输入22.8时,如果编程时没有在程序中说明写入格式为实型,就会造成实际设置的参数变为22。这种问题没有错误提示,但是会导致测试结果出错,而且很难被发现。

2.4 ACCESS数据库

系统中的数据库用于保存设置参数和测试结果,数据库与Windows窗体界面连接在一起。数据库相关软件编程过程中主要考虑数据安全性,一方面避免系统崩溃和重装软件可能造成的数据丢失,另一方面避免人为恶意修改数据库的内容。

测试完成后,运用VB.NET提供的DataSet、OleDb-DataAdapter以及OleDbConnection控件,并通过编程可实现测试结果数据与数据库同步,整个处理过程中不需人工操作,完成数据的自动保存。

3 图像保存

图像是测试单位在出具测试报告和结果证明是最有力的证据,是对现场测试的最直接和感观的记录。系统中直接使用测试图像主要有两个目的:一是方便操作人员观察,并能快速地发现测试过程中可能出现问题;二是在最终的测试报告中直接给出测试图像可以直观地证明测试结果的客观性。在测试过程中根据测试项目的需要,在软件界面上实时弹出动态测试图像查看窗口以方便操作人员监测,同时部分关键的图像要保存在最终的测试报告中作为性能指标评价的依据。

图3给出了系统中调频电台测试过程中得到的测试图像。图中给出的是利用安捷伦示波器进行信道功率的测试图像。为方便观测,图中直接给出了中心频率、起始频率、终止频率、信道功率和功率谱密度等参数的测量值。

图3 调频电台测试图像显示

获取测试仪器的测试结果的图像是一个相对复杂的过程。首先需要由计算机发出将图像保存到仪器硬盘的命令给测试设备,然后等待测试设备保存图像完成,一般这个过程耗时十几秒钟。然后计算机发出读取并返回图像数据的命令,读取测试设备中保存的图像数据并保存为一个数组。下一步由计算机新建一个.GIF格式的空的图像文档,并将数组中的图像数据写入该图像文档,完成图像的还原。最后在测试完成后显示图像并将最终的图像自动插入到测试报告中。该过程对应的程序如下:

Call viPrintf(vi,":MMEM:STOR:SCRc:\zbscgl.gif" &vbLf)

Call viPrintf (vi," *wai"&vbLf)

Call viPrintf (vi, ": MMEM: DATA? c: \zbscgl.gif"&vbLf)

Call viScanf(vi,"%#y",length,arg)

Call viPrintf (vi,":mmem:delc:\zbscgl.gif" &vbLf)

Dim pic As New FileStream ("c:\zbscgl.gif",FileMode.Create,FileAccess.Write)

Dim bw As BinaryWriter= New BinaryWriter (pic)

headerlength= 2+ Val(Chr (arg (1)))

bw.Write (arg,headerlength,length-headerlength)

bw.Flush ()

bw.Close()

4 数据报表

本系统引入了报告模板的概念。通过控制水晶报表程序,按照规范的格式,形成一个标准的文档模板。每次系统测试完毕后调用该模板,将测试的数据和结论写入到相应的位置。这样既可以减少一部分写程序的工作量,又可以方便软件在其他单位的推广应用,并且模板的更新简单、易行。

测试完成后测试结果会自动保存到数据库中,此时利用Crystal Report Designer使用 “数据库专家”将报表连接到特定的数据源 (此处使用 Microsoft Access数据库),并同时利用Crystal Report Designer中的公式域进行数据的选择,可将测试结果显示在Crystal Report中,通过Crystal-ReportViewer控件,可预览测试规划以及测试结果,确认无误后,可以通过单击CrystalReportViewer控件中的 “导出”按钮来导出报表,选择报表需要的格式Microsoft Word(.doc),这样即可完成自动生成报告的工作。

报告主要包括封面,检验报告和检验数据表三部分内容,封面中提供被测设备名称和所属单位,以及测量单位的基本信息;检验报告给出被测项目的具体信息以及最终测试结论 (即合格或不合格);检验数据表中提供各项指标的具体测试结果,以及各项指标的要求,通过对比给出各项指标的结论。

测试报告的数据与检测设备显示的数据一致。测试仪表在显示数据时,只能显示一定长度的有效数字,同时对末位数进行四舍五入处理,而计算机读取数据得到的是64位的实数。为解决这个问题,根据各个不同测试数据所对应数位的特点,设计了相关的代码,报告中出具的数据与频谱仪所显示的数据完全一致,并按照要求的格式进行显示。

5 程序异常与分析

5.1 程序调试过程中出现的问题

本系统相关程序的开发过程中经常碰到程序出现异常或者得不到理想结果的情况,作者遇到的比较常见的问题包括:①测试结果的长度过长,但是VISA不支持string字符串格式,不知道如何处理;②测试结果返回的数据为0;③图像返回的数据已写入新建的图像文件里,但是打开图像文件时却提示无法预览;④图像在逐个小项测试时显示成功,但在连接测试是只有第一个图像显示成功,其他的均发生错误。

5.2 程序异常分析及解决办法

(1)针对VISA不支持string的情况,可以使用system.text.stringbuilder进行转换。先在程序的开发时引入命名空 间 “system.text”,然 后 将 返 回 的 数 据 存 入 用system.text.stringbuilder 定 义 的 变 量 当 中 去, 使 用system.text.stringbuilder进行转换,这样就可以转换为string格式在界面的文本框控件中显示出来。相关程序为:

Dim tt as new stringbuilder(“error”,1000)

Dim str as string

Str= Tt.tostring

(2)导致测试结果为0的原因有两种:一种是控制命令错误,测试数据并未返回,导致数值为空。这种情况的解决办法是改正控制命令。另一种情况是数据已返回,但在转换时数据格式发生错误,无法匹配。这种情况解决办法是改正数据格式,一般可以通用system.text.stringbuilder格式,然后再转换为string格式,最后使用字符串函数取出我们所需要的数据部分。

(3)图像无法预览的原因是:图像的写入位置不对。程序编写的初期阶段,一直将第1位认为是写入位置,而在图像写入新建文件的时候又要求写入位置在第几位且总共要写入多少字节数,前后矛盾而导致错误产生。解决办法是:参考相关的程序发现,图像的写入位置应该是header-length=2+Val(Chr(arg (1))),返回的数据流中前面几位数据是返回长度地址信息和返回数据地址信息,考虑这些因素,程序中进行相应更改。

(4)分析除第一个图像外其它图像不能正确显示的原因,用记事本打开后面的几张错误图像可以发现,它们写入的数据长度不完整,写入长度为length-headerlength,但由于写入的起始位置正确,这就表明是变量length发生错误,长度不够。解决办法:在每次在生成图像之前都重新定义一下长度,使它有足够的长度。

6 软件测试

系统工作的整个测量过程中,采用计算机软件控制仪器设备。具体工作的流程是:在测量之前首先要将频谱分析仪等仪器设备与被测系统手动连接好,打开操作界面,选择测试系统类型。开始测试的第一步是进行测试规划,输入必要的基本信息,然后根据界面提示,选择需要测试的指标,在计算机上输入基本测试参数。基本参数设置完成后,单击确定键即开始测试。测试过程所需要的时间根据测试指标和测试参数设置的不同而不同,通常可在数分钟内完成。测试完成后,仪器数据读回计算机,测试结果会在测试界面右侧的测试结果一栏中显示,此结果也会在数据文件中保存,同时会弹出测试图像窗口,通过窗口下方按钮可选择显示刚刚测试指标对应的测试图像。根据需要,可由软件生成WORD报告,进行保存。

本文以CDMA系统的测试为例,简单说明本综合测试平台的具体测试流程如下。

首先,将设备连接如图4所示。图中箭头所指方向代表信号的流向。

图4 设备连接

接下来,在操作界面中选择测试系统类型为CDMA基站检测。

下一步进行测试规划并进行参数设置,需要设置的参数包括:设置被检基站信道号;设置检验系统衰减值;设置未激活码域;设置PN码值;选择偶秒时钟极性等。

单击确定,开始测试,几分钟后测试结果显示在界面的右侧。测试结果包括:频率容限、导频时间容限;RF总功率、导引信道至码分信道时间容限及相位容限;码域功率;传导杂散发射等。

限于篇幅,本文仅给出偶秒时钟极性的设置窗口的截图,如图5所示。

图5 偶秒时钟极性的设置窗口

7 结束语

基于VB.NET的无线电设备综合测试系统平台通过计算机控制信号发生器、频谱仪等无线电测试领域的标准测试设备,实现了自动完成常用无线电发射设备的自动测试、自动生成报表等全部测试内容,并能够自动结合无线电发射设备的国家测试标准对待测设备进行评价。

本系统性能简化了测试过程,缩短了测试时间,而且还在很大程度上提高了系统的测试精度和可靠性,能够实现常用无线电发射设备测试的智能化和自动化,给无线电发射设备的测试工作带来极大的便利,符合无线电管理等部门对无线发射设备的检测要求。

[1]XIAO Tan.Research on automatic test system based on virtual instrument[D].Beijing:Beijing Jiaotong University,2006:18-20(in Chinese).[肖坦.基于虚拟仪器的自动测试系统研究 [D].北京:北京交通大学,2006:18-20.]

[2]WU Yuebin,OU Weiguo.Automatic test system of spectrum analyzer based on virtual instrument technique [J].Foreign Electronic Measurement Technology,2006,25 (6):62-64(in Chinese).[武跃斌,欧卫国.基于虚拟仪器技术的频谱分析仪自动测试系统 [J].国外电子测量技术,2006,25(6):62-64.]

[3]XU Jie,HUANG Jingjian,ZHANG Guangfu,et al.Integration and implementation of measurement system for missile-radome electrical capability [J].Computer Measurement & Control,2008,16 (12):1900-1902 (in Chinese).[徐杰,黄静健,张光甫,等.导弹天线罩电性能测试系统集成与实现[J].计算机测量与控制,2008,16 (12):1900-1902.]

[4]ZHAO Pinzhang.Automated test system for high-speed network analyzer calibration [J].Electronic Measurement Technology,2008,31 (11):112-113 (in Chinese).[赵品彰.用于高速网络分析仪校准的自动测试系统设计 [J].电子测量技术,2008,31 (11):112-113.]

[5]YAN Jian,CHEN Tefang,MA Shihong,et al.Application of virtual instrument technology in railroad large-scale road maintenance machinery electricity control system [J].Foreign Electronic Measurement Technology,2007,26 (2):62-64(in Chinese).[颜剑,陈特放,马世宏,等.虚拟仪器技术在铁路大型养路机械电气控制系统中的应用 [J].国外电子测量技术,2007,26 (2):62-64.]

[6]PU Yunping,XU Chuansheng,WANG Hongzhen.GPIB-based regulated power supply automatic verification and test system developed with VB [J].Measurement Technique,2006(11):42-44 (in Chinese).[卜云萍,徐传生,王宏珍.用VB开发基于GPIB的稳压电源自动检定测试系统 [J].计量技术,2006 (11):42-44.]

[7]YANG Ming,CHEN Yuming.Design of general test platform for military radio equipment [J].Electronic Test,2008,26(2):60-64 (in Chinese).[杨明,陈玉明.军用通信装备测试平台系统设计 [J].电子测试,2008,26 (2):60-64.]

[8]SUN Guoqiang,TIAN Fangning.Automatic test system used in TDS220digital oscilloscope [J].Foreign Electronic Measurement Technology,2007,26 (5):72-73 (in Chinese).[孙国强,田芳宁.TDS220数字示波器自动测试系统 [J].国外电子测量技术,2007,26 (5):72-73.]

[9]LI Xin,YANG Suochang,ZHENG Silong,et al.Power unit observation system based on virtual instrument [J].Ordnance Industry Automation,2009,28 (1):81-82 (in Chinese).[李鑫,杨锁昌,郑思龙,等.基于虚拟仪器的电源监测系统[J].兵工自动化,2009,28 (1):81-82.]

[10]YANG Ming,ZENG Jie.Smart structure in automatic test system [J].Journal of Electronic Measurement and Instrument,2009,23 (6):93-97 (in Chinese).[杨明,曾捷.自动测试系统中的智能结构 [J].电子测量与仪器学报,2009,23 (6):93-97.]

[11]MAO Yuping.Agilent 34401Aautomatic calibration system based on fluke MET/CAL and 5700A [J].Foreign Electronic Measurement Technology,2009,28 (10):55-59 (in Chinese).[毛玉苹.基于Fluke MET/CAL和5700A的Agilent 34401A自动校准系统 [J].国外电子测量技术,2009,28(10):55-59.]

[12]LI Shunan.Automatic test system of GSM repeater based on GPIB bus with VB language [J].Telecom Engineering Technics and Standardization,2007,20 (11):9-13 (in Chinese).[李舒楠.用VB实现基于GPIB总线的GSM直放站的自动测试系统 [J].电信工程技术与标准化,2007,20(11):9-13.]

[13]JIANG Wei,KE Changjian,LIU Deming.Optical component auto-test system based on VC and GPIB [J].Optics & Optoelectronic Technology,2006,4 (3):43-45 (in Chinese).[姜炜,柯昌剑,刘德明.利用GPIB和VC构建光器件自动测试系统[J].光学与光电技术,2006,4 (3):43-45.]

[14]LIU Yanyan,XU Shiwei,GUO Haifan.Study of automatic test technique for spectrum analyzer calibration [J].Electronic Measurement Technology,2006,25 (7):62-64 (in Chinese).[刘严严,徐世伟,郭海帆.频谱分析仪自动测试技术的研究 [J].国外电子测量技术,2006,25 (7):62-64.]

[15]GAO Shiying,LIU Zhenji.Method of GPIB instruments control based on VC+ + 6.0 [J].Electronic Test,2008,26(10):51-65 (in Chinese).[高世鹰,刘振吉.基于 VC++6.0的GPIB仪器控制实现方法 [J].电子测试,2008,26(10):51-65.]

猜你喜欢

自动测试测试图像
巧用图像中的点、线、面解题
幽默大测试
有趣的图像诗
“摄问”测试
“摄问”测试
“摄问”测试
JXG-50S型相敏轨道电路接收器自动测试台
关于某型雷达自动测试系统的几点认识和建议
某型制导武器通用自动测试系统方案设计
一种卫星低频接口自动测试系统