收藏 分享(赏)

基于VBA的快速测试自动化设计与实现.pdf

上传人:爱文献爱资料 文档编号:21790840 上传时间:2024-05-14 格式:PDF 页数:5 大小:3.17MB
下载 相关 举报
基于VBA的快速测试自动化设计与实现.pdf_第1页
第1页 / 共5页
基于VBA的快速测试自动化设计与实现.pdf_第2页
第2页 / 共5页
基于VBA的快速测试自动化设计与实现.pdf_第3页
第3页 / 共5页
基于VBA的快速测试自动化设计与实现.pdf_第4页
第4页 / 共5页
亲,该文档总共5页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、第 17 期2023 年 9 月无线互联科技Wireless Internet TechnologyNo.17September,2023作者简介:王阴雨(1982),男,江苏南京人,工程师,学士;研究方向:雷达系统集成。基于 VBA 的快速测试自动化设计与实现王阴雨(南京电子技术研究所,江苏 南京 210039)摘要:文章针对雷达批生产中测试自动化的迫切需求,提出一种简明实用的基于 VBA 编程环境、VISA标准库和 SCPI 命令的自动化程序开发方法,以矢量网络分析仪对射频综合网络的测试为实例,阐述了开发流程和设计思路,使集成调试人员能够灵活地根据被测产品自主完成编程,快速实现仪器程控、数

2、据采集与处理分析、验收测试报告数据的自动导入等。结果表明,使用该方法开发的测试自动化程序具有便利性、实用性、扩展性,大幅提升了测试效率。目前,已在实际工程中应用。关键词:VBA;VISA;SCPI;测试自动化中图分类号:TP29 文献标志码:A0 引 言 随着雷达技术的快速发展,为了提高大数据量和大批量产品的测试效率,测试自动化系统已经广泛应用于批生产1。但定制化的测试系统产品覆盖占比依旧很低,对非定制对象不具备兼容性,程序开发和更新需由专业软件设计人员进行,开发成本高、周期长。批生产集成调试面对产品不断更新的同时,还需保持出厂产品的售后维修支持,产品种类繁多,技术状态迥异,专业涉及面广,测试

3、工作量大。使非软件专业的集成调试人员具备自主开发能力,灵活地针对测试产品快速实现测试自动化是提高效率的必要手段之一。本文以矢量网络分析仪对射频综合网络的测试为实例,详细阐述基于 VBA 编程环境、虚拟仪器软件体系结构(Virtual Instrument Software Architecture,VISA)标准库和 SCPI 命令快速完成测试自动化程序开发的方法,实现仪器程控、数据采集与处理分析,并自动将数据导出至验收测试报告。软硬件构架及工作流程如图 1 所示。1 开发环境设置1.1 VBA VBA(Visual Basic for Applications)是基于 VB(Visual B

4、asic for Windows)发展而来的,与 VB 一样是属于面向对象的编程语言。在批生产集成调试中,基于 VBA 实现自动化开发有以下优点2:(1)不需要单独安装 IDE(集成开发环境),直接使用嵌套在 Excel、Word 等 Office 软件开发工具中的VBA 编程器进行编程;对上位机的软、硬件配置要求也比较低(Windows7 及 Office2010 足以满足编程需求),可以充分地利用现有计算机硬件资源。(2)VBA 的语法结构与 VB 相似,编程环境在Office 软件内,对非软件设计专业的集成调试人员而言相对简单易学,配合宏录制功能,能够在短时间内图 1 软硬件构架及工作流

5、程完成程序编程,开发周期短。(3)VBA 可以灵活地调用 Office 软件自带的函数和图表功能,直接使用 Excel 进行数据的存储和处理分析,无需安装额外的数据处理软件。(4)使用 VBA 可以方便地在 Office 软件之间进行数据交互,采集到的数据经过 Excel 分析处理后可直接导出至 Word,生成验收测试报告。1.2 VISA VISA 提供了简单易用的控制函数集,具有完备的仪器控制功能与资源管理3。通过安装 Agilent/Keysight IO Libraries Suite,在 Excel 的 VBA 编辑器菜07第 17 期2023 年 9 月无线互联科技软件开发No.1

