您现在的位置:智能制造网>技术首页>技术交流

测试系统的仪器可互换性配置实现

2008年08月01日 10:08来源:烟台勾股通信技术有限公司 >>进入该公司展台人气:625

引言
  实现测试系统的仪器可互换性是长期以来许多工程师特别是军事和航空电子行业工程师所致力于的一个目标。1997年建立的IVI(Interchangeable Virtual Instruments,可互换性)基金会,致力于在VPP(VXI plug&play,VXI即插即用)规范的基础上建立可互换、高性能、更易于维护的仪器编程模型,并在VPP仪器厂商共同支持的框架标准基础上定义仪器的通用结构和实现方法,为测试系统服务。目前,IVI基金会已经制定了大量IVI技术规范,许多仪器生产厂商也遵循这些规范开发仪器并提供符合IVI技术规范的仪器驱动器。因此,使用IVI驱动器开发仪器可互换性测试系统就成为主流。
  为了确保测试系统*的仪器可互换性,用户需要直接对仪器类API编程而不能直接对IVI类兼容驱动器进行编程。在测试程序中也不能直接对与特定仪器相关的驱动器和硬件资源进行配置,需要借助于外部“配置仓”,对特定仪器驱动器进行动态加载。为了实现这种功能,用户需要定义一个逻辑名,通过逻辑名调用IVI驱动器,然后从配置仓中查找匹配信息,得到实际的IVI类兼容驱动器指针,动态加载该驱动器,链接相应函数和属性,使应用程序可以间接访问这些函数和属性。逻辑名以及配置仓中与逻辑名匹配的相关信息都需要作为测试系统信息进行配置。本文介绍了使用LabWindows/CVI进行系统仪器可互换性配置的两种方法,并设计了“测试系统仪器可互换性配置子系统”。
1 使用MAX配置仪器可互换性
  Measurement & Automation Explorer(MAX)是NI公司提供的所有硬件和相关驱动软件的标准配置工具,可以对IVI引擎配置仓进行配置,使类驱动器可以与仪器驱动器通信。在MAX中需要配置的有四项:Devices、Instrument Drivers、Virtual Instruments和Logical Names。
  (1)Devices:包含了以VISA源描述符号形式表示的仪器物理硬件地址信息。它显示了测试系统已经定义的仪器。比如,用户可以定义“DAQ::1::INSTR”位置的仪器为“nidmm”。仪器名可以任意定义,但是如果在物理硬件地址不存在实际仪器,则此仪器名在非仿真状态下无法使用。
  (2)Instrument Drivers:包含了测试系统所安装的所有类驱动器、仿真驱动器和驱动器信息。当系统安装新的IVI驱动器,这些信息相应进行更新。类驱动器可以手动加入,仪器驱动器则只能在安装了IVI驱动器时自动加入。
  (3)Virtual Instruments:虚拟仪器,是物理仪器、仪器驱动器和选项设置的综合。它包含了当前系统中所安装的每一个IVI仪器驱动器的信息。这些信息包括驱动中IVI属性的初始化设置,如状态缓存,仿真等等。Virtual Instruments项包括仿真虚拟仪器和仪器虚拟仪器虚拟仪器可以手动加入,但必须类和仪器驱动器以及相关设置。
  (4)Logical Names:逻辑名,即在应用程序中将使用的虚拟仪器。包含了在程序中识别仪器所定义的所有逻辑名。Logical Names项可以手动加入,所用的虚拟仪器即可。因此,当更换仪器时,直接修改与逻辑名相对应的驱动就可以了,仪器本身与测试程序就*隔离了,从而实现了仪器互换性。
  使用MAX配置好系统的逻辑名后,就可以直接调用IVI类驱动器开发测试系统,从而使系统与同仪器通信的驱动器*独立,达到仪器的可互换性。例如,定义了名为“NIDMM”的万用表卡逻辑名,则调用如下函数:
  IviDmm_Initialize (“NIDMM”, &dmmHandle);
  此函数初始化万用表,得到虚拟仪器句柄“dmmHandle”,在仪器配置和测量中通过句柄进行链接,摆脱了对仪器的直接操作。
