CN101944062A - 一种通用虚拟仪器接口配置方法 - Google Patents

一种通用虚拟仪器接口配置方法 Download PDF

Info

Publication number
CN101944062A
CN101944062A CN 201010287770 CN201010287770A CN101944062A CN 101944062 A CN101944062 A CN 101944062A CN 201010287770 CN201010287770 CN 201010287770 CN 201010287770 A CN201010287770 A CN 201010287770A CN 101944062 A CN101944062 A CN 101944062A
Authority
CN
China
Prior art keywords
function
instrument
parameter
usi
paragraph
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN 201010287770
Other languages
English (en)
Other versions
CN101944062B (zh
Inventor
傅鹏程
段俊斌
邓启斌
龚安
黄晓津
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
No63961 Unit Of Pla
Original Assignee
No63961 Unit Of Pla
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by No63961 Unit Of Pla filed Critical No63961 Unit Of Pla
Priority to CN 201010287770 priority Critical patent/CN101944062B/zh
Publication of CN101944062A publication Critical patent/CN101944062A/zh
Application granted granted Critical
Publication of CN101944062B publication Critical patent/CN101944062B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明属于计算机自动测试领域,提供一种通用虚拟仪器接口配置方法,该方法在通常的仪器驱动程序与应用程序之间加入了一个通用软件接口层,将应用程序与实际仪器调用彻底隔离开来,通过定义统一标准的调用接口函数以及通用软件接口描述文件,从而实现了在不更换应用程序代码、不进行源程序重新编译的条件下测试***中仪器的更换;一个测试软件包能够适应现有的、甚至未来的不同类型仪器硬件和总线构成的测试***;测试代码可以不加修改的被移植到不同的仪器上。从广义角度来看,本发明方法规定了不同程序模块之间的一种数据通信方法,只要遵循它就可以实现任意仪器、应用程序模块之间的数据通信功能。

Description

一种通用虚拟仪器接口配置方法
技术领域
本发明属于计算机自动测试领域,特别涉及一种通用虚拟仪器接口配置方法。
背景技术
长期以来,互换性成为许多工程师建造计算机自动测试***的目标。因为在很多情况下,仪器硬件不是过时就是需要更换,因此迫切需要一种无需改变测试程序代码就可用新的仪器硬件改进***的方法。
随着PC计算机功能、性能的迅速发展,以及面向对象和可视化编程技术在软件领域为更多易于使用、功能强大的软件开发提供了可能性,图形化操作***Windows 成为PC 机的通用配置。在这种背景下,虚拟仪器的概念在世界范围内得到广泛的认同和应用。VI(虚拟仪器,Virtual Instrument)通过应用程序将通用计算机与仪器硬件结合起来,用户可以通过友好的图形界面(通常叫做虚拟前面板)操作这台计算机,就象在操作自己定义、自己设计的一台单个传统仪器一样。VI以透明的方式把计算机资源(如微处理器、内存、显示器等)和仪器硬件(如A/D、D/A、数字I/O、定时器、信号调理等)的测量、控制能力结合在一起,通过软件实现对数据的分析处理、表达以及图形化用户接口。在虚拟仪器得到人们认同的同时,虚拟仪器的相关技术规范也在不断地完善。美国NI 公司、Agilent 公司、Tektronix 公司、Racal 公司等相继推出了基于GPIB 总线、Serial串行总线、ISA总线、PCI/CompactPCI总线、VXI 总线、PXI总线和LXI总线等多种虚拟仪器与通用计算机***的物理总线接口。
软件接口是完成计算机和仪器间通信的通道,通常称为仪器驱动程序。为了给种类繁多物理总线接口的虚拟仪器方便的开发仪器驱动程序,VPP ***联盟制定了新一代的接口软件规范,即虚拟仪器软件体系(Virtual Instrument Software Architecture,简称VISA),使得各个厂商均以该接口软件作为I/O 控制的底层函数库来开发仪器驱动程序。这样,不同厂商的软件就可以在同一平台上协作运行,大大减少了软件的重复开发。VISA 是在不同的总线上作了一个统一的编程接口,使用VISA 接口编写的程序可以对使用不同总线的仪器进行控制。对仪器驱动器和应用程序而言,VISA 库函数是一套可方便调用的函数,其核心函数能够控制各种类型器件,无需考虑器件的接口类型和软件的兼容性。
尽管如此,在仪器编程和测试***软件应用方面,仍存在一些亟待解决的问题,比如,能否做到在更换***中一些陈旧仪器时测试软件无需改动;一个测试软件包能否适应不同类型仪器硬件构成的测试***;测试代码能否被移植到不同的仪器上;当仪器故障或需要校准时,测试***能否不间断运行。基于以上问题,NI 公司提出了一种可互换的仪器驱动编程模型,联合众仪器厂商成立了IVI 基金会,致力于在VPP 兼容框架的基础定义上定义一系列标准仪器编程模型。IVI 驱动比VISA 规范更高一层,是在同类仪器不同的产品间作了一个统一的编程接口。使用IVI 仪器驱动器可以对支持IVI规范的同类仪器进行控制。使用IVI 仪器驱动器最重要的目的就是使得在不更换应用程序代码、不进行源程序重新编译的条件下实现测试***中仪器的更换。为了实现互换,IVI 仪器驱动器必须要有标准的程序接口。目前,IVI 基金会定义了8类驱动器功能组。
但是,在实际多个项目的技术保障***研制过程中,在实现虚拟仪器的软件接口时,仍存在一些亟待解决的问题。主要问题是:
a)        国内外具有IVI驱动程序开发能力的厂家非常有限,导致可选择的具有IVI驱动程序的测试仪器产品种类不全,给仪器设备的选型带来现实的困难;
b)        由于IVI 基金会目前仅定义了8类驱动器功能组,其他大量的仪器设备(如通讯类仪器)不能涵盖,导致无法将IVI驱动作为主要的软件接口使用;
IVI驱动规范体系复杂,配置方法繁琐,不同厂家之间的IVI驱动程序的兼容性无法保证,也限制了IVI标准规范在世界范围内的推广使用。
发明内容
鉴于以上问题,本发明的主要目的在于提供一种通用虚拟仪器接口配置方法,解决在计算机自动测试***中,现有的虚拟仪器软件接口无法满足:a)在不更换应用程序代码、不进行源程序重新编译的条件下实现测试***中仪器的更换;b)一个测试软件包不能适应不同类型仪器硬件和总线构成的测试***;c)测试代码不能不加修改的被移植到不同的仪器上的问题。
本发明提供的该种通用虚拟仪器接口配置方法,主要包括以下步骤:
a、每种仪器的通用软件接口统一成windows***中标准32位dll动态链接库型式;
b、所有仪器的通用软件接口dll动态链接库规定了4个标准引出函数:打开函数、关闭函数、自检函数和测量函数;
c、每种仪器同时定义一个通用软件接口描述文件;
d、4个标准引出函数的输入/输出参数的数量和数据类型,将根据每种仪器的通用软件接口描述文件分别定义;
e、当在应用程序中使用该种仪器的某一功能时,由测试人员根据该仪器的通用软件接口描述文件的描述,对仪器的功能进行配置;配置完毕后,由应用程序将配置结果作为传递参数,动态调用仪器的通用软件接口dll动态链接库规定的4个标准引出函数;
f、4个标准引出函数根据应用程序传递过来的参数,再次调用仪器的实际驱动程序或其他应用程序模块,并将执行结果返回应用程序。
其中,所述步骤c中的通用软件接口描述文件统一以GDV作为文件扩展名,简称GDV文件。
所述GDV文件的编制规则:
GDV文件为虚拟仪器通用软件接口的说明性文件,与虚拟仪器通用软件接口动态连接库一起使用,作为应用程序调用虚拟仪器通用软件接口的依据;
GDV文件为纯文本文件,文件扩展名统一规定为”.gdv”,每一种仪器一个接口描述文件;
文件分成6段落,即[程序]、[运行]、[函数]、[输入参数]、[输出参数]和[结束],整个文件以[程序]开头,以[结束]为结尾;
每个段落包括若干行,每行采用“=”表达式的形式,表达式“=”左侧为属性,右侧为取值,用来描述仪器驱动的不同属性和取值,每行以“;”作为结尾,注释均以“//”开头;
[程序]段描述仪器的型号和仪器的功能;
[运行]段落描述仪器动态链接库的文件名、版本号和类型;
[函数]段落描述仪器驱动程序所包括的函数,若一种仪器驱动包括多个函数,则依次按顺序全部列写在[函数]这个段落里;
[输入参数]段落描述每个驱动函数输入参数的属性和取值,若一种函数包括多个输入参数,则依次按顺序全部列写在[输入参数]这个段落里;
[输出参数]段落描述每个驱动函数输出参数的属性和取值,若一种函数包括多个输出参数,则依次按顺序全部列写在[输出参数]这个段落里;
[结束]段落标识整个接口文件的结束。
所述步骤b中所有仪器的通用软件接口dll动态链接库规定的4个标准引出函数:打开函数、关闭函数、自检函数和测量函数的函数原型定义为:
long  UiDeviceOpen(char* resourceName)
函数名称:打开函数
第1个参数:输入参数指针,逻辑名或资源名或初始化字符串,直接从前面仪器管理数据表的ResourceName字段读取;
函数返回值:如果>=0则函数执行成功,否则执行失败;
long  UiDeviceClose(void)
函数名称:关闭函数
函数返回值:如果>=0则函数执行成功,否则执行失败;
long UiDeviceSelftTest(void)
函数名称:自检函数
函数返回值:如果>=0则函数执行成功,否则执行失败;
l      long  UiDeviceMeasure(char* InputParaList,int InputParaNum, char* ReturnParaList, int ReturnParaNum)
函数名称:测量函数
第1个参数:输入参数指针
第2个参数:输入参数个数
第3个参数:输出参数指针
第4个参数:输出参数个数
函数返回值:如果>=0则函数执行成功,否则执行失败。
所述步骤e中动态调用仪器的通用软件接口dll动态链接库规定的4个标准引出函数的方法是:
首先声明4个入口函数;
在应用程序里获取dll动态链接库及4个标准引出函数的地址;
调用打开函数,进行仪器的初始化;
调用自检函数,进行仪器的自检;
调用测量函数,传入参数,得到结果,传入参数的类型、顺序、个数都由通用软件接口描述文件动态定义;
最后调用关闭函数,进行关闭仪器操作。
本发明提供的通用虚拟仪器接口配置方法,实质上是在通常的仪器驱动程序与应用程序之间加入了一个通用软件接口层,将应用程序与实际仪器调用彻底隔离开来,通过定义统一标准的调用接口函数以及GDV文件,从而实现了在不更换应用程序代码、不进行源程序重新编译的条件下测试***中仪器的更换;一个测试软件包能够适应现有的、甚至未来的不同类型仪器硬件和总线构成的测试***;测试代码可以不加修改的被移植到不同的仪器上。
另外,使用本发明提供的通用虚拟仪器接口配置方法,不仅可以使得应用程序与仪器之间实现统一的软件接口,而且可以实现与不同软件程序模块之间的接口,这也大大扩展了通用软件接口方法的使用范围。从广义角度来看,本发明方法规定了不同程序模块之间的一种数据通信方法,只要遵循它就可以实现任意仪器、应用程序模块之间的数据通信功能。
具体实施方式
以下结合具体实施例对本发明的技术方案进一步说明,但不作对其的限定:
本发明提供的该种通用虚拟仪器接口配置方法,主要包括以下步骤:
a、每种仪器的通用软件接口统一成windows***中标准32位dll动态链接库型式;
b、所有仪器的通用软件接口dll动态链接库规定了4个标准引出函数:打开函数、关闭函数、自检函数和测量函数;
c、每种仪器同时定义一个通用软件接口描述文件,统一以GDV作为文件扩展名;
d、根据每种仪器的通用软件接口描述文件(简称GDV文件)分别定义4个标准引出函数的输入/输出参数的数量和数据类型;
e、当在应用程序中使用该种仪器的某一功能时,由测试人员根据该仪器的GDV文件的描述,对仪器的功能进行配置;配置完毕后,由应用程序将配置结果作为传递参数,动态调用仪器的通用软件接口dll动态链接库规定的4个标准引出函数;
f、4个标准引出函数根据应用程序传递过来的参数,再次调用仪器的实际驱动程序或其他应用程序模块,并将执行结果返回应用程序。
本发明提供的通用虚拟仪器接口配置方法,实质上是在通常的仪器驱动程序与应用程序之间加入了一个通用软件接口层,将应用程序与实际仪器调用彻底隔离开来,通过定义统一标准的调用接口函数以及GDV文件,从而实现了在不更换应用程序代码、不进行源程序重新编译的条件下测试***中仪器的更换;一个测试软件包能够适应现有的、甚至未来的不同类型仪器硬件和总线构成的测试***;测试代码可以不加修改的被移植到不同的仪器上。
另外,使用本发明提供的通用虚拟仪器接口配置方法,不仅可以使得应用程序与仪器之间实现统一的软件接口,而且可以实现与不同软件程序模块之间的接口,这也大大扩展了通用软件接口方法的使用范围。从广义角度来看,本发明方法规定了不同程序模块之间的一种数据通信方法,只要遵循它就可以实现任意仪器、应用程序模块之间的数据通信功能。
其中,所述步骤b中所有仪器的通用软件接口dll动态链接库规定的4个标准引出函数:打开函数、关闭函数、自检函数和测量函数的函数原型定义为:
l      long  UiDeviceOpen(char* resourceName)
函数名称:打开函数
第1个参数:输入参数指针,逻辑名或资源名或初始化字符串,直接从前面仪器管理数据表的ResourceName字段读取
函数返回值:如果>=0则函数执行成功,否则执行失败。
l      long  UiDeviceClose(void)
函数名称:关闭函数
函数返回值:如果>=0则函数执行成功,否则执行失败。
l      long UiDeviceSelftTest(void)
函数名称:自检函数
函数返回值:如果>=0则函数执行成功,否则执行失败。
l      long  UiDeviceMeasure(char* InputParaList,int InputParaNum, char* ReturnParaList, int ReturnParaNum)
函数名称:测量函数
第1个参数:输入参数指针
第2个参数:输入参数个数
第3个参数:输出参数指针
第4个参数:输出参数个数
函数返回值:如果>=0则函数执行成功,否则执行失败。
所述步骤e中动态调用仪器的通用软件接口dll动态链接库规定的4个标准引出函数的方法是:
首先声明4个入口函数;
在应用程序里获取dll动态链接库及4个标准引出函数的地址;
调用打开函数,进行仪器的初始化;
调用自检函数,进行仪器的自检;
调用测量函数,传入参数,得到结果,传入参数的类型、顺序、个数都由通用软件接口描述文件(简称GDV文件)动态定义;
最后调用关闭函数,进行关闭仪器操作。
所述GDV文件的编制规则:
GDV文件为虚拟仪器通用软件接口的说明性文件,与虚拟仪器通用软件接口动态连接库一起使用,作为应用程序调用虚拟仪器通用软件接口的依据。
GDV文件为纯文本文件,文件扩展名统一规定为”.gdv”,每一种仪器一个接口描述文件。
文件分成6段落,即[程序]、[运行]、[函数]、[输入参数]、[输出参数]和[结束],整个文件以[程序]开头,以[结束]为结尾。
每个段落包括若干行,每行采用“=”表达式的形式,表达式“=”左侧为属性,右侧为取值,用来描述仪器驱动的不同属性和取值。每行以“;”作为结尾。注释均以“//”开头。
[程序]段描述仪器的型号和仪器的功能。
[运行]段落描述仪器动态链接库的文件名、版本号和类型。
[函数]段落描述仪器驱动程序所包括的函数。若一种仪器驱动包括多个函数,则依次按顺序全部列写在[函数]这个段落里。
[输入参数]段落描述每个驱动函数输入参数的属性和取值。若一种函数包括多个输入参数,则依次按顺序全部列写在[输入参数]这个段落里。
[输出参数]段落描述每个驱动函数输出参数的属性和取值。若一种函数包括多个输出参数,则依次按顺序全部列写在[输出参数]这个段落里。
[结束]段落标识整个接口文件的结束。
实施例1
以在通用测试软件平台里面配置、调用及更换矢量网络分析仪abc1000为例:
a)      根据用户应用测试流程、仪器功能和具体使用方式,创建一个abc1000仪器的GDV文件Ui_abc1000.gdv,准确定义了仪器型号、驱动程序名、4个函数的参数数量和含义等接口配置内容,如下所示:
[程序]
NAME = abc1000
;仪器型号
TYPE = 矢量网络分析仪
;功能
UPDATE = YES
;如果参数之间有依赖,那么必须有该字段,而且为YES
DESCRIPTION = 
[运行]
NAME = UI_ abc1000
;对应的驱动程序
VERSION = 1.0
;版本号
TYPE = UI
;驱动程序的类型,目前分为IVI和UI
[函数1]
NAME = 测量
INPUTNUM = 6
;函数的输入参数总数量
OUTPUTNUM = 2
;函数的输出参数总数量
AUTO_ADD = NO
;不自动添加操作,在操作列表中不显示
[函数2]
NAME = 自检
INPUTNUM = 0
;函数的输入参数总数量
OUTPUTNUM = 0
;函数的输出参数总数量
AUTO_ADD = YES
;自动添加操作,在操作列表中显示
[函数3]
NAME = 初始化仪器
INPUTNUM = 0
;函数的输入参数总数量
OUTPUTNUM = 0
;函数的输出参数总数量
AUTO_ADD = YES
;自动添加操作,在操作列表中显示
[函数4]
NAME = 关闭仪器
INPUTNUM = 0
;函数的输入参数总数量
OUTPUTNUM = 0
;函数的输出参数总数量
AUTO_ADD = YES
;自动添加操作,在操作列表中显示
[函数1.输入参数1]
FUNCTION = 函数1
;函数的输入参数
NAME = 测量通道号
SHOW = YES
;正常参数
TYPE = int
INPUT = text
MINIMUM = 1
MAXIMUM = 64
DEFAULT = 1
UNIT = 
[函数1.输入参数2]
FUNCTION = 函数1
;函数的输入参数
NAME = 测量S参数选择
SHOW = YES
;正常参数
TYPE = int
INPUT = list
MINIMUM = 0
MAXIMUM = 3
OPTION0.value = 0
OPTION0.name = s11
OPTION0.unit = 
OPTION1.value = 1
OPTION1.name = s22
OPTION1.unit = 
OPTION2.value = 2
OPTION2.name = s12
OPTION2.unit = 
OPTION3.value = 3
OPTION3.name = s21
OPTION3.unit = 
DEFAULT = 0
[函数1.输入参数3]
FUNCTION = 函数1
;函数的输入参数
NAME = 标记类型
SHOW = YES
;正常参数
TYPE = int
INPUT = list
MINIMUM = 0
MAXIMUM = 7
OPTION0.value = 0
OPTION0.name = MAXimum - finds the highest value
OPTION0.unit = 
OPTION1.value = 1
OPTION1.name = MINimum - finds the lowest value
OPTION1.unit = 
OPTION2.value = 2
OPTION2.name = RPEak - finds the next valid peak to the right
OPTION2.unit = 
OPTION3.value = 3
OPTION3.name = LPEak - finds the next valid peak to the left
OPTION3.unit = 
OPTION4.value = 4
OPTION4.name = NPEak - finds the next highest value among the valid peaks
OPTION4.unit = 
OPTION5.value = 5
OPTION5.name = TARGet - finds the target value to the right; wraps around to the
OPTION5.unit = 
OPTION6.value = 6
OPTION6.name = LTARget - finds the next target value to the left of the marker
OPTION6.unit = 
OPTION7.value = 7
OPTION7.name = RTARget - finds the next target value to the right of the marker
OPTION7.unit = 
DEFAULT = 0
[函数1.输入参数4]
FUNCTION = 函数1
;函数的输入参数
NAME = 起始频率
SHOW = YES
;正常参数
TYPE = double
INPUT = text
MINIMUM = 0.045
MAXIMUM = 40000000000
DEFAULT = 1000000000
UNIT = Hz
[函数1.输入参数5]
FUNCTION = 函数1
;函数的输入参数
NAME = 终止频率
SHOW = YES
;正常参数
TYPE = double
INPUT = text
MINIMUM = 0.045
MAXIMUM = 40000000000
DEFAULT = 10000000000
UNIT = Hz
[函数1.输入参数6]
FUNCTION = 函数1
;函数的输入参数
NAME = 保存文件名
SHOW = YES
;正常参数
TYPE = int
INPUT = text
MINIMUM = 1
MAXIMUM = 8
DEFAULT = data.wri
UNIT = 
[函数1.输出参数1]
FUNCTION = 函数1
;函数的输出参数
NAME = 标记X值
SHOW = YES
;正常参数
TYPE = double
MINIMUM = 
MAXIMUM = 
DEFAULT = 
UNIT = 
[函数1.输出参数2]
FUNCTION = 函数1
;函数的输出参数
NAME = 标记Y值
SHOW = YES
;正常参数
TYPE = double
MINIMUM = 
MAXIMUM = 
DEFAULT = 
UNIT = 
[结束]
b)      在通用测试平台软件里面使用仪器管理工具,首先选择Ui_abc1000.gdv,然后与这个仪器相对应,定义一个唯一的逻辑名(如“1#矢量网络分析仪”),同时分配一个实际占用的硬件资源地址(如“GPIB0:15:INSTR”);
c)      在通用测试平台软件里面开发具体的测试流程时,这些测试流程里面只以在仪器管理工具里面定义的唯一逻辑名(“1#矢量网络分析仪”),通过读取Ui_abc1000.gdv文件,来配置这个仪器的功能和设置具体的参数数值;
d)     在通用测试平台软件里面执行所开发的测试流程时,也只以在仪器管理工具里面定义的唯一逻辑名(“1#矢量网络分析仪”)、硬件资源地址(“GPIB0:15:INSTR”)和在c)步骤中配置好的流程参数访问这个仪器。
当需要将矢量网络分析仪abc1000更换成其它型号的同类仪器(如abc2000),只要在b)阶段选择abc2000的配置文件Ui_abc2000.gdv,及硬件资源地址(如“GPIB0:10:INSTR”)即可。这样,用户原先开发的测试流程可以不加修改的调用abc2000继续执行,而无需重新开发测试流程,也不必重新编译用户应用程序代码。
以上已对本发明的技术内容作了详细说明。对本领域一般技术人员而言,在不背离本发明原理的前提下对它所做的任何显而易见的改动,都不会超出本申请所附权利要求的保护范围。