6、7September,2023单栏“工具-引用”选项中,勾选“VISA-COM Type Library”,即可调用 VISA 的函数库4。1.3 SCPI可编程仪器标准命令(Standard Command for Program Instrument,SCPI)是为解决程控仪器标准化而制定的标准程控语言5。SCPI 分为通用命令和仪器指定命令6。通用命令主要用来控制仪器复位、自检以及状态查询等,该组命令以“”开始;仪器指定命令用来进行测量、读取数据等操作以及控制仪器的设置,通过厂家提供的程控手册可以查询、获取对应仪器的详细命令集。2 软件设计实现2.1 程序主界面设计 在 Excel 软件

7、中使用组合键 Alt+F11 打开 VBA编辑界面,在 VBAProject 中插入用户窗体,利用工具箱中自带的框架、文本框、选择框、命令按钮等窗体控件,可以快速地完成程序主界面的布局设计。程序主界面如图 2 所示,分为显示器、仪表控制、数据采集、数据分析、文件处理 5 个框架模块。显示器为程序响应信息的显示窗口,如仪表的连接状态、打开文件的路径名称信息、报错信息等。仪表控制为仪器通信连接方式的选择、测试参数设置、窗口设置以及常用的仪表功能设置。根据测试产品的技术指标不同,可以使用分页进行管理。数据采集通过按钮点击响应,可显示累计采集次数。对误操作的采集数据,可以通过指定行号删除。工作表的首行

8、为采样频点,可一键实现隐藏和显示。数据分析根据测试产品的实际需求定制,主要展示关键指标的测量和计算结果,在工作表中对指定数据进行自动筛选、定位和标记,一键生成图表等。文件处理完成数据的导出、保存和回调。主程序保存在 xlsm 格式的 Excel 文件内,在ThisWorkbook 中输入以下代码,实现打开 Excel 工作簿自动弹出程序主界面:Sub workbook_open()UserForm1.Show(0)End Sub2.2 仪器连接 为了适应新的通信技术发展,仪器厂家逐步在推广 LAN 接口的仪器,但 GPIB 接口仍是目前被广泛使用的仪器程控接口,利用 VISA 与接口无关的特性

9、7,使用一套程序可以通过这两种方式与仪器进行通信。GPIB 接口采用 USB-GPIB 转换器、LAN 口通过网线与主控计算机相连,在链接地址文本框中修改目标仪器的 GPIB 地址或 IP 地址就能完成连接,连接成功后在程序主界面显示器内显示仪器的出厂信息。实现与仪器连接通信的核心代码如下:声明 VNA(矢网)为 VISA 的一个对象(设备)Public VNA As VisaComLib.FormattedIO488连接仪器并接收反馈信息图 2 程序主界面声明 IOManager 为 VISA 的一个对象(资源管理器)Dim IOManager As VisaComLib.ResourceM

10、anager连接不成功跳转至错误提示On Error GoTo Error1建立资源管理器和设备实例Set IOManager=New VisaComLib.ResourceManagerSet VNA=New VisaComLib.FormattedIO488发送地址码连接仪器Set VNA.IO=IOManager.Open(GPIB 地址或 IP地址)询问仪器信息并将反馈信息显示在显示器VNA.WriteString(IDN?)TextBox1.Text=(连接成功!仪表信息如下:&Chr(10)&VNA.ReadString)Exit SubError1:连接不成功提示TextBox1

11、.Text=(连接不成功!请检查连接方式和仪表地址。)2.3 仪器设置 根据实际测试仪器设计相应的控制界面,本案例测试仪器为网络分析仪,主要进行 S 参数测量,设置17第 17 期2023 年 9 月无线互联科技软件开发No.17September,2023了 4 个窗口 WIND1 WIND4 分别显示轨迹 trc1 trc4,显示格式可以通过下拉选项选择,测量参数默认分别设为 S21 幅度、S21 相位、S11 输入驻波和 S22 输出驻波。通过以下代码对窗口、轨迹、测量格式、功能参数、起止频率进行设置:窗口设置With VNA初始化仪器.WriteString(RST).WriteStr

