本站小编为你精心准备了信号发生器自动校准软件研制参考范文,愿这些范文能点燃您思维的火花,激发您的写作灵感。欢迎深入阅读并收藏。
《计测技术杂志》2015年第二期
1软件设计
1.1模块化结构模块化结构是程序设计的常用方法,它是按照软件功能划分成多个模块,每个模块完成一个子功能,各模块间在功能上、逻辑上相互独立,由主程序按照一定的调用关系完成指定的功能。模块化结构将程序复杂问题简单化,方便编程和调试,提高了程序的可读性和易扩展性。信号发生器自动校准软件由主函数和校准信息配置、模板文件调入、仪器校准、生成报告等多个功能模块组成,其中仪器校准包含信号发生器的各项参数校准模块,每个功能模块设计为一个用户子函数,各模块相互独立,模块之间有数据接口。整个程序由主函数控制,根据用户选择的校准模式,按设计好的流程通过调用单参数校准子函数,实现对信号发生器的自动校准。图4所示为程序的模块化结构。在模块化结构中,模块之间的数据接口设计很重要。由于信号发生器型号多,各台仪器的校准参数和校准数据不固定,全局变量的设计、校准参数的存储、模块间数据的连接、校准参数的显示,是程序设计中的主要问题。通过合理设置全局变量,建立数据集DataSet,使用DataGrid控件等方法,很好地解决了校准参数的调用、存储、编辑、更新和实时显示问题。
1.2模板文件模板文件有两类,一类为原始记录的模板文件,主要包括原始记录的表头、标准器的信息、各种校/检证书的封面等重要信息;另一类为校准参数模板,主要包括校准参数、校准条件等信息。VEE和Excel工作表有良好的接口。这两种模板均采用Excel文件,我们通过VEE中的Excel接口完成对模板文件的读取、测试数据的写入和存储。原始记录的模板文件,包括原始记录、校准证书封面、检定证书封面、校/检记录等内容,基本涵盖所有的证书类型,每一个内容对应一个sheet表,简单易用。原始记录模板还具有校准设备的选型功能,校准软件根据原始记录模板,调用不同标准器的测试程序,完成各类型号信号发生器的校准参数。我们使用标准模板和原有证书作为校准参数模板文件。信号发生器的厂家、型号和选件很多。相同型号的信号发生器,选件组合不同,其性能指标也不同。个别型号的信号发生器的序列号不同,其性能指标也不同。如果根据不同型号、选件组合,需设计大量的标准模板文件。在实际校准工作中,还包括二手信号发生器和由于部分指标超差而处于限用状态的信号发生器,这两类信号发生器的校准参数和正常状态的信号发生器有差异,比如频段变窄、有些功能损坏而不检、或者最大功率限制在14dBm等情况,不能使用通用的模板文件。因此,对于功能正常、指标合格的大部分信号发生器选择标准模板文件,对于上述特殊信号发生器选择原有证书作为模板文件,这样既解决了相同型号、不同选件、不同序列号性能指标的上下限不同的问题,也可以通过调用原有证书充分了解限用仪器的限用范围和工作状态,减小计量人员工作量。信号发生器自动校准完成后,软件通过VEE中的Excel接口将测试数据写入模板文件,并将其按自定义的文件名进行另存,文件名包括证书号、送检单位、型号、机号和设备编号等信息,方便日后查找和统计。
1.3程控命令库信号发生器的种类繁多,不同厂家、不同型号所使用的程控命令不同。通过分析各种型号信号发生器的程控命令,我们发现,虽然程控命令各不相同,但是均可分解为“初始化”、“射频开”、“调制开”、“内时基”、“功率”、“调幅开”等功能命令和“频率单位”、“功率单位”等单位命令,自动校准软件中根据校准要求设置了程控命令库。在测试过程中,程控命令既可单独使用,也可组合使用。同时,我们对信号发生器也进行了分类,将可以使用相同程控命令的信号发生器归为一类,例如Agi-lent公司和中国电科第41研究所的AV146X系列,HP公司的8360系列和中国电科第41研究所的AV148X系列(除AV1485系列)等;自动校准软件中一共设置了11类。在VEE中,记录常数RecordConstant是输出Re-cord数据类型(标量或1DArray形状的常数)的对象,可以互动方式编辑一条现有记录或由记录组成的数组[2]。我们使用RecordConstant创建了程序命令库。程序命令库是由多条记录组成的1DArray记录数组,每条记录中包括若干记录字段,记录字段的名称、类型和形状可以定义,其中每条记录对应一类信号发生器,每一个记录字段的名称(Fieldname)对应一个基本命令,每一个记录字段的值(Value)对应一条具体的程控命令,数据类型为Text。图5为信号发生器自动校准软件中第一类信号发生器(包括Agilent系列、AV146X系列、8371X系列、69167B)的程序命令库的截图。程序命令库具有很好的可扩展性,对于未编程的信号发生器,只需在程序命令库中增加一条记录,增加相应的程控命令即可,而不需要重新编写一个程序,简单实用。程序命令库的调用也非常简单,只需在仪器校准信息设置面板中选择相应的信号发生器类型,即可调用相应的程控命令。
1.4归一化测试流程在信号发生器校准系统中,需要控制标准器和被校信号发生器两种硬件设备。其中,校准用的标准器是固定的,因此自动测试软件中对于标准器的控制设计了一套测试流程,而和被校仪器相关的个别参数可以通过程序命令库进行分类设置。而被校的信号发生器,由于厂家和型号不同,结构差别很大,程控命令也不同。比如,有的信号发生器有调制开关按钮,需要控制调制开关,输出调制状态,有的信号发生器则没有调制开关按钮;有的信号发生器初始化处于扫频状态,需要设置点频状态,进行参数校准。如果针对每一款信号发生器均设计一套测试流程,虽然可行,但是需要增加大量的程控命令数据库,那么就失去了整体设计的优点,和单独型号的校准程序没有区别,不方便计量人员使用。因此,我们设计了一套适用于所有信号发生器的各个校准参数的归一化测试流程。首先,我们对所有信号发生器的测试流程进行了梳理,列出不同型号、不同参数的测试流程。接着,分析各个测试流程的异同点。最后,设计一套涵盖所有型号、所有校准参数的测试流程。以信号发生器自动校准软件的调幅度校准程序中信号发生器设置的测试流程为例,对归一化测试流程的设计做一个介绍。我们选取HP公司的8360系列、安立公司的MG369X系列、HP公司的865X系列这三种信号发生器作为样本,信号发生器的初始化为工厂初始化。如图6所示,其中8360系列需要的测试步骤最多,而865X系列和MG369X系列没有调制开关按钮,初始化为点频状态,需要的测试步骤相对较少,通过分析比较,我们将最全的测试步骤设计为归一化测试流程。图7为信号发生器自动校准软件的调幅度校准程序中信号发生器初始化的归一化测试程序图。另外,为了配合归一化测试流程的有效运行,在程序命令库的设计中使用了“空”命令技术。即在某一系列的信号发生器的程控命令库中,对于没有或者不需设置的程控命令,均设为“空”命令。如图8为程序命令库中“空”命令的使用效果图。在软件归一化测试流程运行中,程序命令库中“空”命令技术的应用,有效地防止了被检信号发生器误操作,既解决了归一化测试流程的运行问题,又简化了程序设计。这样所用硬件设备的测试流程均进行了归一化处理,整个校准软件只需根据仪器型号,在仪器校准信息设置面板中选择相应程序命令库,即可使用一套测试程序完成所有型号信号发生器的校准测试。归一化测试流程具有很好的兼容性,对于目前计量中所有主要型号的信号发生器均可进行自动校准,其中包括Agilent公司、R/S公司等国外公司的型号,也包括前锋等国产信号发生器的型号。
1.5数据处理数据集DataSet是数据的集合,包括表格、约束条件和表关系,是保存在内存的虚拟数据库[3]。数据集DataSet由若干数据表DataTable组成,每一个数据表DataTable由数据列DataColumn组成,DataColumn可以指定标题和数据类型,数据行DataRow表示DataTable中的一行数据,可以通过数据行DataRow获取指定记录。我们在软件中创建数据集DataSet存储数据,通过调用校准参数模板,根据模板中的校准参数在DataSet添加相应的数据表DataTable,每一个DataTable保存一个校准参数的记录数据,数据列DataColumn的标题为校准参数的分标题,数据行DataRow为校准参数的记录。图9为信号发生器自动校准软件的数据集DataSet层次结构图,其中数据列DataColumns以相对电平准确度为例。DataGrid控件是一种类似电子数据表的绑定控件,表格以表的形式显示数据,并具有选择、编辑、删除和排序等功能。我们将数据集DataSet作为数据源与DataGrid控件进行连接,即可实现对DataSet数据的显示、编辑、删除、排序等操作。在信号发生器自动校准过程中,测试数据实时显示在测试界面中,并自动判断数据是否合格。测试界面如图10所示。
2软件验证
我们通过比对手动测量结果与自动测量结果来验证软件的正确性。式中:x1和u1分别为自动校准软件测量数据和不确定度;x2和u2分别为手动测量数据和不确定度;其中u1=u2=u。用自动校准软件对频率准确度、相对电平准确度、绝对电平准确度、谐波、分谐波、频率调制和幅度调制参数进行测量,与手动测量结果对比,各参数均满足要求,验证结果满意。
3结论
信号发生器自动校准软件已应用于实际的计量工作,实践证明,该软件结构清晰,设计合理,具有很好的兼容性和可扩展性,涵盖了目前计量中所有主要型号的信号发生器,很好地实现了信号发生器的自动计量。
作者:孙静刘晨林升韩利华梁法国邵强单位:河北半导体研究所