Claims (5)

1.一种通用虚拟仪器接口配置方法,其特征在于,包括以下步骤:
a、每种仪器的通用软件接口统一成windows***中标准32位dll动态链接库型式;
b、所有仪器的通用软件接口dll动态链接库规定了4个标准引出函数:打开函数、关闭函数、自检函数和测量函数;
c、每种仪器同时定义一个通用软件接口描述文件;
d、根据每种仪器的通用软件接口描述文件分别定义4个标准引出函数的输入/输出参数的数量和数据类型;
e、当在应用程序中使用该种仪器的某一功能时,由测试人员根据该仪器的通用软件接口描述文件的描述,对仪器的功能进行配置;配置完毕后,由应用程序将配置结果作为传递参数,动态调用仪器的通用软件接口dll动态链接库规定的4个标准引出函数;
f、4个标准引出函数根据应用程序传递过来的参数,再次调用仪器的实际驱动程序或其他应用程序模块,并将执行结果返回应用程序。
2.根据权利要求1所述的一种通用虚拟仪器接口配置方法,其特征在于,所述步骤c中的通用软件接口描述文件统一以GDV作为文件扩展名。
3.根据权利要求2所述的一种通用虚拟仪器接口配置方法,其特征在于,所述通用软件接口描述文件的编制规则:
通用软件接口描述文件为虚拟仪器通用软件接口的说明性文件,与虚拟仪器通用软件接口动态连接库一起使用,作为应用程序调用虚拟仪器通用软件接口的依据;
通用软件接口描述文件为纯文本文件,文件扩展名统一规定为”.gdv”,每一种仪器一个接口描述文件;
文件分成6段落,即[程序]、[运行]、[函数]、[输入参数]、[输出参数]和[结束],整个文件以[程序]开头,以[结束]为结尾;
每个段落包括若干行,每行采用“=”表达式的形式,表达式“=”左侧为属性,右侧为取值,用来描述仪器驱动的不同属性和取值,每行以“;”作为结尾,注释均以“//”开头;
[程序]段描述仪器的型号和仪器的功能;
[运行]段落描述仪器动态链接库的文件名、版本号和类型;
[函数]段落描述仪器驱动程序所包括的函数,若一种仪器驱动包括多个函数,则依次按顺序全部列写在[函数]这个段落里;
[输入参数]段落描述每个驱动函数输入参数的属性和取值,若一种函数包括多个输入参数,则依次按顺序全部列写在[输入参数]这个段落里;
[输出参数]段落描述每个驱动函数输出参数的属性和取值,若一种函数包括多个输出参数,则依次按顺序全部列写在[输出参数]这个段落里;
[结束]段落标识整个接口文件的结束。
4.根据权利要求1所述的一种通用虚拟仪器接口配置方法,其特征在于,所述步骤b中所有仪器的通用软件接口dll动态链接库规定的4个标准引出函数:打开函数、关闭函数、自检函数和测量函数的函数原型定义为:
long  UiDeviceOpen(char* resourceName)
函数名称:打开函数
第1个参数:输入参数指针,逻辑名或资源名或初始化字符串,直接从前面仪器管理数据表的ResourceName字段读取;
函数返回值:如果>=0则函数执行成功,否则执行失败;
long  UiDeviceClose(void)
函数名称:关闭函数
函数返回值:如果>=0则函数执行成功,否则执行失败;
long UiDeviceSelftTest(void)
函数名称:自检函数
函数返回值:如果>=0则函数执行成功,否则执行失败;
long UiDeviceMeasure(char* InputParaList,int InputParaNum, char* ReturnParaList, int ReturnParaNum)
函数名称:测量函数
第1个参数:输入参数指针
第2个参数:输入参数个数
第3个参数:输出参数指针
第4个参数:输出参数个数
函数返回值:如果>=0则函数执行成功,否则执行失败。
5.根据权利要求1所述的一种通用虚拟仪器接口配置方法,其特征在于,所述步骤e中动态调用仪器的通用软件接口dll动态链接库规定的4个标准引出函数的方法是:
首先声明4个入口函数;
在应用程序里获取dll动态链接库及4个标准引出函数的地址;
调用打开函数,进行仪器的初始化;
调用自检函数,进行仪器的自检;
调用测量函数,传入参数,得到结果,传入参数的类型、顺序、个数都由通用软件接口描述文件动态定义;
最后调用关闭函数,进行关闭仪器操作。
CN 201010287770 2010-09-21 2010-09-21 一种通用虚拟仪器接口配置方法 Expired - Fee Related CN101944062B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201010287770 CN101944062B (zh) 2010-09-21 2010-09-21 一种通用虚拟仪器接口配置方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201010287770 CN101944062B (zh) 2010-09-21 2010-09-21 一种通用虚拟仪器接口配置方法