12、ing(CONF:CHAN1:STAT OFF)设置轨迹 1 测量为 S21.WriteString(CALC:PAR:SDEF trc1,s21)读取下拉列表设置数据格式.WriteString(CALC:FORM&Space(1)&(Combox1.Text)打开窗口 1.WriteString(DISP:WIND1:STAT ON)打开轨迹 1.WriteString(DISP:WIND1:TRAC:FEED trc1)读取文本框数值设置比例值.WriteString(DISP:WIND1:TRAC:Y:PDIV&Str(TextBox16.Text)End With功能设置With V

13、NA选择轨迹 1.WriteString(CALC:PAR:SEL trc1)功率电平设置.WriteString(SOUR:POW&Space(1)&Str(TextBox11.Text)&dBm)平滑功能打开.WriteString(CALC:SMO:STAT ON)平滑值设置.WriteString(CALC:SMO:APER&Str(TextBox12.Text)扫描点数量设置.WriteString(SWE:POIN&Str(TextBox13.Text)End With频率设置声明开始频率、终止频率、频率间隔变量Dim fstart,fstop,interval As Single

14、声明采集点数变量Dim i,points As Integer清空工作表For i=1 To 4Sheets(i).UsedRange.Rows.ClearNext从文本框读取起止频率和采集点数fstart=TextBox8.Textfstop=TextBox9.Textpoints=TextBox10.Text根据采集点数计算间隔interval=(fstop-fstart)/(points-1)在工作表首行自动写入采样频点For i=1 To pointsSheet1.Cells(1,i)=fstart+interval (i-1)Next以 MHz 为单位设置仪器的起止频率 With V

15、NA.WriteString(FREQ:STAR&Str$(TextBox8.Text)&MHz).WriteString(FREQ:STOP&Str$(TextBox9.Text)&MHz)End With2.4 数据采集 通过点击按钮触发数据采集命令,4 个窗口采集到的数据直接存储到工作簿内对应的 4 个 Sheet(工作表)。核心代码如下:数据采集Dim i,points As Integer读取采样点数points=TextBox10.TextFor i=1 To pointsWith VNA选择轨迹,打开光标.WriteString(CALC:PAR:SEL trc1).WriteS

16、tring(CALC:MARK1 ON)按工作表首行频点设置光标频率.WriteString(CALC:MARK1:X&Str$(Cells(1,i)&MHz)读取光标数值.WriteString(CALC:MARK1:Y?)存储数据到工作表Sheet1.Cells(times+1,i)=Format$(VNA.ReadString,Fixed)End WithNext显示采集累计次数times=times+1TextBox15.Text=times2.5 数据分析 幅相一致性是本案例射频综合网络的主要技术指标,如图 3 所示,使用 VBA 调用 Excel 函数可以方便地查找出数据内的最大值

17、、最小值,计算出起伏值,并以红蓝颜色字体在工作表中醒目地标记出所在位置,配合一键生成的折线图可以辅助调试人员快速进行数值定位和数据分析。核心代码如下:查找最大值、最小值,计算起伏TextBox20.Text=WorksheetFunction.Max27第 17 期2023 年 9 月无线互联科技软件开发No.17September,2023(Sheet1.UsedRange.Rows.Offset(1,0)TextBox21.Text=WorksheetFunction.Min(Sheet1.UsedRange.Rows.Offset(1,0)TextBox22.Text=(TextBox2

18、0.Text TextBox21.Text)/2)通过条件格式规则查找极值位置并以红蓝字体标记ActiveSheet.UsedRange.Rows.Offset(1,0).SelectSelection.FormatConditions.AddTop10Selection.FormatConditions _(Selection.FormatConditions.Count).SetFirstPriorityWith Selection.FormatConditions(1).TopBottom=xlTop10Top.Rank=1.Font.Color=RGB(255,0,0)End With

19、With Selection.FormatConditions(2).TopBottom=xlTop10Bottom.Rank=1.Font.Color=RGB(0,0,255)End With选择数据区域,生成折线图ActiveSheet.Shapes.AddChart.SelectActiveChart.SetSourceData Source:=_ ActiveSheet.UsedRange.Rows.Offset(1,0)ActiveChart.ChartType=xlLine图 3 颜色标记和折线图2.6 文件处理 VBA 将 Office 软件中的对象按层次结构有逻辑地组织在一起,

20、如 Excel 中的工作簿、工作表、单元格范围(行、列)等;Word 中的文档、段落、字符、表格等。通过对这些对象的操作,VBA 可以方便地在 Office 软件间进行数据交互。如图 4 所示,需将 Excel 中测得的幅相数据导出至 Word 验收测试报告,按层次结构梳理目标对象为 Word 文档内第2 个表格,从第3 行2列至第 23 行 7 列范围;输出对象为 Excel 工作簿sheet1、sheet2 工作表前 3 列第 2 行至第 21 行。每列还做了幅相一致性的计算,用 VBA 命令将输入输出对象关联,即可实现数据一键导出。核心代码如下:图 4 数据交换37第 17 期2023

21、年 9 月无线互联科技软件开发No.17September,2023 Dim wordobj,worddoc As ObjectDim i As IntegerDim amax,amin As Single打开目标 Word 文档Set wordobj=CreateObject(word.application)wordobj.Visible=TrueSet worddoc=wordobj.Documents.Open(ThisWorkbook.Path&验收测试报告.doc)将 Ecxel 工作表内数据导出至 Word 文档内指定表格位置For i=1 To 20 Step 1With wo

22、rddoc.Tables(2).Cell(i+2,2).Range=Sheet1.Cells(i+1,1).Value.Tables(2).Cell(i+2,3).Range=Sheet1.Cells(i+1,2).Value.Tables(2).Cell(i+2,4).Range=Sheet1.Cells(i+1,3).Value.Tables(2).Cell(i+2,5).Range=Sheet2.Cells(i+1,1).Value.Tables(2).Cell(i+2,6).Range=Sheet2.Cells(i+1,2).Value.Tables(2).Cell(i+2,7).Ra

23、nge=Sheet2.Cells(i+1,3).ValueEnd WithNext计算幅相一致性,导出至 Word 文档内指定表格位置amax=WorksheetFunction.Max(Sheet1.Range(a2:a21)amin=WorksheetFunction.Min(Sheet1.Range(a2:a21)worddoc.Tables(2).Cell(23,2).Range=Format(amax-amin)/2,fixed)3 应用效果 本文案例中矢量网络分析仪对射频综合网络的测试结果表明,基于 VBA 编程环境的测试自动化程序开发周期短,系统运行稳定,数据采集高效,数据处理分

24、析简便直观,一份验收测试报告的数据导入,手动处理需 30 min 以上,自动化导入缩短至 5 s 以内,大大提高了工作效率,也避免了人为误差。目前,仪器的程控开发已扩展至频谱仪、示波器、功率计、信号源等,针对不同被测产品完善数据处理模块,已应用于多个型号微波组件和频率源的测试工作。4 结语 本文以实例论证了基于 VBA 编程环境实现测试自动化的便利性和实用性,程序将仪器的连接、参数的设置、数据的采集、数据的分析和数据的导出几个关键功能设计为模块化,参考代码完整、释义详尽、方便移植,通过适当的修改,可以灵活快速地适配应用于其他仪器和产品,为雷达集成调试中自动化开发提供了一种便捷的设计实现方法。参

25、考文献1裴英.雷达数字 T/R 组件自动测试系统设计J.现代雷达,2013(6):73-76.2焦萍萍,周显春.EXCEL 中的 VBA 程序设计J.电脑知识与技术,2016(11):63-64.3柴松刚,董绪丰,林禾,等.基于 VBA 的光电探测器 RC 参数测试技术研究J.电子技术,2020(8):4-7.4冯蕾洁,韩应征,王娟.基于动态频率选择技术的射频自动测试系统J.制造业自动化,2014(1):124-131.5徐利,张良国.基于 VISA_COM 的测量仪器通用测试系统的开发J.计算机测量与控制,2015(10):3297-3300.6刘阳,罗显志,周杨罗.基于 FPGA 的 IE

26、EE488 接口协议实现及驱动程序开发J.计算机测量与控制,2022(8):134-141.7林立杰,耿涛,程刚,等.基于 VC+6.0 的泰克数字示波器应用类设计J.太赫兹科学与电子信息学报,2016(3):432-437.(编辑 王雪芬)Design and implementation of rapid test automation based on VBAWang Yinyu Nanjing Research Institute of Electronic Technology Nanjing 210039 China Abstract For the urgent need of

27、test automation in radar batch production this paper presents a concise and practical method of automation program development based on VBA programming environment VISA standard library and SCPI commands taking the testing of an RF synthetic network by a vector network analyzer as an example it help

28、s engineers complete programming flexibly according to the product rapid implement instrument programming control data acquisition and processing analysis automatic import of acceptance test report data etc.The results show that the testing automation program developed using this method has convenience practicality and scalability greatly improving testing efficiency.At present it has been put into practical engineering applications.Key words VBA VISA SCPI test automation47

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 综合论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:文库网官方知乎号:文库网

经营许可证编号: 粤ICP备2021046453号世界地图

文库网官网©版权所有2025营业执照举报