1. 引言
近年来,随着作为靶场测控系统骨干力量的机动测控部队装备的不断升级换代,在新类型、新型号具备新质作战性能的高信息化测控设备逐步列装 [1] ,与部分接近服役年限的老一代设备及在寿命中期的骨干设备形成三代设备并存的测控设备体系。指标测试工作是衡量测控设备各系统性能参数的核心工作,其确保测控设备各分系统及全系统性能的可用性、可靠性及指标参数的数字化为统计分析提供支撑。机动测控设备高机动、高分散、远距离部署的实际,使得其指标参数集中统一管理必须依托网络进行管理,否则各设备的指标参数不能形成集中统一管理,无法发挥指标集中分析进而达到故障规律统计的目标。指标测试的基础是各类测试测量仪器,如频谱测试仪、示波器、网络测试仪等,由于三代测控设备共存的现实情况,导致测量仪器新老型号并存、接口繁多,使得建设远程自动化测试系统存在以下难题:
1) 多型号测试测量仪器接口繁多,GPIB、USB、LAN等接口并存,需开发兼容多接口的指标采集系统;
2) 部分老型号测试测量仪器不支持网络接口,实现远程网络化指标测试管理系统必须进行接口协议转换;
3) 系统软件配置项过多,维护复杂。
NI-VISA是美国国家仪器NI公司开发的一种用来与各种仪器总线进行通信的高级应用编程接口。NI-VISA是一个驱动程序软件架构,不受平台、总线和环境的限制,GPIB、串口、以太网/LAN、IEEE 1394和USB仪器的通信,并简化仪器的控制应用,通过VISA API以相同的方法与仪器进行通信,而不考虑其接口类型 [2] 。
Agilent GPIB/LAN GateWay是安捷伦公司开发的一款用于GPIB接口及RS-232接口与网络接口进行转换的接口转换器。通过该转换器可以实现多个GPIB接口仪器的网络化管理。
本文通过NI-VISA及Agilent GPIB/LAN GateWay提出针对机动测控设备指标测试管理现状的解决方案,以测站配备的测试仪器为基础,以中心管理系统及数据库为核心,以试验任务IP网依托,实现中心对测站仪器管理及指标测试的集中统一管理,建立了一套远程自动化指标测试系统,达到指标测试工作量化管理。
2. 系统硬件结构设计
2.1. 系统硬件结构
系统测站部分由测试仪器、GPIB/LAN接口转换器、测控设备终端、交换机、路由器组成,需要加装GPIB/LAN接口转换器将设备配备的仪器连接起来并接入交换机(如图1)。

Figure 1. Hardware architecture of the system
图1. 系统硬件结构图
系统中心部分由远程测试服务器及测试客户端组成,远程测试服务器主要用途是建立指标测试数据库,对指标测试全程产生的数据进行管理,并能够远程访问这些数据。
2.2. 与测试仪器连接
Agilent GPIB/LAN GateWay是安捷伦公司开发的一款用于GPIB接口及RS-232接口与网络接口进行转换的接口转换器 [3] 。通过该转换器可以实现多个GPIB接口仪器的网络化管理。
如图2所示,Agilent GPIB/LAN GateWay E5810A具有GPIB、RS-232和LAN三种接口。GPIB接口可扩展,能够通过该接口接入多个仪器。该转换器能够将GPIB、RS-232接口转换为网络接口。典型的连接方式是仪器通过GPIB或串口连接到该转换器,转换器LAN接口通过网线连接入局域网交换机,这样局域网中的交换机均能够通过网络访问相应的仪器。

