台达电子电源(东莞)有限公司 523308
摘要:随着工业自动化越来越快的发展,各式各样的新成果也渐渐渗透到人类生活的方方面面。自动测试系统软件服务于计算机,工业自动化程度越来越高,计算机技术发展迅猛,工业控制计算机,另外辅以A/D,D/A等板卡做外围辅助接口,基于这些的自动测试系统应用极为广泛。其特点就是将原本结合松散、常不兼容或者是分立的仪器设备转化为一个高度集成的性能较高的自动化与测量系统,自动测试软件显然是这一设备的核心内容,因而,研究自动测试系统软件框架设计这一课题尤为必要。
关键词:自动测试系统;软件框架;设计
引言
自动测试系统的规模逐年增大,其复杂性也是与日俱增,然而,由于传统软件的开发方法在复用上出现了滞留现象,即在代码复用阶段出现了卡壳,复用的范围受到局限,只能用于独立的类或者函数,这样一来,就使得复用粒度十分有限,设计自动测试系统软件框架符合时代发展的需要。一旦开发设计出来面向对象的软件框架,就能解决大粒度的软件复用问题,同时还能在很大程度上缩短自动测试系统设备的研制时间。设计出一套成功的自动测试系统软件框架,就能够最大限度的提高工作效率,提高系统设备稳定运行的科学可靠性。
一、自动测试系统的原理
自动测试系统包括控制器、激励源、测量仪器(或传感器)、开关系统、人机接口和被测单元-机器接口等部分。
1.控制器是自动测试系统(AutoMes)的核心,它是由一台小型计算机构成。控制器应有测试程序软件,用来管理测试过程,控制数据,接受测量结果,处理数据,检验读数误差,完成计算,并将结果显示在显示器或打印机上。
2.激励源即信号源是检测系统必不可少的组成部分.其功能是向被测单元(UUT)提供检测所需的激励信号。它可以是电源、函数发生器、数模转换器、频率合成器等。
3.测量仪器的功能是测试UUT的输出信号.根据测试的不同要求,测量仪器的形式也不同,如数字式万用表,用来测定被测单元的输出信号。测量仪器也可以是数字示波器、频率计数器或其他测量装置。
4.开关系统的功能是控制UUT和自动测试系统中有关部件间的信号通道。即控制激励信号输入UUT,和UUT的被测信号输往测量装置的信号通道。开关系统也是用来规定被测单元与自动测试系统中其他部件之间的信号传输路线。
5.人机接口的功能是实现操作员和控制器的双向通信。它可以是控制器的一部分。操作人员可通过键盘或开关把数据传输给控制器,控制器再把数据、结果和操作要求输向阴极射线管、发光二极管或指示灯组等显示器。必要时还可将测试结果输给打印机.
6.被测单元-机器接口 用来建立被测单元与控制器之间的联系。
7.自动测试系统是在测试程序的控制下进行性能测试和故障诊断的。测试程序完成人机交互、仪器管理和驱动、测试流程控制、测试结果的分析处理和输出显示、故障诊断等,是自动测试系统的重要组成部分。
二、软件实现
自动测试系统(ATS)在相同时间内对单个被测对象(UUT)进行多路激励以及测量的测试任务称为并行测试。当单个UUT有多个I/O,且每个I/O都必须被独立测试时,并行测试可减少操作人员的数量,减少测试程序(TP)的运行时间,减少CPU和测试装置的闲置时间,但同时这样也会增加ATS的总处理能力。在进行并行测试过程中,UUT功能和参数所用的测试时间会比使用传统的串行测试方法要少很多。因此在实现并行测试在结合硬件结构设计的同时,重点在于并行ATS的软件开发。
在测试资源以及硬件接口模式满足要求的条件下,以串行ATS的架构为基础,软件实现的过程是通过采用多进程/多线程技术来完成ATS的并行测试。并且,DLL、消息传递和内存映射等多种技术中的不同组合方式可用于解决多进程之间的测试资源以及数据共享问题。
(一)ATS软件平台。ATS软件平台主要包括四部分:测试程序、管理程序、服务程序和驱动程序。图1展示的是ATS软件构成:
1.测试程序:多个测试子程序共同组成,一个测试子程序承担一个被测对象的测试项目选择、加断电、测试和测试结果实时报告等功能。
2.管理程序:调用、分配测试资源,调用测试程序,修改、保存、查阅、打印与删除测试结果的文件。
3.服务程序:在软件平台中,除其它程序以外测试资源的校准程序、故障诊断程序、可互换程序以及辅助文件等。
4.驱动程序:完成测试资源激励或测量被测对象。
(二)多进程与多线程。多进程或多线程技术应用于ATS上要完成并行测试时的软件开发。
期刊文章分类查询,尽在期刊图书馆在相应的进程中创建线程,线程的整个寿命周期都在进程中,这是一个动态的概念。而进程是一个静态的概念,它没有任何操作,只是线程依存的地方多任务是指同一时间可以有多个程序在内存中运行。主线程是在进程创建时自动创立的,主线程本身又可生成新的线程。[2]
三、硬件结构设计
测试硬件接口模式以及测试软件运行模式的限制导致现在广泛使用的电子装备通用ATS虽然可以测试多种UUT,但大多沿用串行测试工作方式,不能同时对单个UUT的多路I/O和多个UUT同时完成测试。因此在串行ATS升级为并行ATS的过程中,首先必须进行系统硬件结构的改进设计。
(一)测试资源的选择。个别测试资源在工作模式上只能支持串行测试,因此,并行测试系统中应采用支持多通道同时并行测试的测试资源。
(二)接口模式的改进。串行ATS与UUT之间的连接方式是由单个UUT通过适配器实现与测试系统的相连,因此,ATS在相同时间内只能对单个UUT完成测试。
并行ATS与UUT之间的连接方式可采取多个UUT同时接到ATS上,来实现并行测试。
四、测试资源和数据共享技术
由于在多线程程序中,调试程序是一个固有的难题,所以如果单个UUT的测试流程的存在形式是多线程,那么测试流程的调试就会比较困难。调试程序又是编写完测试程序后的一个必要步骤。所以,建议测试程序的存在形式采用进程。
同时如果一个测试程序采用一个进程,那么多个测试程序之间的测试资源与数据的共享就是一个难题。运用以下几种技术可以解决这一难题。
(一)DLL。驱动程序支持了测试资源的运行。在并行自动测试系统中,一个测试资源的驱动程序有可能会在多个进程中得到应用,所以它应该是安全并可以重载的。
在并行测试的测试资源的调用过程中,应该分配好管理程序中的通道,禁止在同一时间不同的测试程序调用同一个通道。
(二)内存映射文件。为了方便管理程序和不同的测试程序查看与修改,在ATS中,可以在内存映射文件中存放测试资源的使用情况。如果需要在多个进程之间形成内存的共享,可以采用如下方法:在一个进程中创建一个文件并映射之,然后另一个进程可以通过打开和映射该件,这样就可以将它作为自己进程的内存来使用。[3]
(三)消息传递。用于一个进程发送数据到其它进程。程序对整个系统和资源的管理采用如下方法:在一个测试程序启动之后,给管理程序发送一个消息,告知管理程序哪一个测试程序启动了,且占用了哪些测试资源。
五、自动测试系统软件框架的特点
自动测试系统软件框架的特点在其各个方面的设计中均有体现,费尽周折设计这样一个自动测试系统软件框架,一定是因为其具备着强大的功能和特点,值得人类科学对其做出研究和分析。
自动测试系统软件框架的特点之一是动态性,这是互动的一组类,它封装了对于解决其特定领域的问题的控制流,所以说这一软件框架具有动态的效果,不单作为一个静态类库,只是这种动态是虚拟虚化的,只是一种效果,只有框架被实例化之后才会得以表现;特点之二是易扩展性,测试系统软件框架不是一个客户端应用软件,它是一个非常大的功能模板,不是应用,只是存在潜在的应用功能,或者可以说,软件框架是一个应用“半成品”,它可以通过其专有属性-提供热点来实现扩展应用程序;特点之三反转的控制特性,测试系统软件框架与平常的类库本质的区别是自动测试软件系统中在内嵌着控制流,所以,基于软件框架的软件开发过程中必须有一个需要遵守的原则是:不能用应用代码对软件框架进行调用,而是应当用框架对应用代码做调用操作,如此一来,就使得控制发生了反转;特点之四是可复用性,这一特点见文思意,即自动测试系统软件框架所提供出的解决问题或者是就如何解决问题做出的建议想法方法等是可复用的,而自动测试系统软件框架作为核心部件,它进行设计的初衷就是可复用性,因而这一软件框架的优势是显然的。
结束语
总而言之,自动测试系统软件框架的设计主要分为主体框架、接口、硬件管理以及数据管理和实时性几个方面的设计。通过全面分析自动测试系统的通用性,能够进行初步的确立,以缩短设计时间,最大程度上提高系统运行的稳定可靠性能。并且,某型空空导弹飞行在控制组件性能方面进行综合测试时,就是基于自动测试系统软件的共性进行设计的自动测试系统软件框架,其表现出了极大的优势,譬如实现大粒度的软件复用,以及简化软件的开发流程等。
参考文献:
[1]姜晓红,李岩.特定领域应用框架.行业的框架体验.北京:电子工业出版社,2014
[2] 田立民.青鸟自动测试工具JBTEST的开发研制.北京:电子工业出版社,2010
[3] 张毅刚,姜守达.自动测试系统.哈尔滨:哈尔滨工业大学出版社,2011
[4] 方丹.并行自动测试系统硬件结构研究仁.计算机测量与控制,2010
[5] 飞思科技产品研发中心.Delphi下深人Windows核心编程.北京:电子工业出版社,2013
论文作者:蔡岳周
论文发表刊物:《防护工程》2018年第16期
论文发表时间:2018/10/22
标签:测试论文; 系统论文; 软件论文; 框架论文; 程序论文; 进程论文; 多个论文; 《防护工程》2018年第16期论文;