杨 静 袁 超北京理工大学信息与电子学院 北京 100081
基于LabVIEW的自动化测试软件设计与实现
杨 静 袁 超
北京理工大学信息与电子学院 北京 100081
摘 要:伴随着计算机和软件技术的飞速发展,虚拟仪器正日渐成为自动化测控领域发展的新方向。虚拟仪器的使用具有节省硬件资源、人力资源,提高工作效率等诸多好处,并且使得测试具有一致性和可重复性。介绍了LabVIEW虚拟仪器开发方法以及自动测试系统搭建原理,设计实现了基于LabVIEW的自动化测试控制软件,并对所设计的软件进行了测试。
关键词:虚拟仪器;自动测试;LabVIEW
新进设备的验收测试、已有设备的标校检定等工作是实验室中设备日常管理中的重要内容。对于需要多台仪器、多个测试参数的较复杂的测试项目,如新研多通道接收机模块测试项目,或更复杂的系统测试项目,如注入式模拟仿真系统的参数测试等,可能需要调用多台套的仪器仪表进行多参数多回合的测试,如果仅依靠手动操作,必然需要耗费较多的人力和时间,测试效率会很低。设计研制自动测试平台,将需要的仪器互联并方便实现程序控制,完成对测试项目各参数的自动测试有着重要的实用价值[1]。
LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是由美国国家仪器NI(National Instrument)公司开发的虚拟仪器图形化软件开发平台[2],它集成了符合GPIB,RS-232,VXI等协议的各类仪器与数据采集卡通讯的全部功能,内置了可应用TCP/IP ,ActiveX等软件标准的库函数,是一个功能强大且灵活的虚拟仪器软件设计工具。LabVIEW还集成了大量的函数库和子程序。在调用这些子函数的时候,可以抛弃传统编程语言中繁难的内存分配、指针操作等编程问题。另外,LabVIEW还包含了通用接口总线、串口、针对应用的数据采集(DAQ)、数据分析、数据存储、数据显示和因特网通信的函数库。利用它可以方便地建立自己的虚拟仪器系统。LabVIEW可以在Windows,Mac OS X以及Linux这些操作系统上使用。由它开发的程序不仅可以在这些平台上执行,还可以在 Microsoft Windows CE,Microsoft Pocket PC,Palm OS和其他嵌入式平台,例如DSP,FPGAs以及微处理器上执行。因其被奉为一款标准的数据采集和仪器控制软件,故而它大量地被研究室、学术界和工业产业界所采用[3]。
在对VISA(虚拟仪器软件构架)、仪器驱动器和LAN技术进行深入研究的基础上,将应用广泛的LAN技术和高效的自动测试理论相结合,利用LabVIEW软件实现多个外部标准仪器(如信号发生器、示波器、频谱仪)连接、测试信号产生、参数测量控制及结果保存,利用LAN平台可以实现外部标准仪器的远程控制及测试结果的共享,可以充分体现自动测试系统的高效率。本文设计并实现了一款基于LabVIEW的自动化测试控制软件并完成了测试。
1.1 VI基本开发方法
LabVIEW软件的开发包括程序框图的功能搭建及前面板的GUI设计[4]。
框图是程序的源代码,类似于C++编程中的文字代码,不同的是此处由LabVIEW的图形化语言作为编程环境,事实上可执行的程序是框图。框图程序具体包括控制程序前面板展示和传递数据的端口、实现函数以及功能调用的节点、完成结构化程序控制命令的框图、展现执行程序过程中数据流的连线等几个部分组成。
前面板是软件的图形用户界面,被用于设置输入量和观察输出量,可以视为虚拟仪器的控制面板。主要组件包括控件和指示器,其中的控件等同于输入量,开发人员设置输入参数需通过控件操作;指示器等同于输出量,程序经由指示器向开发人员显示状态或输出数据。另外,开发人员还能使用各种图标,如开关、旋钮、按钮、图形图表等,使前面板易于观察和理解。前面板是VI的交互式用户界面,开发者可以使用外部设备如鼠标、键盘进行输入,而后在屏幕上观察程序产生的结果。
1.2 对标准仪器的控制
美国国家仪器NI公司定义开发了一种用来与各种仪器总线进行通信的高级应用编程接口NIVISA(Virtual Instrument Software Architecture),LabVIEW对标准仪器的控制就是通过NI-VISA实现的。
VISA是一个I/O接口软件和其范例的统称,能够控制串口,以太网,GPIB,USB,VXI或PXI仪器[5-6],并基于使用仪器的类型来调用相应的程序驱动。VISA同总线、操作系统以及编程环境相独立。VISA 不仅提供了简单易用的控制函数集,在应用形式上相当简单,方便初学者或是简单任务的设计者掌握上手;同时VISA还提供的非常强大的仪器控制功能与资源管理,可支持复杂系统组建者的工作。
VISA 总线的I/O接口软件是一个用来与各种仪器总线进行通讯的高级应用编程接口(API)的综合软件包,具有不受总线、平台和环境的限制的优点,且采用面向对象编程,因而具有优越的扩展性、兼容性和独立性,可用来对串口,USB,GPIB,PXI,VXI和以太网系统进行配置、编程和调试。
VISA 是虚拟仪器系统I/O 接口软件,基于自底向上结构模型的VISA创造了一个统一形式的I/O 控制函数集[7]。常用VISA函数[8]如表1所示。
表1 常用VISA函数功能列表
表1(续)
上述函数完成软件功能的过程可以描述为:首先通过ViOpen.vi函数建立计算机与仪器的连接,接着利用ViWrite.vi函数向仪器发送各种命令,利用ViRead.vi函数读取仪器响应的任何数据,最后完成所有测试任务后可使用ViClose.vi函数断开计算机与仪器的通信连接。
每一个VISA 函数都有一个VISA 资源名称参数,用来指明该函数对应的硬件设备,使用不同接口类型的仪器由程序自动更换VISA 资源名称参数[9]。如VISA 资源名称为GPIB∶22,则GPIB用于指明接口的类型,22用于表明GPIB的地址;若为LAN接口,对应的VISA资源名应为测量仪器的IP地址。
为了能够实现对标准信号产生仪表和测试仪表的远程操作控制功能,自动测试平台的硬件主要包括局域网、分布式主控终端计算机、测试信号产生仪表(如标准信号源等)、测试结果观测仪表 (如示波器、频谱仪等),总体连接框图如图1 所示。
图1 自动测试平台系统组成框图
基于上述平台硬件,用户根据测试任务选择平台中的仪器,与被测设备连接好后,运行测试软件,即可对信号源仪表进行设置并启动输出,对观测设备的测量结果进行读取、处理和存储,结果输出形式可以包括数据列表、图形,或者直接自动生成测试报告。如果在局域网内进行构建,该平台既可以由单个客户端独享,也可以由LAN上的客户端共享[10]。其中的多客户端共享是由测试软件和网关进行管理的,对于用户是透明的。
不同测试任务关注的测试项及对应的结果参数都可能不同,自动测试平台针对实验室常用的仪表信号产生及参数测量功能,对通用自动化测试平台的系统功能进行了定义,形成对系统软件功能的总体要求(如图2所示)。
图2 自动测试平台软件功能总体框图
上述自动测试功能会在用户主控软件进行集成,并提供友好的使用界面。当系统开始运行时,若用户需要调用某台仪器,如信号发生器、示波器、频谱仪等,直接在主面板上选择相应的仪器名称,运行后即可实现对某外部仪器的控制,然后通过软件前面板中的各种功能参数对仪器进行设置。软件可以实现单个指标参数的测试,也可以以一定步进在相应测试区间中的自动测试,并且利用LabVIEW 动态报表生成技术[11-12],实现了测试结果的报告自动生成功能。
设计实现的集成有信号源和示波器的自动化测试控制软件主控界面如图3所示。
图3 自动化测试控制软件主控界面
主控界面的左侧区域为标准信号源的设置窗口,通过“信号源名称”下拉框可以在实验室中所有在库标准信号源型号中选择本次测试所用的仪表。具体的信号源参数设置包括起始频率、截止频率、频率步进、输出功率、测试时间步进、功率偏置等。与这部分GUI界面对应的后台框图程序如图4所示。
图4 信号源功能的框图程序实现图
主控界面的右侧区域为观测示波器的设置窗口,通过“信号源名称”下拉框可以在实验室中所有在库示波器型号或者IP地址中选择本次测试所用的仪表。具体的示波器测试设置量包括测试通道、最大时间、探头衰减、测试功能选择等,测试结果显示功能包括测试结果数值显示、测试波形的图形显示等,与这部分GUI界面对应的后台框图程序如图5所示。
图5 示波器功能的框图程序实现图
下面以通过LAN连接的仪器控制扫频信号的自动输出及自动测量为例,对自动测试平台的功能进行测试,测试平台的连接如图6所示。
图6 自动化测试平台功能测试实物连接图
测试前需先设置仪器的IP,将主机、信号源和示波器建立在一个局域网内。
运行在主控计算机上的自动化测试控制软件,可以对信号源和示波器进行参数设置,直接自动控制标准信号源输出扫频正弦波,并自动控制标准示波器测量信号源输出的信号的幅度参数(均方根、峰峰值、最大值、最小值、平均值等)与时间参数(频率、周期等),并将测量的信号参数输出到可选的目标文件,并可把示波器测量的信号参数及波形显示在软件界面上,具体的测试步骤流程如图7所示。
图7 扫频信号自动化测试程序的流程图
在软件的信号源设置选项中,将VISA resource name选项卡的下拉菜单选择为信号源设置的IP地址,本次测试设置的扫频信号起始频率为10 MHz,截止频率为50 MHz,频率步进10 MHz,步进时间10 ms,信号功率0 dBm,能量偏置0 dB。在软件的示波器设置选项中,将VISA resource name选项卡的下拉菜单选择为示波器设置的IP地址,设置示波器的采集通道及要测试的幅度参数和时间参数,点击运行按钮实现示波器的控制,将示波器的波形的对应参数及具体波形传回至主控软件界面进行显示(如图8所示)。在输出设置下选项中,设置参数计算的次数及数据结果输出保存的路径,点击保存按钮,灯亮即开始保存测量参数。本次测试测量5次,将数据保存在Excel表格中(如图9所示)。
图8 自动扫频测试验证中的参数设置和结果回显
图9 自动扫频测试验证中的输出设置保存
对比仪器自身显示的结果与自动测试控制软件录取结果数据和波形,两者完全相同,验证了自动化测试系统平台功能的正确性。
本文针对实验室设备管理中的测试效率提出问题,采用LabVIEW 构建自动测试模块的思路,设计实现了一款基于LabVIEW的自动化测试控制软件,测试结果验证了软件功能的正确性。自动测试软件可以接入主流厂商的多款型信号源设备和测试仪表设备,模块化高;基于标准化的驱动程序包进行通信,可移植性强;支持LAN 内多客户端共享,能够实现局域网内的分布式联合测试。通过实验室仪器设备使用便捷性地增强,提高了设备使用率和测试过程的效率。
参考文献
[1] 陈尚松,李智,雷加,郭庆.虚拟仪器回顾与展望[J].国外电子测量技术,2009,28(12):17-21.
[2] 廖开俊,刘志飞.虚拟仪器技术综述[J].国外电子测量技术,2006,25(2):6-8.
[3] 戴鹏飞.测试工程与LabVIEW 应用[M].北京:电子工业出版社,2006.
[4] 陈锡辉,张银鸿.LabVIEW 8.20程序设计从入门到精通[M].北京:清华大学出版社,2007.
[5] 蒋薇,张晓波,赖青贵.基于LabVIEW的仪器通信技术研究[J].计算机测量与控制,2013,21(4):1030-1032.
[6] 李海明,保安,双记.基于LabVIEW构建电子仪器自动测试系统[J].中国测试,2010(4):63-65.
[7] 余志荣,杨莉.基于NI-VISA与LabVIEW 的USB接口应用设计[J].单片机与嵌入式系统应用,2007(1):66-69.
[8] 刘昌伟,邵左文,毕文.基于LABVIEW 的USB 接口多路高速数据采集系统的设计[J]. 世界电子元器件,2008(12):85-88.
[9] 张磊.利用VISA 控制仪器设备各种接口[J].电子测试, 2008(10):58-61.
[10] 殷贤华,彭彪. 基于LabVIEW的LAN 结构自动测试平台设计[J].电子测量技术,2010,8(33).
[11] 王晓兰.基于LabVIEW 的自动测试系统中动态报表的生成方法[J] .测控技术,2008,27(9):63-64.
[12] 邹坚,李世平,魏小飞.基于LabVIEW的自动测试系统中报表生成研究[J].自动化仪表,2006,27(11):68-70.
[13] 李海明,朱保安,王双记.基于LabVIEW构建电子仪器自动测试系统[J].中国测试,2010,36(2):63-65.
Design and Implementation of Automatic Measuring Platform Based on LabVIEW
Yang Jing, Yuan Chao
School of Information and Electronics, Beijing Institute of Technology, Beijing, 100081, China
Abstract:With the technology of computer and software developing rapidly,virtual instrument is becoming a new direction in the field of automatic measurement and control. There are many advantages by using virtual instrument, such as improving working efficiency, reducing personnel resource and so on. And it can be insured that every measurement is of coherence and reproducible by using virtual instrument. This paper introduces the methods of developing virtual instrument software and the principles of designing automatic measuring platform (AMP) at first. Then the functions of the software of AMP are designed and implemented. The software is tested at last.
Key words:virtual instrument; automatic test; LabVIEW
收稿日期:2015-10-31
作者简介:杨静,博士,实验师,副院长。
基金项目:国家自然科学基金项目(编号:61401024)。