Figure 2. E5810A connection structure diagram [2]
图2. E5810A连接结构图 [2]
3. 系统软件设计
3.1. 功能概述
软件分为中心和测站两部分组成。中心部分主要用于远程对仪器的控制、测试结果的获取、测试项目的下发、结果查询及与测站交互。仪器控制子功能主要用于对远程仪器的连接、控制权限获取及对仪器运行状态的获取。指标测试子功能主要用于对待测试指标的选择,选择后的指标具备自动设置、手动设置两种方式进行仪器相应参数设置:自动设置是选择待测指标后从数据库中获取测试该指标仪器需要设置的参数,并对仪器进行设置;手动设置是通过软件界面手动设置测试指标相应的参数。参数设置完成后,获取的测试结果能够与数据库中该指标的范围进行比对,验证测试结果是否在指标范围内 [4] 。测试信息处理子功能主要用于对测试结果数据的记录、显示,显示界面与仪器界面基本一致,对测试结果能够记录。除此之外,具备软件界面快照功能,能够记录软件界面的当前状态。测试项目下发子功能是根据要求由中心总体人员制定测试计划,形成测试项目及顺序,并能够下发至测站终端。同时,根据测试进度能够实时的下发指令,以便达到在指标测试过程中心与测站人员的交互与同步。
测站软件能够接收中心下发的测试计划,并实时显示中心总体人员要求的步骤,分机人员能够按照计划从数据库中获取相应的操作步骤,配合中心人员进行指标测试。除此之外,分机人员能够从数据库中查询历史数据,通过不同方式对指标测试结果进行设备间及时间上的横向、纵向比对分析,系统提供图形化显示界面,使结果能够直观显示给用户。
3.2. 中心软件模块设计
如图3所示,仪器界面仿真模块实现仿真的仪器界面,能够达到与实际操作仪器的相同的交互体验。

Figure 3. System center software module design diagram
图3. 系统中心软件模块设计图
显示模块是通过图形化技术显示对各类指标的查询及统计分析结果。
信息交互模块是通过网络编程实现中心与测站人员之间的交互。
系统管理模块维护管理模块主要是对建立的数据库的维护管理,具备添加、维护、删除、修改各类资源的功能,维护管理用户权限、维护用户信息。
数据查询模块对历史数据进行查询,能够按照设备、人员、指标等信息对测试数据进行查询并通过显示界面图形化显示。
仪器参数设置模块,两种模式,自动、手动,自动通过界面选择相应指标,读取数据库中读取的参数,设置仪器参数,手动通过仪器界面仿真模块中仿真实现的仪器界面按钮、旋钮等对仪器能够设置。
数据库存取模块,能够对数据库进行存取,存储人员登录、测试等记录信息,并能够对测试数据进行存储。
信息传输模块,通过socket编程实现中心与测站间的信息传输。
3.3. 系统运行流程
系统运行流程一般由中心统一组织,下发测试命令,如果测站不能参与,也可由测站自行组织后将结果传输至中心数据库。测试项目根据需要测试设备的类型决定,若全系统测试则根据系统测试在测站终端显示当前测试项目、所使用的测量仪器、当前项目仪器仪表所需要设置的参数、所测试的部位、测试流程、指标范围等信息,若分系统测试或者单个项目测试则根据需要测试的项目显示上述信息并开始测试。测量仪器参数设置根据当前所需要测试的指标要求进行设置,如测试频率则需要使用频谱仪设置中心频率、带宽等参数 [5] [6] ,具体流程如图4所示。

