电子仪器自动检定/校准系统通用接口设计
2010-02-23容晓峰陈耀明
容晓峰, 张 琳, 陈耀明
(1.西安工业大学计算机科学与工程学院, 陕西 西安 710032;2.中国电子科技集团公司第二十研究所, 陕西 西安 710068)
0 引言
随着电子测量仪器的种类和数量的增加,传统的手动检定/校准方式已经不能满足计量领域工作的要求.将仪器自动测试系统用于检定/校准电子测量仪器,可以减轻计量人员的劳动强度,提高工作效率[1].2004年,国内某研究所开发了“信号发生器自动检定系统软件”[2],能进行某些型号脉冲发生器的自动检定.国外仪器生产商也提供了自动检定/校准的测试系统软件,如Tektronix的TekCal HFM ATE、Fluke的MET/CAL-Plus都可以对本公司生产的电子仪器进行自动检定/校准.
图1 多总线自动检定/校准系统组成
但是,这些系统在硬件连接以及标准仪器的选用上都有一定的限制,例如需要使用特定型号的GPIB接口卡连接仪器设备,或限制检定中仅能使用特定型号的仪器作为标准仪器,不支持其它同类型的电子测量仪器等.在软件升级方面,当测量基于新总线接口的电子仪器时,需重新设计开发自动测试系统,软件代码重用性低,这些问题使现有自动检定/校准软件不能满足计量部门在检定电子测量仪器时的工作需求.本文设计了一种基于通用接口的检定/校准系统分层结构,将检定/校准流程与系统软件分离,把测试过程中会发生改变的测试流程及相关数据从测试系统中独立出来,以特定格式编辑、存储在测量流程文件中,系统根据流程文件完成对仪器的自动检定/校准操作.
1 基于通用接口的检定/校准系统体系结构
1.1 自动检定/校准系统的组成
自动检定/校准系统是一种自动测试系统,主要由测量控制计算机(上位机)、被检定仪器、标准仪器以及设备互连总线接口及电缆组成.系统以计算机为核心,通过测量检定程序向仪器发送程控指令,自动完成所设定的测试任务.系统硬件连接与组成结构如图1所示.
1.2 基于通用接口的检定/校准系统分层结构
现有检定/校准测试系统中,测试程序直接调用VISA库函数,实现与仪器之间的通讯与控制功能,软件功能层次模糊[3].软件开发人员在设计实现测试流程的同时,还要熟悉VISA库接口,处理设备底层的通信控制、操作等.这种软件结构对系统设计开发人员的要求较高,也不易实现软件升级.当流程变动或仪器接口变化时,测试程序大部分需要重新写,代码重用性差.而基于通用接口层的检定/校准测试系统能较好的解决这些问题.
计量部门的检定/校准工作涉及不同生产商、不同型号系列的多种电子仪器,仪器的总线接口也有很多种.在已有工作的基础之上,本文采用基于通用接口的层次化体系结构,设计检定校准系统软件.系统结构由测试管理层、测试执行层、数据库管理系统、电子仪器通用接口层组成[4],分层实现完整系统功能,使软件具有模块化、开放性、多总线兼容的特性,系统分层结构如图2所示.
测试管理层给用户提供定制测量流程的功能,对测试数据库中存储的测量流程文件进行在线编辑,快速获得最终流程文件;程序根据流程文件处理检定/校准过程中获取的测量数据,以用户定制的形式输出检定/校准结果,并对获得的测量数据进行存储、维护管理等.
测试数据库用于管理/存储测量过程中的数据和设置信息,包括测量流程、测量结果、测量标准等各种数据,通过访问数据库中已存储的特定测量流程及相关标准来控制仪器检定/校准过程,测量过程的中间数据及测量结果存放在数据库中.
测试执行层主要由程控指令测试模块和检定/校准流程解释模块组成.用户通过程控指令测试模块向仪器发送程控指令,根据返回结果验证程控指令功能,确保测量流程中程控指令的正确性.检定/校准流程解释模块提示计量人员正确连接仪器设备,解释测量流程,控制系统中的设备完成检定/校准工作.
图2 基于通用接口的检定/校准系统分层结构
通用接口层基于VISA库设计实现,为测试应用程序提供API,实现对多总线仪器的统一编程,由VISA 接口层、SCPI命令层、伪指令解析程序及函数层组成.函数定义与伪指令解析程序为上层应用提供API接口,SPCI层与VISA接口协作完成仪器控制程序对操作系统的调用.通用接口层将上层测试应用与底层仪器通信控制细节分离,使仪器和接口通信协议对测量应用程序开发者透明,解决了硬件总线兼容与仪器互换问题.
2 通用接口层的设计实现
通用接口在结构上具有完整的语义描述、通讯接口和实现代码,该层向上提供通讯和伪指令解析服务,主要由通讯、伪指令系统、同步处理3部分组成.
2.1 通讯功能设计
通用接口实现如下通讯功能:资源定位、属性控制、资源锁定服务、事件机制、基本I/O等针对仪器设备的控制操作.通用接口的通讯功能由仪器接口模块实现,包括通讯路径管理、资源属性管理、资源事件管理和基本I/O 4个子模块,采用核心VISA函数设计实现通讯路径管理子模块管理系统中与设备进行通讯的会话;资源属性管理子模块管理系统中总线的接口属性,包括属性的设置和读取功能;资源事件管理子模块对测量过程事件进行管理,包括服务请求(SRQs)、中断及硬件触发事件[5];基本I/O子模块发送仪器控制指令,设置初始值或控制仪器进行某项操作、接收仪器回送信息、查询仪器状态.
封装的功能函数包括:建立会话、解析指令、发送指令、读取数据、获取资源属性状态值和设置资源属性函数.
2.2 伪指令系统
针对不同仪器设备控制存在的差异,实现用户指令字符串解析的功能.在电子仪器自动检定/校准过程中,将控制操作序列与相关设置参数从测试软件中分离出来,测量流程独立于测试软件,测量流程的变更对测试软件本身没有影响.
测量流程由用户指令字符串组成,是自动检定软件控制操作的依据.自动检定/校准系统读取编辑好的测量流程,按照测量流程的格式将用户指令字符串发送到通用接口.通用接口的伪指令解析程序对用户指令字符串进行解析,控制自动检定过程.这一过程存在两个环节:测试软件读取测量流程;通用接口解析测量流程中的用户指令字符串.
设计伪指令系统设计包含伪指令和用户指令字符串解析规则两部分,共定义4类伪指令:配置型指令、测量运算型指令、判断循环型指令、延时等待型指令.例如:“读写测量运算型”扩展指令:“|rw|:meas:tvolt? |V2+V1/2|,1 T1”,其中,“|rw|”字符串指示控制计算机先将“|V2+V1/2|”中的变量“V2”与“V1”相加后除2,得结果“V”,再将程控指令“:meas:tvolt? V,1” 发送给测量仪器并自动获取测量数据,将测量数据存入名称为“T1”的变量中.
2.3 同步处理
系统同步包括通讯同步和操作同步.通讯总线或网络机制均有自同步功能,通讯同步主要由计算机与测量仪器接口硬件实现.但是,发送程控指令的操作是否完成、仪器接收指令是否执行结束、测量数据是否准备好等操作同步问题采用状态查询、顺序执行命令及指令扩展的方法实现.
限于篇幅,仅以GPIB接口类型进行说明:系统支持服务请求和串行查询通讯同步,测量过程中支持“*OPC?”等状态查询命令和用户伪指令,配合数据库中“有稳定输出”(源类仪器)、“服务请求应用(有SRQ)”、“数据就绪请求”、“数据有效”、“非法值” 6个字段的规定实现测量过程的操作同步.
3 自动检定测量实验
3.1 仪器连接与设备配置
为验证系统功能,对多种接口类型的仪器进行了自动检定/校准测量实验,仪器连接如图3所示.
图3 混合总线接口仪器设备连接示意图
实验设备如下:
(1)可程控电子仪器:Fluke 9500B脉冲信号发生器,配备GPIB可程控接口;Textronix DP04104、HP 53131A型频率计,配备USB、LAN和RS-232接口;
(2)控制计算机: Windows XP SP4操作系统,安装GPIB 接口卡;
(3)系统连接电缆:GPIB总线连接电缆、USB连接线、RS-232连接线、网线和交换机;
(4)测试软件:电子仪器自动检定/校准测试软件.
3.2 实验过程及相关操作
(1)完成仪器设备的硬件连接后,通过在线仪器扫描功能扫描在线的仪器设备,获取仪器标识和地址,并建立与电子仪器的连接;
(2)在扫描到的仪器列表中选择Fluke 9500B脉冲信号发生器与HP 53131A型频率计组成自动检定系统,用GPIB接口连接设备,对Fluke 9500B执行自动检定/校准;
(3)再次选择Fluke 9500B脉冲信号发生器与HP 53131A型频率计组成自动检定系统,采用RS232、USB、LAN接口控制仪器重复上述实验.
3.3 测量流程及说明
本次检定的测量流程文本如下:
时标周期|校准器_频率计|P|:ROUT:SIGN:PATH CH1;:ROUT:SIGN:IMP
50;:VOLT:LEV:IMM:AMPL 1;:FUNC MARK;:PER 10E-9|-|OUTP ON|OUTP OFF|将源输出与频率计测量通道相连|000|0|A01
500.00 ps|-|500E-12 0.1|:VOLT:LEV:IMM:AMPL 0.25;:PER:CW 0.5E-9|25E-8|6
1.000 0 ns|-|1E-9 0.3|:VOLT:LEV:IMM:AMPL 1;:PER:CW 1E-9|25E-8|8
2.000 0 ns|-|2E-9 0.3|:PER:CW 2E-9|25E-8|8
5.000 0 ns|-|5E-9 0.3|:PER:CW 5E-9|25E-8|8
10.000 ns|-|10E-9 0.3|:PER:CW 10E-9|9.999 997 5 ns,10.000 002 5 ns|7
100.00 ns|-|100E-9 0.3|:PER:CW 100E-9|99.999 975 ns,100.000 025 ns|6
1.000 0 μs|-|1E-6 0.3|:PER:CW 1E-6|0.999 999 75 μs,1.000 000 25 μs|8
1.000 0 ms|-|1E-3 0.3|:PER:CW 1E-3|0.999 999 75 ms,1.000 000 25 ms|8
10.000 ms|-|10E-3 0.3|:PER:CW 10E-3|9.999 997 5 ms,10.000 002 5 ms|7
54.999 s|-|54.999 0.3|:PER:CW 54.999|25E-8|7
第一部分是整个检定项目都相同的仪器功能设置与操作:
测量项目:检定脉冲信号发生器的时标周期;
测量标准:校准器_频率计;
测量功能:P,频率计的周期测量功能,软件根据它从该频率计的程控指令表中找到相应的程控指令;
测量参数设置::ROUT:SIGN:PATH CH1;:ROUT:SIGN:IMP 50;:VOLT:LEV:IMM:AMPL 1;:FUNC MARK;:PER 10E-9,脉冲信号发生器的参数设置;
操作提示信息:|-|OUTP ON|OUTP OFF|将源输出与频率计测量通道相连|000|0|A01;
第二部分是每个测量点的仪器设置与操作,测量流程文本第四行以后的内容:
测量点标称值:500.00 ps;
测量标准分功能设置1:-,表示不需要对标准的分功能进行设置;
测量标准分功能设置2:500E-12 0.1,频率计参数设置;
发送给被检仪器的指令::VOLT:LEV:IMM:AMPL 0.25;:PER:CW 0.5E-9,使脉冲信号发生器产生信号;
技术参数:25E-8,设置技术要求的参数;
数据处理格式:6,表示测量结果数据小数点后保留6位.
以上测量流程文本记录了对Fluke 9500B脉冲信号发生器时标周期从500.00 ps到54.999 s测量点的自动检定过程,软件在测量流程文本的控制下执行自动检定过程.系统采用GPIB接口连接设备,完成对Fluke 9500B脉冲信号发生器的检定结果如表1所示.
表1 时标周期检定结果
检定结果显示,Fluke 9500B脉冲信号发生器时标周期在54.999 s标称值处是不合格的,其他标称值处均合格.
3.4 实验结果
实验中,使用不同接口连接设备均能完成在线仪器扫描及程控指令测试.自动检定/校准测试软件完成了Fluke 9500B脉冲信号发生器时标周期技术指标的自动检定,软件运行良好,采用不同接口控制仪器实验结果准确.实验表明,基于通用接口混合总线自动检定/校准测试系统解决了自动测试软件的通用性问题,可以兼容多种总线接口,提供了可靠的伪指令解析功能,能够保证检定结果的精确性.
4 结束语
基于通用接口的混合总线自动测试系统,既满足电子测量类仪器检定/校准工作的需要,又提高了测试软件的通用性和代码重用性.本论文主要工作有:
(1)提出了基于通用接口的自动检定/校准测试系统软件体系结构,解决了系统的多总线兼容问题,引入测量数据库及独立于软件的测量流程,实现了软件通用性的要求.
(2)设计了基于VISA的电子仪器通用接口,通用接口屏蔽了底层仪器设备的控制细节,简化了上层测试应用程序的开发.
[1] 国防科工委科技与质量司.无线电电子学计量[M].北京: 原子能出版社,2002.
[2] 程扬波.信号源类仪器自动检定/校准软件测试平台中检定流程的设计及实现[J]. 工业仪表与自动化装置, 2008,(1):57-59.
[3] 肖风云,马廷卫,唐义清. 基于VISA标准的仪器驱动器设计[J]. 机械工程与自动化, 2006,(2):132-134.
[4] 刁振军,容晓峰,陈耀明. 电子仪器自动校准与检测软件系统设计与实现[J] .电脑开发与应用,2009,10:76-79.
[5] 王 珅,侯国屏,赵 伟.可编程仪器控制规范和关键技术[J].电测与仪表,2004,2:22-24
[6] 李庆先,何 凯,温晓辉.数据多用表自动检定校准系统研究[J].仪器仪表标准化与计量,2007,4:38-40.