通用电子测量仪器自动测量系统的实现
2016-11-24杨晓东刘成国吴志鹏
杨晓东,马 闯,刘成国,邹 静,吴志鹏
(武汉理工大学理学院 射频与微波技术研究中心,武汉 430070)
通用电子测量仪器自动测量系统的实现
杨晓东,马闯,刘成国,邹静,吴志鹏
(武汉理工大学理学院射频与微波技术研究中心,武汉430070)
现如今通用电子测量仪器具备了更宽的测量范围和更高的测量精度,功能完善,应用广泛,并且集成了外部程控接口,因此通过构建基于这些测量仪器的自动测量系统来进一步提升测量效率就显得十分必要;Agilent公司生产的E5072A矢量网络分析仪是微波领域用来测量分析网络参数的测量仪器,其集成了可用于外部控制的通用总线接口(GPIB),并且支持可编程仪器标准命令(SCPI)的控制,这样就构成了物理链路和程序控制之间的通路;因此利用Lab VIEW虚拟仪器开发平台和SCPI控制命令,通过GPIB总线连接上位机与网络分析仪,构建了一套E5072A的自动测量系统,这也是通用电子测量仪器实现程控测量的有效方法;使用该测量系统进行了氯化钠溶液浓度的测量试验,试验结果表明该系统能够极大的提高测量效率,移植性好,可以胜任一些耗时长、需定时测量等较繁复的测量工作。
Lab VIEW;可编程仪器标准命令;E5072A;通用总线接口
0 引言
伴随着科学技术与工业的快速发展,通用电子测量仪器在测量范围和精度方面都有了很大进步,一直以来各大仪器生产商为了仪器的可编程控制及自动测量,都会为仪器配置数据交互接口,如通用总线接口(GPIB)以及近年来发展的LAN接口和USB接口。采用Agilent公司生产的E5072A矢量网络分析仪为例,通过其GPIB接口建立与PC机的数据交互链路,利用Lab VIEW开发平台编写VI控制程序,通过SCPI命令实现E5072A的自动测量功能。
1 SCPI命令简介
SCPI(standard commands for programmable instruments)是可编程仪器使用的标准命令语言,主要目的就是通过该命令集的逻辑性、通用性以及兼容性而减少自动测试设备的程序开发周期,E5072 A支持该命令语言的控制。由于SCPI包含了IEEE488.2定义的命令结构,所以SCPI命令可以被分为两个部分,一部分是大多数仪器经常用到的公用指令,另一部分是SCPI仪器特定的标准控制命令。公用指令是指由IEEE488.2针对仪器操作功能定义的指令,它与实际测量及信号处理等工作无关,只用来控制仪器的重置、自我检测及状态查询等操作[1],这部分指令可以帮助设计人员进一步提高未来仪器的测试效率,这类指令都是以星号(*)开头,(?)一般表示查询命令,具体的指令集如表1中的第一列所示。
SCPI仪器特定控制命令主要用来从事测量、数据存储、资料读取及切换开关等工作,包含了所有测量函数及一些特殊的功能函数。SCPI仪器特定控制命令又分为必备命令(Required Commands)和可选命令(Optional Commands)两类[2],其中必备命令主要是从IEEE488.2公用命令扩展而来,功能是处理SCPI规格再所定义的状态汇报格式;可选命令是依据仪器本身需求实现的命令,有仪器的功能决定。E5072A使用的部分SCPI仪器特定控制命令集如表1中的第二列和第三列所示。
表1 SCPI命令集
SCPI仪器特定控制命令的都以冒号(:)开始,两个助记符之间的冒号表示在当前路径的下一级,分号(;)则用来分隔两条命令,不改变当前路径,其命令格式为一树状阶层结构,通常由三部分构成:
、参数形式和注释,具体的如图1所示。
图1 SCPI命令树状阶层结构
2 自动测量系统构成
E5072A矢量网络分析仪是Agilent公司于2011年6月推出的ENA系列新成员,其提供了更加灵活的平台,应用非常广泛。在构建远程控制系统方面,E5072A集成了GPIB、LAN及USB接口,所以选取了更为通用的GPIB接口组建自动测量系统。控制器运用PC机,并通过GPIB总线形成PC和E5072A的物理连接。
GPIB通用接口总线是一种工程控制用的协议。最初由HP公司提出,目前成为一种国际标准,其遵循IEEE488协议,并且可以使用较多的编程语言如VB、C++等实现电脑对仪器的控制。当然也有某些仪器制造商自己开发的语言支持GPIB。
Lab VIEW是由美国国家仪器(NI)公司设计的一种程序开发环境,并且支持GPIB进行数据传输,是目前应用最为广泛的图形化编程软件。Lab VIEW与其他计算机语言的显著区别在于:其他计算机语言都是采用基于文本的语言产生代码,而Lab VIEW使用的是图形化编辑语言编写程序,产生的程序是框图的形式。Lab VIEW软件提供了人性化的人机交互界面、便捷的编程和架构方式、强大的数据处理和显示功能[3],使其成为开发E5072 A自动测量系统的理想选择。
经过以上分析便得出了自动系统的硬件构成可以通过GPIB总线连接PC和E5072A,利用Lab VIEW编写图形化的VI控制程序,再通过传输SCPI命令实现E5072A的自动测量,其系统构成如图2所示。
图2 自动测量系统构成
3 Lab VIEW控制程序
GPIB总线实现了PC与E5072 A的物理连接,要进行数据交互需要Lab VIEW打开GPIB的数据接口。Lab VIEW平台集成了GPIB和VISA仪器I/O函数库,VISA是虚拟仪器软件结构体系(Virtual Instrument Software Architecture)的简称,是Lab VIEW平台上可以控制VXI、GPIB、RS-232及其他仪器的接口程序库[4]。考虑到控制程序的可移植性,选择VISA函数库进行编程,程序流程图如图3所示。
图3 程序流程图
该程序的前面板主要包含一些变量值的输入、信息的显示及程序的开关按钮,如图4所示。程序启动后,首先要打开GPIB地址对应的接口,然后对测量仪器初始化和校准,再进行扫频的类型、范围、点数的设定,考虑到自动测量过程中无需认为操作,选择将仪器的屏幕关闭来降低能耗,再对所需要的网络参数进行测量,并保存测量结果,可以设置程序的运行时间以及测量的时间间隔,程序运行完后将关闭GPIB接口。现对控制程序的几个关键步骤和SCPI命令介绍如下。
1)GPIB接口的打开与关闭:
打开GPIB接口要添加仪器I/O下的“VISA打开”控件,该控件的输入端要填写GPIB的物理地址,例如本次设计中的GPIB地址为GPIB0::17::INSTR,该地址会作为整个程序运行过程中与对应仪器数据交互唯一标识符。
关闭GPIB接口资源只需要在程序末尾连接仪器I/O下的“VISA关闭”控件。
2)E5072A的初始化及校准:
初始化*RST
校准:MMMEM:LOAD:FADT
SCPI命令均通过“仪器I/O”下的“VISA发送”控件发送。校准是每次使用网络分析仪进行测量之前必须进行的一个步骤,再接口和传输线没有变化的情况下,可以通过调用上一次保存的校准文件,使仪器快速达到已校准的状态。
3)扫频设置:
扫频类型:SENS:SWE:TYPE
起始频率:SENS:FREQ:STAR
终止频率:SENS:FREQ:STOP
扫频点数:SENS:SWE:TYPE
这些SCPI命令均带有相关的参量,它们的组合形式是:SCPI命令+空格+变量,变量都是字符型,其值由用户输入。
4)测量与数据存储:
测量网络参数:CALC:PAR:DEF
获取网络参数:CALC:DATA:FDAT
存储数据格式:MMEM:STOR:FDAT
存储图片格式:MMEM:STOR:IMAG
对于 二端 口网络,网络 参数 主要是S11、S21、S12、S22,它们也是测量网络参数命令的参量。为了在测量系统中实时显示测量结果,需要获取仪器的测量数据,通过“VISA读取”控件,获取仪器缓存中的数据,数据及图片的存储均以用户自定义的文件名为参量。
4 实验结果与分析
基于Lab VIEW平台开发的E5072A自动测量系统的前面板,也是最终呈现给用户的交互界面,主要包含自定义参数的输入以及状态和测量数据的显示,界面简洁友好,操作方便。
利用网络分析仪测量传感器加载被测溶液时的网络参数进而检测溶液浓度是微波测量领域的一种有效的检测手段[5]。利用该自动测量系统对NaCl溶液的浓度进行了检测,测量结果如图4所示。
实验表明构建该自动测量系统有以下几个优点:效率高,PC上的Lab VIEW程序启动后能够快速的向网络分析仪发送控制指令,程序中语句的执行速度由PC的硬件性能决定[6],相比于人为的操作网络分析仪的控制面板或者用鼠标操作,效率会有明显的提高;可以自动将测量结果保存为数据格式和图片格式,使得后期的数据处理更加便捷;在Lab VIEW程序的控制面板上输入好初始的测量设置并启动程序后,无需进行人为的操作,一方面可以减少人为操作带来的干扰;另一方面可以关闭网络分析仪的屏幕,可降低仪器的功耗;另外实验中经常需要用网络分析仪进行长时间的连续测量实验,并且需要定时的保存测量数据,这无疑对实验操作人员是一项繁复且艰巨的任务,而该测量系统能够提供很好的解决办法。
图4 反射系数S11与NaCl浓度关系
5 结束语
基于PC机上的Lab VIEW集成开发环境,编写了带有参数输入接口的图形化VI控制程序,并通过E5072A矢量网络分析仪集成的GPIB接口,利用GPIB总线构建PC机与网络分析仪的SCPI命令传输链接,最终实现了E5072A的自动测量。实验表明该系统能极大的提高了测量效率,并且给耗时长、需定时测量的实验提供了完善的解决办法。如今的通用电子测量仪器都具备对程控的支持,而该自动测量系统采用了标准化的接口和SCPI命令,使其能较好的兼容和移植到其他的测量仪器。
[1]付永杰,许有.SCPI语言在9500示波器自动检定系统中的应用[J].国外电子测量技术,2005,5:21-23.
[2]莫金生.可编程仪器标准命令(SCPI)介绍[J].计算机自动测量与控制,1994(1):22-31.
[3]胡宁,徐兵.基于Lab VIEW的频谱分析仪的设计[J].计算机测量与控制,2013.21(5):1404-1407.
[4]秦凡,韦高.基于VISA库及SCPI命令的仪器程控测量[J].现代电子技术,2011,11 (34):118-121.
[5]伟利国,张小超,李福超,等.基于微波的粮食水分检测系统设计[J].电子设计工程,2010 (4):1-3.
[6]马力,姜涛.基于 Lab VIEW 的 HP8510B自动测量系统的实现[J].电测与仪表,2009,46 (525):14-16.
Realization of Universal Electronic Measurement Instrument Auto-measurement System
Yang Xiaodong,Ma Chuang,Liu Chengguo,Zou Jing,Wu Zhipeng
(RF&Microwave Technology Research Center,College of Science,Wuhan University of Technology,Wuhan430070,China)
Nowadays universal electronic measurement instrument can provide wider measurement range and higher accuracy,excellent function makes them been widely used,and they have integrated external program-controlled interface,so it is significantly necessary to construct the instrument-based auto-measurement system to further enhance the measurement efficiency.The E5072Avector network analyzer from Agilent is applied to measure and analyze network parameters in microwave area,it has integrated external program-controlled GPIBinterface and supports SCPI commands,that means an access between physical link and program control can be established.So the E5072A auto-measurement system with Lab VIEW development platform and SCPI commands has been built,this is also the valid method to set up a universal electronic measurement instrument auto-measurement system.The system has been used to measure the concentration of NaCl,the result shows that the auto-measurement system displays favorable properties like enhanced measuring efficiency,good portability and is capable for complicated measurement which is time-consuming and timing-necessary.
Lab VIEW;SCPI commands;E5072A;GPIB
1671-4598(2016)05-0042-02
10.16526/j.cnki.11-4762/tp.2016.05.013
TP319
A
2015-11-04;
2015-12-08。
杨晓东(1990-),男,湖北十堰人,硕士研究生,主要从事微波传感器方向的研究。
刘成国(1966-),男,教授,主要从事复杂环境和媒质中的电磁波传播理论与应用方向的研究。