苏姗姗,宋 哲,张 娟
(1.南京熊猫汉达科技有限公司,南京 210014;2.南京电子设备研究所,南京 210007)
随着仪器技术的更新和对计量要求的不断提高,自动测试成为当前计量的主要手段,对于常见的通用仪表自动测试的应用更是司空见惯。如吴海松在《基于Labview的信号发生器自动计量校准系统研究》[1]中提出了一套完整的信号发生器自动测试方案,该系统完全依据信号发生器检定规程,可实现频率、幅度、谐波等必检项目的自动测试;李博等在《函数信号发生器自动检定/校准系统的开发》[2]中采用Visual BASIC 6.0平台和MS ACCESS数据库实现了函数信号发生器频率、信号、幅度等项目自动测试;苏姗姗、宋哲等在《基于MET/CAL的数字示波器自动校准系统》[3]讲述了如何采用福禄克公司的9500B和FSC语言实现示波器的自动校准;段誉在《基于GPIB总线的频谱分析仪自动校准系统的研究与实现》[4]中设计了一套基于Delphi环境频谱分析仪自动校准系统,能实现频率、电平参数、分辨力带宽等主要项目的自动测试;王晓东在《基于C#的数字多用表自动校准测试系统分析与设计》[5]中利用多功能源5522A实现了对34401A的自动测试;徐晓燕、王海林在《基于LabVIEW的工业铂、铜热电阻自动测试系统》[6]提出了由1590超级电阻测温仪、2590扫描器、低温槽、油槽等组成的热电阻自动测试平台。可见,自动测试在计量各个专业中都得到了广泛的应用。
通常功率敏感器配合功率指示器用来进行微波功率测量,常用的功率敏感器有罗德与施瓦茨公司生产的NRP系列,如NRP-8S、NRP-Z11,是德科技公司的E930XA、N192XA等系列,安立公司的MA2472D、MA2481D等。
测量中,通常按照高中低频率分为3个通道,倘若按照生产厂家技术要求,仅校准因子一个项目的校准点就高达200~300个,熟练的计量人员完成该项目的测量通常需要90分钟左右,而自动测试可使该过程缩短至20分钟左右,大幅提高了工作效率,降低了人工成本[7-10]。
C#是一种常用的面向对象的语言,具有很高的稳定性和安全性,语言简洁,以.NET Fromwork为基础,很多仪器都留有C#编程接口。C#中的类(class)、接口(interface)、委托(delegate)、引用(using)等概念的应用对于程序模块化实现非常方便,将通用的功能进行模块化设计,为以后将该系统移植为其他自动测试系统提供了可能[11]。
功率敏感器的测量依据JJG(军工)48-2014《小功率座检定规程》和GJB/J3598-99《功率敏感器检定规程》进行,主要校准项目有校准因子和电压驻波比。
校准因子是指功率敏感器中测热元件内的替代功率(即功率指示器指示的功率)与入射到功率座输入端面上的微波功率之比。一般采用交替比较法进行测量。
传递标准由高方向性的定向耦合器(或对称性良好的功分器)和高准确度等级的标准功率座和标准功率指示器组成。该传递标准由高一级的功率标准装置定标并确定其校准因子Ks,然后用于校准/被检功率敏感器[12]。
校准原理如图1所示。首先对标准功率座和被校功率敏感器进行校零;将信号发生器调至所需频率,电平按需设置;读取标准功率指示器上示值Pbs(此处值为1 mW)和主臂上被检功率指示器的示值Pbu,那么被校功率敏感器的校准因子Ku为:
图1 校准因子测量原理图
(1)
如图2所示,电压驻波比是无线电领域表征反射特性的传统参量,指驻波波腹电压与波谷电压幅度之比,网络分析仪带有电压驻波比测量功能,直接测量该参数即可。
图2 电压驻波比测量原理图
首先对传递标准网络分析仪进行单端口校准,然后将被校功率敏感器接在此端口,选择S11(端口2匹配时,端口1的反射系数)测量模式,选择VSWR(voltage standing wave ratio)测量功能,结果即为电压驻波比。文中所用网络分析仪为N9952A[13]。
系统硬件如图3所示。根据第1节中测量原理知,功率敏感器校准装置中传递标准包括标准功率敏感器及网络分析仪、信号发生器。
图3 系统硬件框图
文中采用罗德施瓦茨公司生产的NRPC-18作为标准功率座,双通道功率计NRX作为标准功率指示器。当被校功率敏感器是同厂家生产时,可将其连接至NRX通道2直接测量;为其他厂家时,需配套相应的功率指示器。NRPC-18的频率范围为0 Hz~18 GHz。网络分析仪采用手持便携式网络分析仪N9952A,其频率测量范围为300 kHz~50 GHz。信号发生器采用E8257D,其频率测量范围为0.09 kHz~40 GHz。该组合可满足大部分功率敏感器的校准需求。
GPIB(general-purpose interface bus)总线技术是实现仪表与计算机交互的基础。仪表往往留有通讯接口以支持GPIB卡,网络通信或USB(universal serial bus)通信。在厂家的技术手册中通常可以查到自定义的仪器交互指令。这些是仪器交互的硬件基础[14]。
仪器管理可借助于仪器厂商的接口控制器软件,最常用的为是德科技的IO Control或者NI(national instrument)公司的 IO Control,本自动校准系统的开发建立在是德科技的IO Control基础上,其用于识别、控制仪表。
软件设计借助于Microsoft visual studio 2019 软件开发平台,运用C#语言搭建的Win From 桌面项目,再结合ACCESS数据库、Keysight IO Control来实现与仪表的通信、数据处理[15]。
软件的设计流程参照仪表的计量过程,具体设计思路如图4所示。根据计量流程,按照功能分为仪器管理、测试方案设计、测试过程实现及数据处理4个功能模块。仪器管理包括搜索仪器,登记仪器;测试方案设计主要指测量模板的导入、编辑;数据处理包括数据的存储和原始记录的生成。除此以外,软件还有一些辅助性功能,如一键更新现有模板中标准器信息、浏览历史数据等。
图4 软件流程图
仪器管理模块包括仪表搜索和仪表信息登记两个模块,该模块实现的关键在于如何将程序中的变量与IO Control中识别的仪表进行关联:需要先在系统中添加公共类agvisa32.cs,该类包含了是德科技IO Control 中所留的基础应用程序接口,实例化类后,可方便地调用其中的公用函数与仪器进行交互。
仪器搜索实现主要步骤是:
1)打开默认资源管理器,生成操作句柄。主要使用函数viOpenDefaultRM(out)。
2)查找仪器,判断是否出现错误。查找仪器主要使用viFindRsrc(int sesn, string expr, out int vi, out int retCount, StringBuilder desc)、viFindNext(int vi, StringBuilder desc)等函数来实现;判断是否出现错误主要通过操作句柄返回的参数进行识别,返回0表示无错误。
仪器信息登记功能实现的关键在于数据库的建立。根据实际需要建立数据库表格,通常信息要包含委托方名称、地址、被检仪表名称、型号、序列号、校准人员、校准时间、地点等信息,由于数据量不大,此处可采用ACCESS数据库。调用相关操作函数,需在项目中添加system.data,system.data. OleD引用,使用该引用下的OleDbConnection类进行数据库操作。
该模块主要实现两个功能:校准方案的选择、编辑。计量方案的选择功能的实现较为简单,只需将数据库文件列表搜索出,并将符合要求的方案设定为当前文件即可。主要使用一些文件控制函数,如system.IO.Direction.getfiles(),在调用该此类函数前,需在程序中添加using system.IO的声明。
根据计量质量管理要求,计量的方案模板都处于受控状态[16],即格式、测量点要按照质量文件要求进行,通常是excel文档格式。计量方案模板的编辑即指将受控的原始记录模板导入到该自动测试系统,转化为数据库文件,并添加标准器等信息。该功能实现的难点在于office文件如何转化为ACCESS数据库文件。主要步骤总结如下:首先,使用文件路径函数system.IO.Direction.exit()判断待转换excel文件是否存在;其次,将excel文件按照测试项目转化为有多个sheet(单元)的格式化文件,每个sheet只写一个测试项目,且在首行写入表头信息,作为之后数据库表文件的字段;最后,创建数据库文件,建立基于excel文件的oledb连接,遍历excel的sheet,获取各个表名,表字段和数据,创建对应表,在表中添加数据。
遍历excel,获取表名,主要应用的函数是GetOleDbSchemaTable(**,**)。获取表结构与数据可先将sheet中数据写入数据表datatable,再添加到ACCESS对应的表中。Datatable是内存中一个临时保存数据的网格虚拟表。将sheet文件写入datatable,步骤可参照表1中语句。
表1 sheet中内容写入dataTable步骤
表1中,步骤1~4是将对应sheet文件中数据写入数据集dataset;步骤5提取对应数据表;步骤6为datatable命名;步骤7为获取数据表中对应的字段名。获得表名和字段后,即得知表结构全部信息,在数据库中创建新表,再遍历datatable的数据,添加到对应表即可。
测试过程的设计流程主要有:测试前准备,选择校准项目和校准点,按顺序进行校准,校准结束后现场恢复。单个项目的测试流程如图5所示,包括提示连接图、实例化对象类、测试前仪器准备、单点测试、保存数据、更新显示界面、判断是否超差等步骤,单个项目测试过程的设计思路详见图5。从图可知,测试过程模块的实现过程中运用了大量的接口和类。
图5 单个测试项目流程图
在功率敏感器校准因子的测试过程中,需要用到信号发生器、标准功率座、标准功率指示器、与被检功率敏感器配套的功率指示器。下面以校准系统测试过程中的信号发生器相关操作为例,讲述如何在校准过程模块设计中使用接口和类。
首先,建立所用仪表相关接口。如信号发生器的接口interface Reference_Signal,在接口中定义信号发生器所用到的操作过程,如表2所示。步骤1,定义公共接口;步骤2到5定义接口成员函数,分别对应设置电平、设置频率、打开信号器输出、关闭信号器输出操作。
表2 在接口中定义操作函数
其次,定义信号发生器类 Class_Signal,在该类中实现接口Reference_Signal中的所有成员函数。表3中步骤1定义类名,且该类继承了接口Reference_Signal;步骤2,定义类;步骤3~7实现接口成员函数,即为每个接口成员函数添加具体步骤。
表3 在类中实现接口成员函数
最后在测试过程类中调用接口以及接口的成员函数。表4以过程类ClassTestProcedure的实现过程为例,讲述在过程类中如何与接口联系并调用该接口成员函数。
表4 在过程类中调用接口及成员函数
表4中测试过程类被命名为ClassTestProcedure,在步骤1中定了类成员变量a1,b1,c1,a1为接口Reference_Signal类型;步骤2中定义了该类的结构函数,并通过参数传递,将a1与a2关联;步骤3为类成员函数,在该函数中调用了接口的成员函数。根据校准系统所用仪表知,步骤1中b1和c1为功率指示器接口类型的变量。
上述过程可总结为:定义接口,在其继承类中实现接口,在测试过程中定义某接口类变量,运用参数传递法,调用接口函数。
数据处理包括测试过程中数据的存储和原始记录的生成。
测量过程中数据的保存使用SQL语句操作完成即可,在保存前,需判断数据是否超差、保存数据的小数位数是否符合要求等(通常要求测量结果与测量不确定度小数位数对齐)。原始记录的生成,涉及ACCESS数据库文件到PDF文件的转换、超差数据颜色标志等。
原始记录有专门的格式要求,为了方便快捷地实现格式的套用,软件设计时,先将原始记录中包含委托方信息、被校仪表信息、标准器信息及依据技术文件等信息的表头制作成Excel格式的模板文件,放入系统数据库。生成原始记录时,将对应信息,从临时数据库填充到目标模板;然后,再提取项目信息和数据信息,填入Excel文件;最后,将Excel文件转化为PDF文件并保存到指定路径。具体文件转换流程如图6所示。
图6 ACCESS文件转换为PDF流程
登陆系统后,进入系统主界面,如图7所示。包括用户、DUT(被校件)、模板、校准、报告、信息管理和帮助7个菜单键。菜单栏下面的图标按钮为操作快捷键,从左往右依次实现搜索仪器、登记仪器、选择测量方案、测试过程通用设置、开始测试、生成校准报告等功能。
图7 系统主界面
图8为该自动测试系统的测试界面,左侧栏为所选方案中包含的测试项目,右侧栏为当前测试项目中所包含的测量点。
图8 测试界面
在点击图8中“开始测量”按钮之前,可以根据实际需要选择测量项目及每个项目对应的测量点;测量过程中,可随时按下“终止测量”、“暂停测量”按钮。终止测量功能将立即终止此次测量活动;暂停测量仅停止当前动作,待检查完毕后,再按下“继续测量”,可继续当前过程。测量结束后,可单独浏览每项的测量数据,如不需要重测,点击“保存数据”按钮,即将当前数据保存到对应的数据库中。点击主界面中的报告生成按钮,即可生成最终的电子原始记录。
实验中,以罗德与施瓦茨公司的NRP-8S功率敏感器为被校准对象,分别采用该自动测试系统和传统手动方法进行10组校准因子项目的测量,采用10次测量结果的平均值来进行结果可靠性分析。由表5可知,自动测试与手动测试结果非常接近,是否满足技术要求需进一步分析。
表5 自动与手动测试结果
4.2.1 验证方案
《JJF1117-2010 计量比对》中指出考核检测方法等方面的实际能力,可以通过比对法进行确认,比对的结果,可以作为考核结果的有效证明[17]。因此,采用自动测试与手动测试的比对来验证自动测试系统的可靠性和准确性。
结果的评价用归一化偏差En值来进行,若全部测量点|En|小于1,则结果表示满意;若一个及以上测量点|En|大于1,则结果不满意。其中En用以下方式进行计算:
(2)
公式(2)中,y1为某点手动测量的结果,y2为该点自动测试的结果,U为该点的测量结果不确定度。下面首先分析功率敏感器校准因子项目测量结果不确定度,再通过计算结果来验证该自动测试系统测量结果的可靠性。
4.2.2 测量结果不确定度分析
影响测量结果的不确定度来源主要有[18-19]:1)标准功率座校准因子准确性引入的不确定度分量ub1;2)标准功率指示器测量准确度引入的不确定度分量ub2;3)被校功率敏感器配套功率指示器测量准确度引入的测量不确定度ub3;4)失配引入的不确定度分量ub4;5)测量重复性引入的测量不确定度ua。
下面以1 GHz,0 dBm点为例进行不确定度分析。
1)标准功率座校准因子准确度引入的不确定度ub1:
上级证书在该点处给出的测量不确定度是Urel=0.46%(k=2),那么,采用B类不确定度方法进行评定,该点处标准功率座校准因子准确度引入的不确定度分量是:
ub1= 0.46%/2 = 0.23%
2)标准功率指示器测量准确度引入的不确定度分量ub2:
上级证书在该点处给出的测量不确定度是Urel=0.019%~0.032%(k=2),那么,按最大值进行计算,采用B类不确定度方法进行评定,由标准功率计的准确度引入的不确定度分量为:
ub2= 0.032%/2 = 0.016%
3)被校件配套功率指示器测量准确度引入的不确定度ub3:
因为标准功率指示器NRX具有双通道,且与NRPC-8S适配,因此该标准功率指示器也同时作为被校件功率指示器。
由式(2)可知,被校件配套功率指示器的准确度引入的不确定度分量为:
ub2= 0.032%/2 = 0.016%
4)失配引入的不确定度分量ub4:
5)测量重复性引入的测量不确定度ua:
对被校件进行6次独立测量,6次测量结果分别为99.05%、99.06%、99.05%、99.07%、99.10%、99.06%,根据贝塞尔公式计算实验标准偏差,作为测量结果的重复性[22]。
(3)
由上可知该系统校准因子的测量不确定度包含5 个标准不确定度分量,且各分量相互独立不相关,那么合成标准不确定度uc为:
当置信概率p=95%时,包含因子k=2,那么扩展不确定度[23]为:
U=2uc=2×0.31%=0.62%
其他点的测量不确定度评定过程在此不再赘述,按照上述方法可得各点的测量结果不确定度如表6所示。
表6 测量结果不确定度汇总表
4.2.3 结果验证
将表5和表6中的结果代入公式(2),计算出的最终结果如表7所示。可知,所有测量点的|En| 均小于1,测量结果满意,该自动测试系统的校准因子项目测量结果可靠性得到验证。
表7中,y1-y2为表5中手动测量与自动测量结果之差。
表7 比对结果
文章首先介绍了小功率敏感器的校准原理、硬件结构;接下来软件设计中详细讲述了软件设计流程以及仪器管理模块、测试方案模块、测试过程模块、数据处理模块的详细设计方案及关键实现;最后,以功率敏感器校准因子为例,分析了该校准系统的测量结果不确定度,通过自动测试和手动测试的结果比对,验证了该系统的可靠性。
经过一年半的反复测试和修改,目前系统流程流畅可靠、交互界面友好,各项预期功能均得到实现。截止到目前为止,该系统已自动测试功率敏感器约650只,较人工节约758小时,得到了实验室人员的一致认可。
该软件系统是一个通用的仪器自动测试方案,在此系统基础上,重新编制被校仪表的测试过程类,可快速开发其他类型仪表的自动测试软件。基于此结构,笔者已成功开发了数字信号发生器自动测试系统、频谱分析仪自动测试系统等软件平台,并投入生产使用。