发布企业信息

基于组件的仪器互换性研究

作者:  信息来源:电子市场  2007-5-29

字体大小:  网友评论  进入论坛  

摘 要:介绍IVI标准的基本原理,结合组件技术开发了类仪器驱动组件、具体仪器驱动及管理配置文件的配置工具,实现了仪器互换。 关键词:组件对象模型。仪器互换。自动测试系统Study ofInstrumentInterchangeability Based on COMTechnology WANGCheng,MENGChen,ZHANGJian (Ordnance Engineering College,Shijiazhuang 05...

  摘  要:介绍IVI标准的基本原理,结合组件技术开发了类仪器驱动组件、具体仪器驱动及管理配置文件的配置工具,实现了仪器互换。
    关键词:组件对象模型;仪器互换;自动测试系统

Study ofInstrumentInterchangeability Based on COMTechnology

WANGCheng,MENGChen,ZHANGJian

(Ordnance Engineering College,Shijiazhuang 050003,China)

  Abstract:Introducedthe base principle ofIVIstandard.Developedthe class ofinstrument driver component,specific driverandthe configuretool.Realized theinterchangeability ofinstruments.
  Key words:COM/DCOM;instrumentinterchangeability;ATS

1 引言
  1998年,在测试领域兴起的IVI规范是在VPP(VXIplug&play)技术上发展起来的新技术,目的是在现有的测试系统的基础上,从测试系统的软件结构出发,消除测试冗余,提高测试速度以及提高测试系统中同类硬件仪器的互换性。IVI是仪器驱动程序的最新标准,是当今世界上最先进的测试技术。IVI在已有的仪器驱动程序标准兼容的基础上带来了许多新特性,增强了仪器驱动程序的效率。但是目前IVI基金会只制定了五类仪器的驱动:示波器、数字多用表、任意波形/函数发生器、开关和直流电源。而实际大型测试系统中,用到的仪器远不止这五类仪器。而以IVI基金会提供的示波器类驱动为例说明:该驱动器中提供58个函数,编程接口过大,对编程人员要求较高。为了简化编程,我们在设计某导弹分布式自动测试系统软件时,依据IVI标准的基本原理,利用组件技术开发了类仪器驱动组件,和具体仪器驱动动态链接库,并开发了相应的配置文件和配置工具,实现了仪器的互换和远程调用。

2 IVI系统结构
  IVI系统结构如图1所示,由IVl分类驱动程序、IVI具体仪器驱动程序、IVI引擎、IVI配置实用程序、IVI配置信息文件5部分组成。应用测试程序中调用类仪器驱动程序,类仪器驱动程序调用具体仪器驱动程序来控制实际的仪器,因此,即使测试系统的具体仪器改变,也不会使分类驱动程序的测试代码受到影响。



3 仪器互换的实现
3.1 仪器互换的基本原理
  仪器互换功能的实现采用了IVI标准的基本原理,即动态链接库的动态加载技术及显式链接(相对于隐含链接方式)技术。类仪器驱动开发为DLL形式的组件,将具体仪器驱动按照功能进一步封装成动态链接库。测试程序中调用类仪器驱动组件对外提供的标准接口,而组件接口实现的各种方法中会根据配置文件动态加载具体仪器驱动,然后调用具体仪器驱动中相对应的函数,实现访问和控制硬件的功能。
3.2 配置文件的设计和配置工具的开发
  为实现仪器互换,依据IVI规范,类仪器驱动组件中的方法名及具体仪器驱动程序导出的函数名由“前缀”+“函数功能描述”两部分组成。因此,对于一类仪器,配置文件中最少需要包含类仪器描述、类仪器驱动  组件方法名称前缀、类仪器驱动组件名称、具体仪器描述、具体仪器驱动函数名前缀、具体仪器驱动程序名称六项。为了开发各种类仪器驱动组件的方便,自己重新定义配置文件,例如:数字多用表类仪器在配置文件中配置信息如下:
 
  配置工具用于交互式配置仪器信息和驱动程序库的信息,并存储在配置文件中。本系统中开发配置工具界面如图2所示。  

3.3 类仪器驱动组件的设计
  本系统开发中,利用MFC类库开发类仪器驱动组件,其形式为DLL。下面以数字多用表类仪器驱动组件为例说明:
  第一步:利用MFCAppWizard(dll)新建DMM工程,然后新建一个基于CCmdTarget的类CDMMCom。
  第二步:考虑到在组件接口方法中需要读配置文件得到具体仪器驱动和具体仪器函数前缀,在类CD-MMCom中添加成员变量HINSTANCEhinst和char*in-sprefix。hinst用以保存具体仪器驱动程序句柄,inspre-fix用来保存具体仪器函数前缀。然后在类CDMMCom构造函数中添加代码,实现读配置文件,获得具体仪器驱动和具体仪器函数前缀。代码示意如下:
 
    第三步:具体实现组件中的各个方法。类仪器驱动组件只提供类仪器中大多数仪器所具有的共同的功能和属性。以实现数字多用表初始化方法为例说明:在该方法中首先根据从配置文件中读到的具体仪器驱动函数前缀确定需要调用的具体仪器驱动中的导出函数名称,然后利用hinst具体仪器驱动程序句柄得到的导出函数指针,并调用实现初始化具体数字多用表功能,代码示意如下:
 
  对于部分具有特殊功能的仪器,类仪器驱动组件提供的方法不够时,只需要采用包容或集合的方法继承该组件,并添加特殊功能接口,然后在测试程序中调用继承后的组件接口即可实现仪器的特殊功能。
3.4 具体仪器驱动程序的设计
  对于不符合IVI规范的具体仪器驱动,按照IVI规范命名原则,对具体仪器驱动进一步封装即可。

4 结论
   
在开发某导弹测试系统软件时,结合组件技术开发了类仪器驱动组件、具体仪器驱动(DLL)以及管理配置文件的配置工具,实现了仪器互换。而且由于组件具有进程透明的特性,可以调用远程机器上的类仪器驱动组件,从而达到控制远程仪器的目的。

 

参考文献

[1]任献彬,牛双城,许爱强.通用ATS软件设计平台研究[J].宇航计测技术,2002(10):59-93.
[2]潘爱民.COM原理与应用[M].北京:清华大学出版社,1999.
[3]David J.Kruglinski.Visual C++技术内幕[M].北京:清华大学出版社,1999.
[4]IVIFoundation.IVI-3.1:DriverArchitectureSpec_v1.1[EB/OL].http://www.ivifoundation.org.2002,09.
分页:
Google


推荐图文

广告

电子热点图文

  • 新型太阳能充电器的研究与设计
  • 基于EDA的交通灯控制系统
  • 电子元件基础知识--半导体三极管
  • PID控制中如何整定PID参数

电子风云人物

Copyright © 2004 51base.com Inc. All rights reserved.

无忧基地 版权所有│粤ICP备06098418号│XHTML | CSS

客服:+86-755-2212 2202 工作时间:周1~5 10点~16点

感谢中国网络提供带宽支持

《网络营销技巧》