VXI通用测试软件框架结构 |
航天测控公司 于功敬 |
随着测试仪器从模拟化到数字化,从单台仪器到总线插卡式仪器的发展历程,软件的发展占据了极其重要的地位。用于软件的研制与开发费用比例,在整个系统研制费用中成上升的趋势。怎样大程度地降低开发、使用软件的费用,保证软件的易用性、通用性、可维护性、可扩充性、可移植性,已成为测试系统设计的重要的一环。 在传统的测试系统软件编制过程中,程序是按照测试任务要求,一步一步排下来的。如果测试点很多,测试参数复杂,测试程序量就非常大,且很难实现结构化、模块化设计。此外,由于检测领域的不断扩大,检测参数范围不断延伸,这一过程反映在程序设计中,就是不断地随之修改,整个系统的维护也变得越来越困难。同时,测试对象稍作改变,程序的可用性几近于零。因此,传统测试软件的通用性、可维护性、可移植性很差。 根据测试软件传统设计上的不足,本文提出了一种框架式的结构设计方法,并应用在我国某导弹的综合测试系统中,其易用性、通用性、可维护性、可扩充性、可移植性得到极大改善。下面我们就具体阐述设计思路和系统的具体应用情况。 一、体结构设计思路 系统以某型号导弹作为被测对象,测量任务繁重,全面衡量导弹的技术性能,需要从静态测试到动态测试,从无源测试到有源测试,从分解测试到整体测试一项一项地逐项测试,要测试测量的参数很多,分析处理的难度也很大。分析其静态测试参数和动态测试参数,与设计的性能指标进行比较,发现问题,从而确保导弹的质量。综合考虑系统的体积、电磁干扰,电源以及系统的可靠性、测试速度等一系列问题,我们选择了VXI总线测控系统的方案。 整个导弹测试系统采用网络测控模式,主计算机选用VXI内嵌式计算机提高测试速度,完成对VXI仪器模块的控制和通过网卡控制前台计算机。前台计算机选择高性能微型计算机,驱动RS-422接口、RS-485接口和GPIB接口,完成对导弹的实时通信控制功能。VXI测试仪器模块有HP E6234A嵌入式计算机、HP E1410A数字多用表、HP E1416A功率计、HP E1458A高速I/O模块、AMC2300继电器采样和控制开关、AMC2620八通道并行A/D变换器和Tek Tvc641A四通道数字存储示波器。系统硬件结构见图1。 图1 系统硬件结构 测试系统的软件平台采用WINDOWS NT和WINDOWS 95,主测试计算机采用安全性能较高的Windows NT Workstation操作系统,前台计算机采用Windows 95操作系统,系统开发平台则采用NI公司的LabWindows CVI。LabWindows CVI将功能强大、使用灵活的C语言开发平台与用于数据获得、分析和显示的测控工具函数库和各种VXI接口资源库函数有机地结合起来,对于熟悉C语言编程的测试系统人员,LabWindows CVI是系统软件开发的平台。本系统的测试程序就是采用LabWindows CVI 5.0开发完成的。根据任务要求,系统程序主要有测试、数据管理、模拟显示、打印、仪器管理、通信控制、系统帮助等功能。 测试系统主要的功能是把被测对象的被测参数采集回来,以往的测试程序,把所有的测试参数、仪器程控指令、测试结果和分析处理结果统统放在程序中,程序的易用性、可靠性、通用性、可维护性、可扩充性、可移植性很差。为了克服这些缺点,我们尝试把数据和测试流程分开,数据信息包括测试仪器配置参数和测试结果数据,由关系型数据库管理系统管理这些数据,而测试流程的任务就是读取配置数据库的数据,配置测试仪器,进行相应地数据采集、分析计算,并把结果写回到测试结果数据库中。测试系统软件框架示意件图2。 图2 测试系统通用软件框架 在导弹综合测试系统实际测量过程中,无论是导弹的测试类型,或是设备类型发生改变时,需要测试人员做的仅仅是按照改变的内容修改配置数据库相应的记录,勿须修改测试流程。 由于VXI Plug&Play系统联盟提出的一系列VPP规范,已成为VXI仪器软件的标准,各仪器生产厂家推出的仪器,提供符合VPP规范的仪器驱动器已成为必然。因此,主测试流程驱动仪器,采用的都是用VISA技术写成的仪器驱动函数,对底层硬件满足了即插即用。 另外,ODBC(Open DataBase Connective)技术和SQL(结构查询语言),又使不同的数据库产品之间可以互相兼容,从而使测试应用程序对数据库的访问,不随数据库的改变而发生变化。 这些技术从根本上保证了通用测试软件框架的通用性、兼容性和可扩展性。 二、数据库设计与测试流程 根据实际的测试需求,一次测试可以有若干项测试项目,每一个测试项目又可以划分若干个测试点,而每一个测试点都有继电器开关动作和相应的仪器配置操作。根据这样的关系,确定数据库的安全原则,构造配置数据库的配置表。描述一次测试的记录信息。用一个的测试号标识一次测试,再通过对应关系,找出本次测试所有的测试项目和测试配置字段,在测试流程中,用满足ODBC的连接,建立程序与数据库的连接,再用SQL语言找出相应的记录和字段,配置和驱动仪器,完成测试。 测试数据结果数据库是在配置数据库表的基础上,由测试号和测试点号确定的一种仪器的数据表,记录了测试结果数据和当前测试时间。整个数据库的关系如图3所示。 图3 数据库 建立好数据库以后,即可以编制测试主程序了。进入测试功能,首入测试配置界面,读取配置数据库的数据信息,配置该次测试所需的配置项目,并把相应数据写入到相应的数据库表中;然后进入测试执行界面,依据该次测试的开始记录和结束记录,依次读取各个表中中的字段,根据其中的内容完成相应的操作。程序流程见图4。 图4 程序流程 三、系统优化 以上阐述的只是通用测试软件框架的初步实现,采用的数据库管理系统是微软的Visual FoxPro 6.0。本系统框架可以进一步优化,采用SQL Server数据库管理系统,满足多终端多用户的Client-Server结构,还可以按照面向对象编程方法加以改进等等。 |