CN101645745A - 综测仪控制设备及测试方法 - Google Patents
综测仪控制设备及测试方法 Download PDFInfo
- Publication number
- CN101645745A CN101645745A CN200910042096A CN200910042096A CN101645745A CN 101645745 A CN101645745 A CN 101645745A CN 200910042096 A CN200910042096 A CN 200910042096A CN 200910042096 A CN200910042096 A CN 200910042096A CN 101645745 A CN101645745 A CN 101645745A
- Authority
- CN
- China
- Prior art keywords
- file
- test instrument
- comprehensive test
- function
- application programming
- 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.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种综测仪控制设备及测试方法。所述综合测试方法包括:选择所要使用的综测仪版本对应的动态链接库DLL文件名;采用同一个应用程序编程接口API载入所述DLL文件;采用所述应用程序编程接口获取所述DLL文件中的函数地址;采用所述应用程序编程接口根据所述函数地址调用相应函数进行相应测试。本发明可以实现在修改或添加新版本综测仪支持时,只需修改、添加对应的DLL文件,而不需对主程序进行任何修改,可显著降低软件维护成本。
Description
技术领域
本发明涉及测试技术领域,特别是涉及综合测试仪(综测仪)。
背景技术
在电子产品的研发、生成过程中,需要用测试设备对产品进行各种功能的校准、测试,所用到的测试设备称为综合测试仪。比如,用GSM的综测仪对GSM手机的收发支路进行射频校准、测试。其测试过程一般如下:(a)计算机控制该待测终端的测试仪表;(b)进行GSM手机的射频参数的校准和测试。
目前,利用综测仪进行产品测试的技术仍然在不断研发中,比如2007年12月26日公开的中国发明专利申请第CN200710122730.9号公开了一种双模终端校准测试装置及方法,所述校准测试装置包括射频仪表,对终端进行校准测试,所述终端包括两个射频端口,还包括射频开关,所述射频开关一端与所述终端的两个射频端口择一的连接,所述射频开关另一端与所述射频仪表连接。本发明的双模终端的校准测试装置及校准测试方法能实现两种制式校准测试时校准测试通道的自动切换,避免了人工改接到另一种制式的仪表所花费在切换仪表上的时间太多,减少了测试时间,增加了生产效率;另外本发明利用综测仪实现两种制式的校准和测试,减少了测试仪表的费用。
但是,不同厂商、型号,甚至同型号不同固件版本的综测仪,在GPIB控制命令上或多或少都存在差异,为校准、测试软件的开发造成一定麻烦。通常做法包括上述CN200710122730.9所采用的方法,是针对每一个型号、版本的综测仪分别开发一套校准、测试软件,存在开发、维护成本较高、软件版本繁多的弊端。
发明内容
本发明主要解决的技术问题是提供一种综测仪控制设备及测试方法,在修改或添加新版本综测仪支持时,只需修改、添加对应的DLL文件,而不需对主程序进行任何修改,可显著降低软件维护成本。
为解决上述技术问题,本发明采用的一个技术方案是:提供一种综合测试方法,包括:选择所要使用的综测仪版本对应的动态链接库DLL文件名;采用同一个应用程序编程接口API载入所述DLL文件;采用所述应用程序编程接口获取所述DLL文件中的函数地址;采用所述应用程序编程接口根据所述函数地址调用相应函数进行相应测试。
其中,进一步包括:在完成所述相应测试后采用所述应用程序编程接口释放所述DLL文件。
其中,进一步包括:在运行期间切换至不同型号的综测仪或同时连接多种型号的综测仪时,重复执行以上步骤。
为解决上述技术问题,本发明采用的另一个技术方案是:提供一种综测仪控制设备,包括:选择单元,用于选择所要使用的综测仪版本对应的动态链接库DLL文件名;加载单元,用于采用同一个应用程序编程接口API载入所述DLL文件;寻址单元,用于采用所述应用程序编程接口获取所述DLL文件中的功能函数地址;测试单元,用于采用所述应用程序编程接口,根据所述函数地址调用相应功能函数控制所述综测仪进行相应测试。
其中,进一步包括:释放单元,用于在完成所述相应测试后采用所述应用程序编程接口释放所述DLL文件。
其中,进一步包括:切换单元,用于切换至不同型号的综测仪或同时连接多种型号的综测仪时将所述切换或同时连接的综测仪信息发送至所述选择单元。
其中,进一步包括:编辑单元,用于文件建立或编辑,包括编辑所述选择单元需要的各种型号、版本综测仪功能函数的实现部分并分别封装为独立的DLL文件。
其中,所述编辑单元还用于:建立所述应用程序编程接口程序文件和源程序头文件;在源程序头文件中:加入所述DLL文件的定义,并在所述DLL文件的配置中加入预定义头;声明不与具体综测仪型号相关的所述功能函数的函数类型、名称、参数列表,在声明函数时,在函数名称前加上“FUNC_DECLSPEC”宏;根据函数声明,定义函数指针类型;所述编辑单元还用于:在所述DLL文件中加入所述源程序头文件;在所述应用程序编程接口程序文件中加入源程序头文件,并添加选择、载入和释放所述DLL文件的代码,定义所述功能函数的指针。
本发明的有益效果是:区别于现有技术在修改或添加新版本综测仪支持时都需要针对每一个型号、版本的综测仪分别开发一套校准、测试软件而导致开发、维护成本较高、软件版本繁多的弊端,本发明在修改或添加新版本综测仪支持时,选择所要使用的综测仪版本对应的动态链接库DLL文件名并对于每一个版本综测仪均采用同一个应用程序编程接口API载入所述DLL文件进行相应测试,其中的DLL文件可以任意针对不同版本综测仪进行创建或编辑而不需要改动应用程序编程接口,可以实现在每次修改或添加新版本综测仪支持时,只需修改、添加对应的DLL文件,而不需对主程序进行任何修改,可显著降低软件维护成本。
附图说明
图1是本发明综合测试方法一实施例的流程图;
图2是本发明综测仪控制设备实施例一的原理框图;
图3是本发明综测仪控制设备实施例二的原理框图;
图4是本发明综测仪控制设备实施例三的原理框图;
图5是本发明综测仪控制设备实施例四的原理框图;
图6是本发明综测仪控制设备实施例所采用的软件架构图。
具体实施方式
参阅图1,本发明综合测试方法一实施例主要包括步骤:
步骤101:选择所要使用的综测仪版本对应的动态链接库DLL文件名;
步骤102:采用同一个应用程序编程接口API载入所述DLL文件;
步骤103:采用所述应用程序编程接口获取所述DLL文件中的函数地址;
步骤104:采用所述应用程序编程接口根据所述函数地址调用相应函数进行相应测试。
本实施例是将不同版本综测仪功能函数的实现部分分别封装为DLL文件,设计统一的函数API,在使用时可根据综测仪版本,载入对应的DLL文件,调用匹配综测仪版本的功能函数。
显然,本发明在修改或添加新版本综测仪支持时,将不同型号、版本的综测仪功能函数分别封装到独立的DLL文件中,使用统一的API,在应用程序中根据所使用的综测仪的型号,动态链接到对应的DLL文件,可实现在不更改调用代码的前提下,兼容多种综测仪。也即可以实现在每次修改或添加新版本综测仪支持时,只需修改、添加对应的DLL文件,而不需对主程序进行任何修改,可显著降低软件维护成本。
在另一实施例中,还可以进一步包括:在完成所述相应测试后采用所述应用程序编程接口释放所述DLL文件。
在完成测试任务后,可以释放DLL文件,不占用系统资源,利于系统的稳定和减轻系统负荷。
在另一实施例中,还可以进一步包括:在运行期间切换至不同型号的综测仪或同时连接多种型号的综测仪时,重复执行以上步骤。
比如在测试期间需要更换或增加综测仪时,那么可以重复执行以上步骤101-104,方便快速,不需要重新修改主程序。
参阅图2,本发明还提供一种综测仪控制设备实施例,包括:
选择单元,用于选择所要使用的综测仪版本对应的动态链接库DLL文件名;
加载单元,用于采用同一个应用程序编程接口API载入所述DLL文件;
寻址单元,用于采用所述应用程序编程接口获取所述DLL文件中的功能函数地址;
测试单元,用于采用所述应用程序编程接口,根据所述函数地址调用相应功能函数控制所述综测仪进行相应测试。
上述本发明综测仪控制设备实施例可以是电脑或专用控制设备,可以在电脑或设备内按照具有上述各单元结构的单片机、扩展卡甚至加载程序,所述单片机、扩展卡或者程序可以实现上述综测仪控制设备实施例的所有功能,可以在一台设备上适用于各种综测仪的控制。
参阅图3,在其他实施例中,还可以进一步包括:释放单元,用于在完成所述相应测试后采用所述应用程序编程接口释放所述DLL文件。
参阅图4,在另一个实施例中,还可以进一步包括:切换单元,用于切换至不同型号的综测仪或同时连接多种型号的综测仪时将所述切换或同时连接的综测仪信息发送至所述选择单元。
参阅图5,在另一个实施例中,还可以进一步包括:
编辑单元,用于文件建立或编辑,包括编辑所述选择单元需要的各种型号、版本综测仪功能函数的实现部分并分别封装为独立的DLL文件。
所述编辑单元可以根据需要增加、修改、删除对应各个综测仪版本的DLL文件而不需要更改主程序。
以下举一本发明具体实施例,所述的编辑单元也可以实现以下功能:
参阅图6,建立所述应用程序编程接口程序文件和源程序头文件;
示例程序包含MainApp.exe、8960.d11、CMU200.d11三个项目,其中MainApp为主程序,每个DLL文件对应一个综测仪版本。
项目文件示例
MainApp.exe:main.cpp
8960.d11:8960api.cpp
CMU200.d11:cmu200api.cpp
源程序头文件(公共文件):wctapi.h
在源程序头文件wctapi.h中:
加入所述DLL文件的定义,并在所述DLL文件的配置中加入预定义头,如下表:
8960.d11项目配置:预定义头:_EXPORTING
CMU200.d11项目配置:预定义头:_EXPORTING
#ifdef_EXPORTING#define FUNC_DECLSPEC __declspec(dllexport)__cdecl#else#define FUNC_DECLSPEC __declspec(dllimport)__cdecl#endif |
声明不与具体综测仪型号相关的所述功能函数的函数类型、名称、参数列表,均依其功能决定,而不与具体综测仪型号相关。如下表:
CString FUNC_DECLSPEC WCT_Cmd(ViSession instrumentHandle,ViStringsendStringCommand); |
在声明函数时,在函数名称前加上“FUNC_DECLSPEC”宏;这样,当wctapi.h文件在MainApp项目中编译时,函数声明为导入声明;在8960和CMU200项目中编译时,函数声明为导出声明。
在源程序头文件中,根据函数声明,定义函数指针类型,如:
typedef CString(__cdecl*WCT_CMD)(ViSession instrumentHandle,ViString sendStringCommand); |
;
在所述DLL文件中加入所述源程序头文件,如:
在8960api.cpp文件中,包含wctapi.h文件,并根据8960综测仪的控制方式、指令等,定义函数的具体实现。如:
#include″wctapi.h″CString WCT_Cmd(ViSession instrumentHandle,ViStringsendStringCommand){//TODO:对应版本综测仪的具体实现} |
在cmu200api.cpp文件中,包含wctapi.h文件,并根据CMU200综测仪的控制方式、指令等,定义函数的具体实现。示例同上。
在所述应用程序编程接口程序文件中加入源程序头文件,并添加选择、载入和释放所述DLL文件的代码,定义所述功能函数的指针。示例使用的AfxLoadLibrary和AfxFreeLibrary为VC++MFC的DLL链接函数:
在所述应用程序编程接口程序文件main.cpp文件中,定义函数指针,并获取DLL文件中的函数地址:
WCT_CMD WCTCmd=(WCT_CMD)GetProcAddress(hWCTD11,″?WCT_Cmd@@YA?AV?$CStringT@_WV?$StrTraitMFC_DLL@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@KPAD@Z″); |
在main.cpp文件或其他功能模块中,以函数指针调用功能函数,实现各种具体功能。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (8)
1、一种综合测试方法,其特征在于,包括:
选择所要使用的综测仪版本对应的动态链接库DLL文件名;
采用同一个应用程序编程接口API载入所述DLL文件;
采用所述应用程序编程接口获取所述DLL文件中的函数地址;
采用所述应用程序编程接口根据所述函数地址调用相应函数进行相应测试。
2、根据权利要求1所述的综合测试方法,其特征在于,进一步包括:在完成所述相应测试后采用所述应用程序编程接口释放所述DLL文件。
3、根据权利要求2所述的综合测试方法,其特征在于,进一步包括:在运行期间切换至不同型号的综测仪或同时连接多种型号的综测仪时,重复执行以上步骤。
4、一种综测仪控制设备,其特征在于,包括:
选择单元,用于选择所要使用的综测仪版本对应的动态链接库DLL文件名;
加载单元,用于采用同一个应用程序编程接口API载入所述DLL文件;
寻址单元,用于采用所述应用程序编程接口获取所述DLL文件中的功能函数地址;
测试单元,用于采用所述应用程序编程接口,根据所述函数地址调用相应功能函数控制所述综测仪进行相应测试。
5、根据权利要求4所述的综测仪控制设备,其特征在于,进一步包括:
释放单元,用于在完成所述相应测试后采用所述应用程序编程接口释放所述DLL文件。
6、根据权利要求5所述的综测仪控制设备,其特征在于,进一步包括:
切换单元,用于切换至不同型号的综测仪或同时连接多种型号的综测仪时将所述切换或同时连接的综测仪信息发送至所述选择单元。
7、根据权利要求4至6任一项所述的综测仪控制设备,其特征在于,进一步包括:
编辑单元,用于文件建立或编辑,包括编辑所述选择单元需要的各种型号、版本综测仪功能函数的实现部分并分别封装为独立的DLL文件。
8、根据权利要求7所述的综测仪控制设备,其特征在于:
所述编辑单元还用于:
建立所述应用程序编程接口程序文件和源程序头文件;
在源程序头文件中:
加入所述DLL文件的定义,并在所述DLL文件的配置中加入预定义头;
声明不与具体综测仪型号相关的所述功能函数的函数类型、名称、参数列表,在声明函数时,在函数名称前加上“FUNC_DECLSPEC”宏;
根据函数声明,定义函数指针类型;
所述编辑单元还用于:
在所述DLL文件中加入所述源程序头文件;
在所述应用程序编程接口程序文件中加入源程序头文件,并添加选择、载入和释放所述DLL文件的代码,定义所述功能函数的指针。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910042096A CN101645745A (zh) | 2009-08-19 | 2009-08-19 | 综测仪控制设备及测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910042096A CN101645745A (zh) | 2009-08-19 | 2009-08-19 | 综测仪控制设备及测试方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101645745A true CN101645745A (zh) | 2010-02-10 |
Family
ID=41657475
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910042096A Pending CN101645745A (zh) | 2009-08-19 | 2009-08-19 | 综测仪控制设备及测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101645745A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102546630A (zh) * | 2012-01-04 | 2012-07-04 | 北京七星华创电子股份有限公司 | Io通讯方法 |
CN102867061A (zh) * | 2012-09-20 | 2013-01-09 | 北京奇虎科技有限公司 | 系统管理方法和装置 |
CN105629849A (zh) * | 2015-12-24 | 2016-06-01 | 中国电子科技集团公司第三十三研究所 | 车载移动式环境监测平台 |
CN107704376A (zh) * | 2016-08-11 | 2018-02-16 | 福建省天奕网络科技有限公司 | 游戏自动化测试方法及其系统 |
CN108039921A (zh) * | 2017-12-05 | 2018-05-15 | 广东欧珀移动通信有限公司 | 一种移动终端的校准方法、终端设备及存储介质 |
CN112306539A (zh) * | 2020-11-05 | 2021-02-02 | 重庆科技学院 | 一种单片机应用层开发方法、系统、终端及介质 |
-
2009
- 2009-08-19 CN CN200910042096A patent/CN101645745A/zh active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102546630A (zh) * | 2012-01-04 | 2012-07-04 | 北京七星华创电子股份有限公司 | Io通讯方法 |
CN102867061A (zh) * | 2012-09-20 | 2013-01-09 | 北京奇虎科技有限公司 | 系统管理方法和装置 |
CN102867061B (zh) * | 2012-09-20 | 2015-08-19 | 北京奇虎科技有限公司 | 系统管理方法和装置 |
CN105629849A (zh) * | 2015-12-24 | 2016-06-01 | 中国电子科技集团公司第三十三研究所 | 车载移动式环境监测平台 |
CN107704376A (zh) * | 2016-08-11 | 2018-02-16 | 福建省天奕网络科技有限公司 | 游戏自动化测试方法及其系统 |
CN107704376B (zh) * | 2016-08-11 | 2023-07-07 | 福建省天奕网络科技有限公司 | 游戏自动化测试方法及其系统 |
CN108039921A (zh) * | 2017-12-05 | 2018-05-15 | 广东欧珀移动通信有限公司 | 一种移动终端的校准方法、终端设备及存储介质 |
CN108039921B (zh) * | 2017-12-05 | 2021-05-14 | Oppo广东移动通信有限公司 | 一种移动终端的校准方法、终端设备及存储介质 |
CN112306539A (zh) * | 2020-11-05 | 2021-02-02 | 重庆科技学院 | 一种单片机应用层开发方法、系统、终端及介质 |
CN112306539B (zh) * | 2020-11-05 | 2023-08-01 | 重庆科技学院 | 一种单片机应用层开发方法、系统、终端及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101852832B (zh) | 一种适用于射频模块产品测试可灵活扩展的自动测试系统平台 | |
CN101645745A (zh) | 综测仪控制设备及测试方法 | |
US20050022087A1 (en) | Method and system for controlling interchangeable components in a modular test system | |
CN102375778B (zh) | 实现数字信号处理器自动测试的方法及系统 | |
CN106502960A (zh) | 一种基于sip封装的无线通信芯片 | |
JP5213982B2 (ja) | 移動体通信端末試験システム、解析方法、及び解析プログラム | |
CN101944062B (zh) | 一种通用虚拟仪器接口配置方法 | |
CN109814939A (zh) | 一种动态加载方法、目标文件的制作方法及装置 | |
CN102662648A (zh) | 一种通讯终端的嵌入式软件开发仿真平台及其应用 | |
CN111693848B (zh) | 一种SiP模块的电参数测试程序注入及多模测试实现方法 | |
CN100367040C (zh) | 一种射频产品测试方法 | |
CN103106088B (zh) | 硬件固件独立升级系统及方法 | |
CN105630559B (zh) | 板卡固件烧录方法及其系统 | |
US8667261B2 (en) | Systems, methods, and apparatus for utility meter configuration | |
CN111124373A (zh) | 一种测试软件开发方法、装置及测试设备 | |
CN104636306A (zh) | 一种基于单片机的rffe主设备接口移植装置及方法 | |
CN104703197A (zh) | 一种基于ttcn-3的终端协议一致性测试平台及方法 | |
CN113702801A (zh) | 一种芯片的信号量测方法、装置及相关组件 | |
CN103176898A (zh) | 采用xml配置的测试工具及其方法 | |
CN105528267B (zh) | 手机射频指标串并行测试方法和系统 | |
CN101001239A (zh) | 扩展串行接口的方法及装置 | |
CN114694741A (zh) | 一种并行测试装置和设计方法 | |
CN114828061A (zh) | 射频测试方法、装置、设备及可读存储介质 | |
CN100592097C (zh) | 具有板上表征单元的ic | |
CN117706322A (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 | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20100210 |