2 使用CVI Run-Time配置仪器可互换性
  使用MAX配置测试系统,逻辑名、虚拟仪器名等信息都在测试前已经配置完毕。当计算机平台重新安装系统时,则必须为系统安装MAX,并重新定义逻辑名及相关信息。使用LabWindows/CVI的Run-Time函数则可以在程序运行中对系统进行配置。CVI Run-Time可以为IVI驱动器配置以下项目:
  Hardware entry:硬件项。硬件项物理设备。每一个VInstr项引用一个硬件项。
  Driver entry:驱动器项。驱动器项仪器驱动器软件模块。每个VInstr配置项引用一个驱动器项。
  VInstr entry:虚拟仪器项。VInstr项由物理设备和软件驱动器模块组成的虚拟仪器。可以传递VInstr名到类驱动器初始化函数识别将使用的设备和驱动器,或者定义一个逻辑名引用VInstr项,然后把逻辑名传递给类驱动器初始化函数。
  Class entry:仪器类项目。仪器类项目为仪器类默认仿真驱动器的VInstr。如果通过类驱动器启动一个IVI会话,则类驱动器首先通过仪器的VInstr项查找仿真驱动器。如果仪器的VInstr项没有仿真驱动器,那么类驱动器使用你在类项目中的默认仿真驱动器。如果类项目不存在或者它没有默认仿真驱动器,类驱动器使用默认仿真驱动器的硬性编码的VInstr项。
  Logical entry:逻辑名项。逻辑名引用VInstr,VInstr则物理设备和驱动器模块。
  在系统安装了新的IVI驱动器以后,系统中的Hardware entry、Driver entry、VInstr entry都自动得到了更新,因此使用Run-Time我们可以查找到新安装的仪器驱动器以及自带的虚拟仪器名,然后在程序运行时定义逻辑名就可以了。此程序步骤如下:
  *步:定位配置仓位置,读取所有的项目列表。
  第二步:从项目列表中读取一项,判断是否VInstr项。如果不是,重复读取下一项。
  第三步:通过VInstr项的“Driver”节读取Driver项,从Driver项的“Class”节值判断VInstr项所属的仪器类。
  第四步:判断VInstr项是否符合所要使用的仪器种类。如果不是,则重复第二步;如果符合,则得到VInstr entry。
  第五步:使用Ivi_DefineVInstr函数定义逻辑名,然后进行仪器初始化、属性配置,执行测量任务。
3 IVI仪器配置程序的设计
  使用CVI Run-Time对系统进行配置,在每一次测量前都需要进行复杂的仪器驱动器查找,占用了测试时间,不利于提高系统的测试效率。为了解决这个问题,用LabWindows/CVI编写了测试系统仪器可互换性配置程序。该程序为测试系统生成了一个仪器配置文件SystemConfigure.ini,此文件存储了系统所使用仪器类的仪器虚拟名,测量前直接读取,然后用CVI Run-Time定义逻辑名,从而节省了配置时间。
  3.1 SystemConfigure.ini文件的内容
  此文件存储了系统所使用仪器的类和各仪器类所的虚拟仪器名。例如:
  [InstrClass]
  Class1 = "IviScope"
  Class1Lable = "示波器"
  Count = 1
  [IviScope]
  Driver = "Driver->tkds30xx"
  VInstr = "VInstr->tkds30xx"
  由[InstrClass]确定系统所使用的仪器类,其中“Count = 1”表示系统中用到的仪器类为一个。由此仪器类的“Class1”标记得到类名称“IviScope”,进一步则可以查找到此仪器类的虚拟仪器名和驱动器,然后就可以使用Run-Time的Ivi_DefineLogicalName函数为系统定义逻辑名。
  3.2 配置程序的设计
  SystemConfigure.ini文件存储了测试系统所使用的IVI仪器类和类所的虚拟仪器名及驱动器。当系统所使用的仪器改变时,运行“测试系统仪器可互换性配置”对SystemConfigure.ini文件进行更新。“测试系统仪器可互换性配置”子系统运行界面如图1所示。

