APP下载

导引头测试设备自动检定系统研究

2018-10-29曾振杰朱晓菲齐世举沈晓卫蔡尚君

现代防御技术 2018年5期
关键词:示波器模拟器总线

曾振杰,朱晓菲,齐世举,沈晓卫,蔡尚君

(火箭军工程大学,陕西 西安 710025)

0 引言

导引头测试设备是测试雷达导引头各项性能的测试系统。主要测试导引头发射机、接收机和信号处理器的各项参数。它由工控机,VXI(VME bus extension for instrumentation)机箱和相关模块仪器组成,用于导引头出厂交付时的校验测试以及使用前测试。

由于测试设备的重要性,对测试设备的计量检定一直都是一项重要工作。目前对导引头测试设备的计量检定,主要是依据相关的检定规程,利用分离仪器对设备的各指标逐项进行人工手动测量。这种测量方式,不仅效率低、耗时长,而且检定过程非常繁琐,人为疏忽等原因造成的错误在所难免,同时测量结果采用人工记录,不能对数据进行有效的管理和回放,影响日后的数据分析和处理[1]。

面对飞速发展计算机技术和自动测试技术,传统的人工测量已不能满足实际测量的需求[2-4]。本文在自动测试技术的基础之上,设计一套自动计量检定系统。与传统的手工检定相比,本系统大大提高了检定的效率,节省了人力资源和由于人为疏忽等原因造成的随机性错误,利用Labwindows/CVI软件平台进行测控程序开发,保证了良好的人机交互,利用数据库技术实现了对数据的有效管理。

1 系统的总体设计方案

待检设备由一个C尺寸的VXI机箱和若干板卡组成,其包含的模块化仪器有应答模拟器、干扰模拟器、峰值功率计、数字示波器和数字多用表。测试设备主要用于测试导引头的射频部件的相关微波参数,主要由应答模拟器、干扰模拟器、峰值功率计来完成,其次用于测量一些保障射频部件正常工作的低频电学参数,主要由数字多用表、数字示波器完成。因此本文设计的检定系统主要用于这5个模块仪器的检定,主要检定该测试设备应答模拟器、干扰模拟器、峰值功率计的微波方面的相关参数是否合格,其次检定数字示波器和数字多用表的仪器测量误差是否在检定规程规定的范围以内。检定结束界定测试设备是否合格,能否继续使用或需要进行维修。由于待检的VXI仪器具有较高的稳定性和测量精度,因此对其进行检定,需要用更高精度的台式仪器,以保证量值的可靠传递。

应答模拟器主要是在测试中模拟导引头的回波信号,因此需要对它输入和输出的波形功率、频率进行测量,以确定它的回波延迟时间和功率衰减,可用一台微波信号源和一台微波功率计配合进行检定;干扰模拟器在测试中用于提供射频干扰信号,需要对其多组点频以及频谱进行测量,可用一台频谱仪和一台功率计进行检定;示波器检定可采用比对的方式,利用精度更高的台式数字存储示波器,采用比对的方式进行检定,此外还需一台任意波形发生器提供信号和一台通用计数器测量频率,功率计同样使用比对的方式,用一台更高精度的功率计配合微波信号源进行检定,多用表则可以用一台多功能校准源进行检定。

如图1所示为整个自动检定系统的组成,右侧为需要检定的VXI总线设备,左侧为检定所用计量标准设备,均为带有GPIB(general purpose interface Bus)接口的程控仪器。系统上位机为专用测试计算机,它含有一块1394卡,通过USB-GPIB转接卡与计量标准仪器相连,通过1394-VXI总线与被检设备相连。系统工作时,由测试计算机通过总线同步给标准设备和被测仪器发送控制命令,控制仪器按照设定工作步骤自动操作,完成各参数的测量。

图1 系统总体结构Fig.1 Overall structure of the system

设备的检定项目繁多,比如一个示波器板卡,要将其完整的检定下来,需要对其4个通道的信号幅度、频率、信号脉宽等进行多组测量,重复操作非常繁琐,且操作设备多,人为操作极易出错。因此,系统将操作步骤编写入程序,用计算机代替人来执行繁琐重复的操作,而一旦需要人工参与时,采用声音报警和弹窗提示的方式提醒检定人员操作,如“示波器通道1检定完毕,请连接通道2后,按开始按钮继续检定通2”。

检定过程中测得的结果均保存到系统数据库中,实现数据的有效管理和后期处理,包括对数据的查询、分析,系统还能自动生成并打印检定证书,代替传统的人工出具检定证书。

2 系统的硬件组成

