首页 » 业界动态 » 自动测试系统的通用性研究

自动测试系统的通用性研究

作者:  时间:2009-07-20 14:39  来源:

为了实现测控软件的通用化、系列化,首先软件要与硬件系统结构相适应,根据硬件系统的结构特点制定软件所涉及的数据结构,最后考虑软件结构,实现测控软件的各种功能。根据上述测试系统的硬件结构,提出了标准的软件接口——功能接口的概念。功能接口是一套封装了虚拟仪器具体功能的细节,对外提供标准功能接口的函数库和配置工具的软件包。功能接口将所有的仪器(最小集合是测试系统中的仪器)可实现的功能进行分类,忽略各个仪器的实现细节,比如数字万用表与A/D模块测量电压的功能接口是一样的,具体调用哪个仪器操作视接口的连接而定,而且不需要进行仪器的初始化、建立回话连接等辅助过程。功能接口的核心是仪器控制、接口映射及状态缓存,其主要任务是将测试流程所描述的功能映射为具体的控制过程[3]。

功能接口可分为功能层、逻辑层、仪器操作层、接口配置文件及接口配置工具五个部分。(图略)

功能层是整个结构的最高层,面向测试系统开发的最终用户。功能层不用出现任何与仪器有关的信息,描述的都是有关测试流程及结果判定的过程;

逻辑层根据系统测试仪器资源、信号转接通道控制模型及信号转接通道配置的描述,将功能层的功能映射到具有逻辑名称的仪器和通道,该逻辑名可以指向测试系统中一台特定设备,当该仪器模块更换时,只需改变逻辑名的指向为新型设备即可,因此逻辑层不包含仪器地址、具体会话等信息,具备仪器无关性;

仪器操作层利用仪器驱动程序或随仪器模块提供的动态链接库控制硬件的所有操作;

接口配置工具用于交互式配置测试资源、信号转接控制元件及接口映射关系等信息,建立测试仪器功能模型及信号转接通道控制模型,并将个模型的描述信息存储在配置文件中,供测试功能接口使用;

接口配置文件存储的是测试仪器功能模型及信号转接通道控制模型的信息,包括测试资源信号端口及通道、电气连接关系、信号转接通道具备的操作功能、操作仪器应具备的其他附加条件等。

基于功能接口技术的测试软件开发方案的主要思想是,在测试流程与具体仪器之间建立功能接口,将仪器控制与测试程序完全隔离,即测试流程面向UUT接口信号,不进行直接面向仪器的操作。采用基于功能接口技术,可以有效的实现测试程序集的可移植性和仪器的可互换性,从而实现测试系统的通用性。

4.2仪器的封装
在提出了功能接口的基础上,对相应的测试仪器进行封装,是实现测试系统通用性必不可少的步骤。对测试仪器的封装又分为两种:对开关资源的封装及对测试资源的封装。

4.2.1对开关资源的封装
对开关资源的封装主要为了自动实现测试通道的切换、控制相应的通道自动连接和断开。在前面的功能接口描述中,用户在开发测试系统完成测试通道配置时会生成相应的配置文件,配置文件里对所建立的通道有完整的描述。为此,对开关资源的封装主要时完成对配置文件的解释过程。下面,是在LabWindows/CVI开发环境下对某自动测试系统开关资源的封装。共封装了三个函数,仪器的初始化、关闭及通道配置部分代码如下:
void switchinit( )
{
  ViSession     vichannel;
  ViSession     vipower;
  pipx40_init ("PXI2::15::INSTR", 0, 0,&vipower);
jdz201_init ("VXI::16::INSTR", VI_FALSE, VI_FALSE, &vichannel);
}
//仪器初始化
void switchcloset( )
{
  jdz201_close (vichannel);
pipx40_close (vipower);
}
//仪器关闭
void switchencapsulation(char *startpoint, char *terminalpointchar *filename,Boolean state)
{
  point=strstr(itemname,"PSWITCH");
if(point!=NULL)
{
        if(point[8]<=9 && point[8]>=0)
        strncpy(switchnumber,&point[8],1);
        if(point[9]<=9 && point[9]>=0)
          strncat(switchnumber,&point[9],1);
          Fmt(&intswitchnumber, "%d<%s",switchnumber);
          powerchannel=intswitchnumber;
          if(state)
            statepower=1;
          else
            statepower=0;
          pipx40_setChannelState (vipower, 1,powerchannel,statepower);
      }
//判断相应的开关通道并闭合或断开
其中,第三个函数中的参数分别为一条通道的起点、终点、配置文件的路径及开关的状态。通过上面的三个函数及相应的配置文件,即完成了整个测试系统中通道配置的问题。

4.2.1对测试仪器的封装

虽然测试任务千变万化,但不论多么复杂的测试系统,其测试信号的种类是有限的,主要包括直流电压、交流电压、电流、频率、频谱、功率等。因此,在建立仪器控制函数的基础上,进一步封装测试功能通用函数,供测试程序调用,即可完成测试程序的可读性及可移植性。如对测量频率的函数封装包括以下三个函数,仪器初始化、仪器关闭及频率测量。仪器的初始化及关闭同开关资源,频率测量函数如下:

void measure_fre(int channel, ViReal64 *fre, double triggerLevel, double signal)
此函数的功能是测量频率,其参数分别为通道号、测量结果变量、触发电平及被测信号频率标称值。按此方法,即可完成对大部分常见信号的封装。可以使系统实现面向信号的软件平台,从而有效的实现系统的通用性。

5.结论
本文作者的创新点:提出了硬件接口及功能接口的概念,提出并实现了面向信号的通用测试系统的仪器封装。

实现ATS的通用性,尽量减少装备技术保障设备的数量及种类,是提高经济及军事效益的有效途径。通过对硬件及软件两个方面通用性关键技术的研究,为实现ATS的通用性,奠定了坚实的基础。

相关推荐

自动测试系统的通用性研究

ATS  TPS  UUT  2009-07-20

用于遥控器的射频测试站

射频  遥控组件  UUT  2009-07-13

开放型模块化高性价比ATS的自主研发

模块化  ATS  DSP   2008-10-27

WiMAX测试领域的若干问题探讨

WiMAX;PICS;ATS  2007-11-23

通用化测试系统技术

在线研讨会
焦点