Figure 4. Flow chart of system operation
图4. 系统运行流程图
4. 系统关键技术实现
4.1. C#编程实现仪器连接
仪器交互模块Agilent IO Libraries Suite是安捷伦公司开发的用于与仪器交互使用的开发包,能够支持与所有安捷伦仪器的交互开发,该开发包提供了完善的仪器交互控制函数 [2] 。当前版本为“Agilent IO Libraries Suite 18.5”。该版本套件支持windows 7至windows 10操作系统32位、64位均提供支持,Windows Server 2008 R2至Windows Server 2012 R2只支持64位系统。开发环境方面对Visual Studio 2010至Visual Studio 2013提供支持。
使用C#语言在Visual Studio 2010开发环境下与仪器仪表控制流程如下:
1) 引用动态链接库
将NationalInstruments.Common、NationalInstruments.VisaNS两个动态链接库引用至工程中。
2) 定义消息会话对象
private IMessageBasedSession mbSession;//定义与仪器间的消息会话对象;
var validResources = rmSession.Find(“(GPIB|TCPIP|USB)?*INSTR”);//动态获取当前系统连接地址及接口类型。
3) 定义连接地址
Private string vnaAddr = “tcpip::192.168.18.11::hpib7,19::instr”; 是最主要的代码行,其功能是定义了与仪器连接的地址字符。tcpip::192.168.18.11::hpib7,19::instr 是接口转换器的IP地址。同时,要确保接口转换器的IP地址与连接计算机的IP地址在同一个网段。为了达到这一目的,连接仪器由测站终端完成,获得的数据由测站终端转发至中心。中心的控制数据由测站终端发送至仪器。
4) 仪器连接
使用与仪器间消息会话对象的open函数实现与仪器连接,open函数的变量为连接地址。
5) 控制仪器
仪器控制通过SCPI (Standard Command for Programmable Instrumentation)程控仪器标准命令实现,如设置频谱仪的中心频率代码如下:
mbSession.IO.Write(FREQ:CENT 5e6);//将频谱仪的中心频率设置为为5G。
4.2. 实现仪器仪表界面的设计
仪器仪表的界面设计通过项目引用NI Measurement Studio提供的集成式套件。本系统主要利用该套件所提供的用户界面控件进行仪器仪表界面设计 [7] 。以示波器设计(图5)为例基本步骤如下:

Figure 5. Oscilloscope interface design
图5. 示波器界面设计图
在项目界面中引入示波器控件CWGraph和水平滑动填充杆CWSlide控件。
示波器变量:private AxCWUIControlsLib.AxCWGraph CWGraph1;
水平滑动填充杆变量:private AxCWUIControlsLib.AxCWSlidePlotSlide;
项目中添加如下动态链接库的引用:AxCWUIControlLib,CWUIControlsLib,NationalInstruments. Com monNationalInstrument.UI,NationalInstrument.UI.Windows。
示波器控件可以由用户自定义设置各类图形显示属性获得需要的显示界面。绘制波形时需要使用到的函数如下:
PlotY(object yData);
ChartY(object yData);
PlotXvsY(object xData, object yData);
ChartXvsY(object xData, object yData)。
4.3. 数据库设计
系统数据库采用SQL Server 2008,该系统数据库设计中采用了仪器参数设置与指标相结合的方式,即事先对每一项指标测试时需要设备的仪器及该仪器相应的参数设置相关联,达到在指标测试时,选择某项指标后能够从数据库中调用测试该项指标需要使用的仪器的相应参数设置,通过远程控制将该信息发送至测站终端,由测站终端软件通过网络设置该参数,以达到仪器参数的自动化设置,数据库设计如图6所示。
5. 系统应用效果
系统针对测控系统远程自动化指标测试开发,在该适应条件下与原有系统对比,无论测试周期、仪器新增方式、数据存储方式等具有优势,具体见表1。

Table 1. Comparison of the application of command information system between the system and a measurement and control system
表1. 本系统与某测控系统指挥信息系统应用性对比
6. 结论
该系统从2017年投入使用后,截止2018年12月,完成近50套设备百余次指标测试均运行良好,具有良好的可靠性、可扩展性、可移植性、可交互性,其中系统的并发用户数 > 500,服务器响应时间 < 40 ms,网络响应时间 < 50 ms [8] 。
本文结合测控设备实际情况,在充分利用现有硬件资源的基础上设计了一套远程自动化指标测试与管理系统,由于该系统与设备的相关程度较低,在开发设计中应用了相应的模块化技术 [5] ,在实际应用中可以推广至其他测控系统中,以达到测控设备指标的自动化测试。系统对自动化测试数据的统计、分析、挖掘还不够,将结果应用于故障规律统计分析和故障预防性判断的功能还需要进一步的研究应用。