绪论
1.1 课题研究背景及意义
导弹的研制过程复杂,难度大,要求高,通常要用遥测设备对其进行地面试验,遥测设备的好坏将直接影响到导弹性能的评估。为了对遥测设备性能进行全面测试,研制了遥测设备测试仪,该测试仪可发给遥测设备各种指令控制信号,可模拟输出弹上信号给遥测设备,并回收遥测设备的测试数据,对数据进行处理和分析,从而判断遥测设备能否正确测试导弹性能参数。本文所设计的遥测设备测试仪软件是测试仪完成测试功能的控制和分析处理部分,相当于现今流行的“虚拟仪器”的软件部分。
对遥测设备的测试必须在此软件的正确控制下才能顺利完成,测试所得的数据也必须由该软件接收和处理,并作出正确分析,才能得到准确的测试结果,因此该测试仪软件在遥测设备测试系统中起到关键作用,尤其在测试参数复杂多样的测试系统中,设计出好的软件系统能大大提高测试性能和效率,具有高的研究价值[1]。综上所述,基于虚拟仪器技术的开放式框架,进而研究遥测设备测试仪的软件系统,对提高遥测设备测试技术水平,使其更好的完成导弹研制过程的地面试验测试任务,具有非常重要的意义。
1.2 国内外研究现状
传统测试存在很多缺陷。首先是仪器,传统测试仪器如示波器等具有功能固定,成本高等缺陷,使之无法满足测试参数种类越来越多的现状,如果每次都针对某个测试需求而制作一种测试仪器,不仅浪费资源,还会经常重复同样的工作。其次是数据处理方式,传统的测试方法是打开设备,待一个测试周期完成,取出存储介质中的测试数据,再用数据分析软件对数据进行分析,这样的方式无法实现在线状态的监控,且处理起来很麻烦[2]。另外是测试结果,传统测试中,将固态数据处理分析完后,由人工对分析结果进行总结和整理,编写测试结果报告,这样的方式费时费力,容易出错且效果不好。
在过去的二十多年里,PC 机性能得到大幅提高,硬盘、显示和总线带宽不断优化,应用软件功能和多种软件技术长足发展,再加上计算机的数据存储和数据处理能力更加强大[3]。为了将 PC 机的性能优势应用到测试中,人们提出把测试的控制和数据分析处理功能从传统的硬件电路板搬到计算机上,也就是用测试仪软件来完成。这样的测试软件控制测试更加人性化,并可快速复制和移植,而且软件功能和界面可自定义,使得设计更加灵活多变,能极大地提高了测试系统的集成化、自动化和智能化程度。近年很火热的“虚拟仪器”就是这种思想的具体体现,即把测试仪系统分成硬件和软件两部分,软件控制硬件进行测试和获取测试数据,再由软件再进行测试数据的处理和分析,并作出测试结论和报告,因此对测试系统软件的研究在国内外渐渐受到广泛关注[4]。
“虚拟仪器”与传统仪器的区别在“虚拟”二字上,“虚拟”指的是测试仪的操作界面是运行在计算机上的数字界面,由图形化控件和程序代码来完成控制和数据处理等功能。现代计算机在软硬件方面都有快速的发展进步,例如运行速度不断提高,采用分布式数据处理方式、图形化软件界面、强大的网络功能等,这些提高也成为推进测试控制软件飞速发展的动力[5]。与传统测试仪器相比,“虚拟仪器”结合了计算机的这些先进技术,具有很高的性价比,逐渐成为测控领域里测试仪器发展的主流。美国 NI(National Instrument,国家仪器)公司在 1986 年首次提出“虚拟仪器”,随后又迅速推出了开发测控软件的专业化应用环境 LabWindows/CVI 和 LabView,这些专用软件开发环境的不断升级,使得软件开发变得更为容易,推动着测控软件研制的脚步,大大降低了开发人员的工作难度和开发周期。这些软件给用户提供了可视化的多种图形控件,帮助设计者构建界面;还拥有各种功能函数库,方便代码开发;并支持如多线程及线程数据保护等多种高级软件技术,在测试系统的实时监控、数据采集等应用中,体现出很高的优越性[6]。
例如当采集数据量大,采集时间较长时,传统的编程方法要求软件系统必须等待采集任务结束后,才能响应用户的其他操作需求,常导致用户界面卡住,像是电脑死机,这不仅造成时间的浪费,还使系统功能受到限制,很难达到多功能高性能的目的,而利用先进的多线程技术解决此问题很容易。多线程的使用使得系统软件在数据采集的同时,还可以分析和显示数据,给系统工作状态的实时监控提供方便,还节省了测试时间,增强了系统功能,因此必将会被广泛应用于测试系统[7]。
另外,不断涌现的多种高性能低成本的 A/D、D/A 转换器,以及各类型传感器精度的不断提高,为测试系统的性能升级带来动力。利用这些批量生产的芯片设计出高精度的测量前段组件,使可测量的信号多样化,测量精度也越来越高[8]。一个由高精度信号采集硬件配以高性能控制和数据处理软件组成的测试系统成为人们进行多种测试的首选。
2 测试仪软件系统设计
2.1 测试仪软件开发平台......................5
2.2 测试仪软件顶层设计......................5
2.3 测试仪软件模块设计........................8
3 测试仪软件功能实现和关键技术
3.1 软件功能设计及实现..................25
3.2 软件系统关键技术...................32
4 测试仪软件功能测试及结果分析4.1 测试仪软件测试系统................... 45
4.2 测试方法和结果判定.................... 46
4.3 对测试仪软件上述功能的测试和结果..................... 47
结论
本文研究了遥测设备测试仪软件系统的设计与实现。该软件以模块化为思路,贯穿整个设计过程,将系统所有的功能按模块划分为总线自检、设备自检两个自检模块,电源监控、数字量等七个功能模块,以及智能测试模块共十个模块。两个自检模块在开始测试前对系统通信功能和硬件基本性能进行测试,并在发生错误时帮助系统找到大致错误方向;七个功能模块是测试仪测试功能的具体内容,对测试仪供电状态进行监控,并实现具体的指令控制、数字信号控制和数据采集、处理、分析等功能;智能测试模块是一个综合模块,它对除电源监控模块之外的六个功能模块进行功能整合,用程序控制测试的进程和顺序,完成六个模块的测试功能,并在测试结束后,自动生成测试结果的分析报告,减轻测试者的工作量,使测试更自动化更智能化。
本文研究了测试仪软件的参数装订、数据采集、USB 串口通信等各项功能,对每项功能的设计思路和实现过程进行详细阐述。然后,对实现这些功能所采用的软件关键技术如多线程、线程安全保护、动态链接库等进行了详细论述,并给出应用的注意事项。
参考文献
[1]王宏强.基于虚拟仪器技术的工业控制系统开发[J].工业控制计算机,2004,17(4):13-14
[2]金玉红.弹载计算机测试系统通用软件平台设计[D].上海:同济大学软件学院,2007
[3]乔建良.虚拟仪器的现状及应用前景[J].信息技术,2001,17(3):315-324
[4]同长虹.虚拟仪器的开发和应用[J].信息技术,2005,34(2):26-27
[5]Taner Topal. Software Development for the Analysis of Heartbeat Sounds with LabVIEWin Diagnosis of Cardiavascular Disease[J]. Spring Science & Business Media, 2008, 32:409-421
[6]聂珍.煤矿救援机器人环境信息检测与处理系统研究[D].西安:西安科技大学,2009
[7]Jisen, Wang Zhuo. Design of the measuring and controlling system of test bed forhydraulic bursting based on LabWindows/CVI[C]. CECNet 2011, vol.1
[8]刘立月.LabWindows/CVI 在测控系统中的应用及其接口[J].华东交通大学学报,2004,21(2):80-84
[9]方晓毅.LabWindows/CVI 在 USB 接口数据采集器开发中的应用[J].常州工学院学报,2010,23(1):28-31
[10]方晓毅.基于 USB2.0 和 LabWindowsCVI 的数据采集器开发[D].江苏:江苏大学电气工程,2008