Publications (2)

Publication Number Publication Date
CN101944062A true CN101944062A (zh) 2011-01-12
CN101944062B CN101944062B (zh) 2013-01-23

Family

ID=43436059

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201010287770 Expired - Fee Related CN101944062B (zh) 2010-09-21 2010-09-21 一种通用虚拟仪器接口配置方法

Country Status (1)

Country Link
CN (1) CN101944062B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102291274A (zh) * 2011-07-11 2011-12-21 北京天融信科技有限公司 一种实现网络测试仪表自动适配的***及方法
CN103092752A (zh) * 2012-12-25 2013-05-08 北京航天测控技术有限公司 一种仪器属性的错误识别方法
CN107704376A (zh) * 2016-08-11 2018-02-16 福建省天奕网络科技有限公司 游戏自动化测试方法及其***
WO2018033063A1 (zh) * 2016-08-16 2018-02-22 中兴通讯股份有限公司 接口文件解析方法和装置
CN108333445A (zh) * 2017-12-26 2018-07-27 北京航天测控技术有限公司 一种基于VxWorks的数据采集仪器的仪器管理方法
CN109144592A (zh) * 2018-09-10 2019-01-04 郑州云海信息技术有限公司 一种基于port模式的驱动业务执行***及方法
CN109491724A (zh) * 2018-11-11 2019-03-19 上海精密计量测试研究所 测试设备的软件通用测试平台对专用测试程序的调用方法
CN110781103A (zh) * 2019-11-05 2020-02-11 中电科仪器仪表有限公司 一种pxi总线开关模块控制***及方法
CN113111015A (zh) * 2021-03-30 2021-07-13 南京翼辉信息技术有限公司 一种无驱动虚拟设备管理方法
CN115657503A (zh) * 2022-12-15 2023-01-31 江苏航远新科技有限公司 一种航空发动机半物理仿真***
CN116150039A (zh) * 2023-04-23 2023-05-23 成都华兴汇明科技有限公司 测试用例的测试管理装置、驱动自适应判定方法及***

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1632747A (zh) * 2003-12-22 2005-06-29 联想(北京)有限公司 软件接口测试方法
CN1983168A (zh) * 2005-11-16 2007-06-20 致茂电子股份有限公司 对自动测试***仪器装置执行控制与撷取数据的处理方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1632747A (zh) * 2003-12-22 2005-06-29 联想(北京)有限公司 软件接口测试方法
CN1983168A (zh) * 2005-11-16 2007-06-20 致茂电子股份有限公司 对自动测试***仪器装置执行控制与撷取数据的处理方法

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102291274B (zh) * 2011-07-11 2016-09-21 北京天融信科技股份有限公司 一种实现网络测试仪表自动适配的***及方法
CN102291274A (zh) * 2011-07-11 2011-12-21 北京天融信科技有限公司 一种实现网络测试仪表自动适配的***及方法
CN103092752A (zh) * 2012-12-25 2013-05-08 北京航天测控技术有限公司 一种仪器属性的错误识别方法
CN103092752B (zh) * 2012-12-25 2015-06-03 北京航天测控技术有限公司 一种仪器属性的错误识别方法
CN107704376A (zh) * 2016-08-11 2018-02-16 福建省天奕网络科技有限公司 游戏自动化测试方法及其***
WO2018033063A1 (zh) * 2016-08-16 2018-02-22 中兴通讯股份有限公司 接口文件解析方法和装置
CN108333445B (zh) * 2017-12-26 2020-04-03 北京航天测控技术有限公司 一种基于VxWorks的数据采集仪器的仪器管理方法
CN108333445A (zh) * 2017-12-26 2018-07-27 北京航天测控技术有限公司 一种基于VxWorks的数据采集仪器的仪器管理方法
CN109144592A (zh) * 2018-09-10 2019-01-04 郑州云海信息技术有限公司 一种基于port模式的驱动业务执行***及方法
CN109144592B (zh) * 2018-09-10 2022-03-22 郑州云海信息技术有限公司 一种基于port模式的驱动业务执行***及方法
CN109491724A (zh) * 2018-11-11 2019-03-19 上海精密计量测试研究所 测试设备的软件通用测试平台对专用测试程序的调用方法
CN110781103B (zh) * 2019-11-05 2022-02-15 中电科思仪科技股份有限公司 一种pxi总线开关模块控制***及方法
CN110781103A (zh) * 2019-11-05 2020-02-11 中电科仪器仪表有限公司 一种pxi总线开关模块控制***及方法
CN113111015A (zh) * 2021-03-30 2021-07-13 南京翼辉信息技术有限公司 一种无驱动虚拟设备管理方法
CN113111015B (zh) * 2021-03-30 2024-03-19 南京翼辉信息技术有限公司 一种无驱动虚拟设备管理方法
CN115657503A (zh) * 2022-12-15 2023-01-31 江苏航远新科技有限公司 一种航空发动机半物理仿真***
CN116150039A (zh) * 2023-04-23 2023-05-23 成都华兴汇明科技有限公司 测试用例的测试管理装置、驱动自适应判定方法及***