系统包含的硬件主要一台专用测试计算机(含1394卡)、一块USB-GPIB转接卡、一个C尺寸的4槽VXI机箱(含零槽控制器)、一台打印机和相关计量标准设备,分别为多功能校准源、通用计数器、频谱分析仪、微波功率计、任意波形发生器、数字示波器、微波信号源。这几类仪器均具有GPIB接口和串口,优先使用GPIB接口进行通信,在GPIB接口不可用的情况下也可用串口进行通信。系统硬件组成如图2所示。

计算机为整个系统的核心,它既是控制中心,又是人机交互的平台。它能够代替人工控制仪器动作,又能够实时采集测试数据并进行显示,检定员不再对仪器进行任何操作,只需要对计算机鼠标键盘进行简单的操作即可完成繁琐的检定工作。

右侧为待检设备,采用VXI总线连接。VXI总线是VME(versa module eurocard)总线在仪器领域的扩展,它以测试速度快、可靠性好、抗干扰能力强、人机交互友好等优点被广泛应用于军工行业,因此对VXI设备的计量检定也非常的普遍[5]。本系统使用一个4槽的C尺寸VXI机箱(带零槽控制器)为待检仪器提供一个连接条件,检定时只需将待检仪器从设备上取下来装入机箱即可进行自动检定。计算机(带1394卡)与VXI零槽控制器则通过一根1394线连接。

左侧为计量标准仪器,所有仪器均采用串型连接的方式通过GPIB电缆连成一个整体,这种连接方式的典型优点是连接方便、配置灵活、通信稳定可靠。GPIB通用接口总线是并行总线,最多可同时连接15个GPIB设备,被联的各个单元之间能够直接通信,而不需要通过中介单元[5-6]。对于本测试系统来说,数据传输的可靠性要求非常高,GPIB能够满足要求,但它不是PC(personal computer)的标准接口,需要安装一块GPIB扩展卡后才能与GPIB设备建立连接,系统使用一块USB-GPIB转接卡转接后通过USB线缆连接计算机。系统中的各具体仪器均为可程控的仪器,可在计算机的控制下协调工作。其中微波信号源、多功能校准源与任意波形发生器主要提供标准的信号,而其他仪器则用于测量待检设备的信号或测量信号源发出的信号作为比对的标准。

图2 系统硬件组成Fig.2 System hardware components

此外,计算机还连接有一台打印机,用于打印测试数据、波形图像和检定证书等。

3 系统的软件实现

在整个检定系统中软件是系统的核心,系统能否正常工作,完成检定任务并出具检定证书,就看软件是否能实现相应的功能[7]。

3.1 仪器控制

要实现导引头测试设备的自动化检定,软件设计首先要解决的问题就是对众多仪器的控制,包括计量标准仪器和VXI模块化仪器(被检仪器)。实现仪器控制可以分为2个步骤[8];第1步是要实现测试仪器同计算机之间的通信;第2步是计算机给仪器发送“仪器语言”,控制仪器进行初始化和相关测试。整个测试过程可以简单的描述为这两步[8]。

第1步与仪器建立通信链路,现在使用最多的方法是通过调用VISA(virtual instrument software architecture)库函数[8]。VISA被称为虚拟仪器软件架构,是为开发虚拟仪器而制定的软件规范[9-10],VISA库通过自底向上的设计模型设计,具有金字塔形的分层结构,其内部分为5个层次,自下而上依次为资源管理层、I/O资源层、仪器资源层、用户定义资源层和用户层,如图3所示。在VISA中所有的仪器和接口都当做资源来进行管理,最下面是资源管理层,统一分配和管理其内部的所有资源,一般情况下不需要该部分的操作,只需要打开资源层即可。其他的4个资源层都是由与仪器功能有关的函数组成,I/O资源层为在它之上的3个资源层的基础,它涉及所有的与I/O有关的操作,如RS232,GPIB,VXI等,几乎囊括了现今所有的仪器总线I/O,并且它还可以不断的扩充。

图3 VISA的分层结构Fig.3 Hierarchical structure of VISA

VISA在仪器I/O接口层做了统一,使得测控程序不再针对具体的接口编写,基于VISA编写的测控程序能够应用于几乎所有的接口,本文设计的系统主要用到的接口为GPIB和VXI,对于GPIB设备和VXI设备的控制在I/O这一层的程序是没有任何区别的,这大大简化了编程,减轻了编程工作量。