图1 “仪器可互换性配置”子系统运行界面
  子系统从SystemConfigure.ini文件中的[InstrClass]读取系统所使用的IVI类,同时也可以加入新的IVI类,显示在“IVI类选择”框中。选中某一类后,子系统从配置仓ivi.ini文件中读取该类已安装的驱动器,由用户确定系统将要使用的驱动器则系统自动配置虚拟仪器名。配置步骤如下:
  *步:从配置文件SystemConfigure.ini中读取IVI仪器类;
  第二步:根据所选择的IVI类,从配置仓ivi.ini文件读取该类已安装驱动器;
  第三步:由用户选择所要使用的驱动器,配置虚拟仪器名,并写入SystemConfigure.ini文件,供测试程序调用。
  此程序可以作为测试系统的一个子系统,在系统仪器发生更换时对SystemConfigure.ini文件进行配置。
4 影响仪器互换性的一些因素
  尽管大部分仪器厂商都遵循IVI规范开发仪器和IVI驱动器,但是不同厂商之间还是会存在差异,从而影响仪器可互换性的实现。在系统开发过程中,用户要考虑到这些因素,并努力避免。
  (1)仪器物理标识与虚拟标识符的对应。系统安装IVI驱动器后,都会自动生成相应的虚拟标识符,但默认情况下都没有仪器物理标识。在仿真状态下,程序可以正常执行;在非仿真状态下,则会出现运行时警告甚至无法运行。因此,在安装IVI驱动器后,应该为虚拟标识符仪器物理标识。另外,对于具有重复重功能或重复资源的仪器,用户更应该为定义的虚拟标识符物理标识。
  (2)仪器特殊属性的初始化配置。厂商提供的仪器可能具有IVI仪器类规范之外的特性,这些特性的不同设置方式可能会影响可互换性的实现。为解决这种问题,用户需要在IVI配置仓中对这些特殊属性进行初始化配置。
  (3)“强制数据转换记录”功能的使用。“强制数据转换记录”功能是对IVI驱动器执行的强制数据转换过程进行记录。IVI类规范允许在连续实数区中对一些参数或属性进行取值,但是有些仪器仅能使用其中的一些离散数值。因此,需要IVI驱动器完成对用户设置的参数值或属性值进行数据强制转换,使仪器可以接收所设定的值。用户在程序执行前使用此功能,并利用驱动器提供的“记录读取”函数读出记录数据,判断强制数据转换是否符合实际要求。
  (4)IVI驱动器“互换性检查”功能的使用。该功能对程序进行检查,并对存在潜在危险的地方提出警告。“互换性检查”功能在程序调试过程中使用,调试完毕后应该禁止。
  (5)仪器功能与程序设置的合适选择。不同厂商或者不同型号的同类仪器,某些性能可能不同,在程序开发设置中应该尽可能考虑所有仪器zui普遍的性能。同样,在互换仪器时,也一定要选择性能与程序开发设置相同的仪器。比如,程序开发中量程设置为250V的DMM仪器,用zui大量程为200V的仪器互换,就可能出现执行中错误了。
全年征稿/资讯合作 联系邮箱:1271141964@qq.com
  • 凡本网注明"来源:智能制造网"的所有作品,版权均属于智能制造网,转载请必须注明智能制造网,https://www.gkzhan.com。违反者本网将追究相关法律责任。
  • 企业发布的公司新闻、技术文章、资料下载等内容,如涉及侵权、违规遭投诉的,一律由发布企业自行承担责任,本网有权删除内容并追溯责任。
  • 本网转载并注明自其它来源的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品来源,并自负版权等法律责任。
  • 如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。


编辑精选

更多


宣传样本推荐图书

旗下子站

工控网机器人仪器仪表物联网3D打印工业软件金属加工机械包装机械印刷机械农业机械食品加工设备制药设备仓储物流环保设备造纸机械工程机械纺织机械化工设备电子加工设备水泥设备海洋水利装备矿冶设备新能源设备服装机械印染机械制鞋机械玻璃机械陶瓷设备橡塑设备船舶设备电子元器件电气设备



关于我们|本站服务|会员服务|企业建站|旗下网站|友情链接| 兴旺通| 产品分类浏览|产品sitemap

智能制造网 - 工业4.0时代智能制造领域“互联网+”服务平台

Copyright gkzhan.comAll Rights Reserved法律顾问:浙江天册律师事务所 贾熙明律师

客服热线:0571-87756395加盟热线:0571-87759904媒体合作:0571-89719789

客服部:编辑部:展会合作:市场部:

关闭