Also Published As

Publication number Publication date
CN101944062B (zh) 2013-01-23

Similar Documents

Publication Publication Date Title
CN101944062B (zh) 一种通用虚拟仪器接口配置方法
CN101944026B (zh) 一种通用虚拟仪器接口实现方法
US6282699B1 (en) Code node for a graphical programming system which invokes execution of textual code
CN102597964B (zh) 用于启用并行测试的计算装置
CN107807878B (zh) 基于关键字的通用测试资源驱动与执行管理方法
US7913170B2 (en) System and method for performing type checking for hardware device nodes in a graphical program
US7743335B2 (en) System and method for accessing registers of a hardware device in a graphical program
US5784275A (en) System and method for performing interface independent virtual instrumentation functions in a graphical data flow program
CN102375778B (zh) 实现数字信号处理器自动测试的方法及***
CN101924656A (zh) 一种基于动态配置的网络设备cli实现方法和装置
CA2319719A1 (en) Compiler and method for compiling specification language into implementation language
CN112363694B (zh) Fmu文件及求解器运行环境与工业软件的集成方法
CN111176984A (zh) 一种面向信号的自动测试实现方法
CN104915297B (zh) 一种android设备的APP耗电量的自动化测试方法
CN104268074A (zh) 一种基于dcs***应用软件在线调试方法
CN106483860A (zh) 针对plc的数据自动采集中间件及其使用方法
CN102004952A (zh) 一种测量资源控制***和测量资源控制方法
CN103049363A (zh) 一种NAND Flash控制器的验证方法
CN102981882A (zh) 解析方法和装置
CN104714881B (zh) 一种表格驱动的单元测试***和方法
CN115061772B (zh) 一种多领域仿真模型集成方法及***
CN103176894A (zh) 一种面向数据库的测试数据自动衍生方法和装置
Dutt et al. An intermediate representation for behavioral synthesis
US6014424A (en) Automated testing of a telecommunications platform
CN102467372A (zh) 一种测量资源控制***和测量资源控制方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130123

Termination date: 20140921

EXPY Termination of patent right or utility model