第2步控制仪器操作最常用的底层仪器控制方式有2种,分别是基于寄存器的编程和基于字符串的编程。使用寄存器的编程方式尽管灵活高效,但是对程序员的要求较高,程序员必须非常熟悉硬件结构和仪器工作原理才能编写程序。因此本文采用编程难度较低的字符串的编程方式即SCPI(standard commands for programmable instrumentation),这种编程方式将与仪器操作相关的底层操作进行了封装,使得编程人员无需了解仪器的硬件就可以编程控制仪器[11],并且字符串非常的直观和具体,容易理解和掌握,比如在多用表的检定中计算机给多功能校准源发送字符串“OUT 1 V”,表示控制其输出1 V的电压。SCPI的出现有利于仪器控制方式的统一和标准化,使用SCPI语句编写的程序具有很好的通用性,比如系统中使用的校准源无论是哪个厂家哪个型号的校准源,都可以用同样的SCPI字符串进行控制。

3.2 LabWindows/CVI及多线程技术

在测控领域,LabWindows/CVI和LabVIEW一直是最活跃的两大虚拟仪器开发平台,与LabVIEW相比,LabWindows/CVI的功能更加灵活、效率更高、稳定性更好,适合中、大型测控软件的开发,主要应用在对稳定性和可靠性要求较高的领域,如军工行业[12-13],因此本文选用LabWindows/CVI开发软件。

LabWindows/CVI是一个完全的ANSI C的编程环境,拥有简单直观的图形用户界面,采用函数面板上输入函数参数的形式,利用事件驱动和回调函数方式的编程技术,使得工程设计不仅效率高而且稳定可靠。它面向对象的编程思想、丰富的控件和按钮以及功能强大的函数库,如信号处理函数库、接口函数库、Windows SDK(software development kit)等,使得它在仪器控制、自动检测和数据处理中应用广泛,除此之外它还附加了很多的工具包,如本文中用到的SQL(structured query language) Toolkit工具包能够使得LabWindows/CVI可以对数据库进行访问和操作。

考虑到通过GPIB总线通信时,计算机发送或接收数据往往需要等待较长时间,例如接收来自示波器的4k的字节可能需要1~2 s的时间;以及计算机和仪器间进行数据交换和数据处理、保存需要同步进行,且不能影响用户对面板的操作,因此本软件采用多线程技术进行设计。

相比单线程而言,多线程虽然不及单线程的处理速度,但是多线程可以使得芯片同时处理多个事件,大大缩短了CPU的等待(闲置)时间,提高了CPU的使用率进而提高程序运行效率[12-13]。在测控软件中恰当的使用多线程,可以极大地提高软件的效率,本文中主线程由于创建运行人机界面,创建2个次线程分别用于仪器控制、数据采集线程和数据存储、处理线程。LabWindows/CVI提供了异步定时器和线程池2种创建线程的高级机制,线程池一般用于循环执行的任务,而异步定时器一般用于定期执行的任务,本文中使用函数CmtScheduleThreadPoolFunction()来创建各个线程函数,使用NewAsyncTimer()创建异步定时器用于数据采集等。

3.3 软件模块划分

软件采用模块化设计的思想,各个模块完成各自的功能。如图4所示。

由于检定信息不可以随便改动,需具备一定的安全性,因此设计了用户权限管理模块。该模块用于管理用户信息和权限,权限分为普通用户和管理员,并设置密码保护。主界面是人机交互的主要界面,主要用于基本信息(检定对象和检定人员)录入和实时测试数据的显示。此外还有5个界面,分别对应于任务管理的5个模块,新建测试任务用于检定相关信息的录入、历史任务查询为对以往测试数据库的查询操作、数据处理模块提供一些方便的处理工具、证书管理主要保存和查看证书模板、帮助模块可以查看相关的检定规程。检定模块主要为针对不同检定对象编写的测控程序。

图4 软件模块划分Fig.4 Software module division

其中,软件的主体部分为5个检定模块,对待检仪器和计量标准仪器的控制以及数据的采集均在这5个模块中实现。以应答模拟器延迟时间检定为例,开始检定时,按照软件的操作提示,将硬件按照图5所示连接,微波信号发生器输出端输出的信号经微波三通器件分成2路,一路给示波器通道1,一路给应答模拟器输入端,应答模拟器输出端则经过微波线缆连接示波器通道2。

图5 应答模拟器检定图Fig.5 Answer simulator verification graph

硬件连接好之后启动软件进行测试,计算机通过1394-VXI总线给应模拟器发送控制命令,控制其供电开机并设置相关参数;尔后通过GPIB总线给微波信号发生器发送控制命令使其输出信号,通过GPIB总线给示波器发送命令,控制其对两路信号同时进行测试;最后计算机采集测试数据,通过对比双通道所测数据,计算出延迟时间并自动判断是否合格,显示在人机界面上,就完成了延迟时间的测量。

3.4 软件工作流程

如图6所示,为软件进行检定的工作流程,第1步为用户登录,之后软件创建2个次线程,先介绍测试线程的工作流程。用户在界面中选择需要检定对象并输入设备编号和测试人员,点击“保存”按钮后信息保存,点击“测试”按钮后调用相应的设备检定模块进行检定;测试阶段均为自动进行,无需人为干预,分为4个步骤:依次为初始化仪器、开始测试、测试完成、断开仪器连接。主线程主要用于软件界面的运行,多线程的设计使得主线程的运行不会中断,任何时候都可以很好地进行人机交互(信息键入和输出显示),在进行一个项目的检定测试时,就可以同步进行下一项目的信息录入,节约了等待时间,提高了效率。数据保存和报表生成线程主要用于数据的实时保存,保存均为自动进行,

为其单独开辟一个线程,使得它的运行不会影响到主线程的运行,使得整个软件的运行更加的流畅。

3.5 数据库设计

开放式数据库互联技术即ODBC(open database connectivity),是数据库应用程序开发的强大工具,它是一个函数库,提供了一个连接到底层数据库系统的公共应用程序接口[14-16]。利用结构化的查询语句SQL和开放式的ODBC可以实现通用数据库的程序开发。在Labwindows/CVI环境下开发和使用数据库,必须要安装Labwindows SQL工具包(在NI的官网可以免费下载),安装成功之后,工具包会在计算机上自动注册一个ODBC数据源,将sql_db驱动器扩展成Labwindows/CVI的标准函数库,一共包含有11个子类函数库供使用者进行调用。本文利用Access数据库作为操作对象,实现在Labwindows/CVI平台下的数据库编程。

图6 软件工作流程Fig.6 Software workflow

利用Labwindows SQL工具包对数据库的操作分5步进行;第1步连接ODBC数据源;第2步激活SQL检索语句;第3步处理SQL语句;第4步断开SQL连接;第5步断开与数据源的连接。

4 系统应用

如图7所示为系统测试软件的测试界面,当要进行峰值功率计检定时,在新建测试任务栏填写好检定的相关信息之后,保存进相应数据库,就可以打开检定界面对设备进行自动检定了。将检定对象选择为“峰值功率计检定”,点击“连接设备”,设备连接成功后“连接成功”LED被点亮,如果连接不成功,会弹出错误提示框。连接成功之后点击开始测试,测试过程以及采集得到的数据会实时显示到文本框中,测试完成之后右侧“测试完成”LED被点亮,提醒用户可以进行下一步操作,此时数据被保存到相应数据库中。在测试之前,需要选用标准仪器并在被检设备和标准仪器之间搭建测试通道,相关的连接步骤和注意事项可以打开帮助栏查看,方便用户使用该检定系统。

图7 软件“检定”栏界面Fig.7 Software “verification” field

如图8所示为运用系统对峰值功率计进行检定的试验现场。功率计使用比对的方式进行检定,用一台更高精度的峰值功率计Agilent E4417A配合微波信号源Agilent 83732B进行检定,将待检峰值功率计插入到系统的VXI机箱中,通过GPIB总线连接E4417A、83732B和计算机,就可以打开软件进行自动化检定了,其他模块的检定与功率计检定类似。

图8 检定峰值功率计实物图Fig.8 Verification of peak power meter physical map

5 结束语

本文在自动测试技术的基础之上,设计一套自动计量检定系统,使用Labwindows/CVI作为软件开发平台,使用VISA库函数使得软件在I/O层实现统一,使用SCPI语言控制仪器加强测控程序的通用性,使用Labwindows SQL工具包访问ODBC数据库,实现数据的存储和查询。与传统的手工检定相比,本系统大大提高了检定的效率,节省了人力资源和由于人为疏忽等原因造成的随机性错误,良好的人机交互使用户具有良好的用户体验,在导引头测试设备计量检定上有很好的应用前景,也为其他设备的自动检定系统设计提供了参考和借鉴。

猜你喜欢

示波器模拟器总线
了不起的安检模拟器
盲盒模拟器
划船模拟器
基于PCI Express总线的xHC与FPGA的直接通信
机载飞控1553B总线转以太网总线设计
一款教学示波器的Y通道设计与实现
可携带式虚拟双踪示波器
动态飞行模拟器及其发展概述
多通道ARINC429总线检查仪
基于EtherCAT总线的ROV控制系统设计