專利名稱::綜測儀控制設備及測試方法
技術領域:
:本發(fā)明涉及測試
技術領域:
,特別是涉及綜合測試儀(綜測儀)。
背景技術:
:在電子產(chǎn)品的研發(fā)、生成過程中,需要用測試設備對產(chǎn)品進行各種功能的校準、測試,所用到的測試設備稱為綜合測試儀。比如,用GSM的綜測儀對GSM手機的收發(fā)支路進行射頻校準、測試。其測試過程一般如下(a)計算機控制該待測終端的測試儀表;(b)進行GSM手機的射頻參數(shù)的校準和測試。目前,利用綜測儀進行產(chǎn)品測試的技術仍然在不斷研發(fā)中,比如2007年12月26日公開的中國發(fā)明專利申請第CN200710122730.9號公開了一種雙模終端校準測試裝置及方法,所述校準測試裝置包括射頻儀表,對終端進行校準測試,所述終端包括兩個射頻端口,還包括射頻開關,所述射頻開關一端與所述終端的兩個射頻端口擇一的連接,所述射頻開關另一端與所述射頻儀表連接。本發(fā)明的雙模終端的校準測試裝置及校準測試方法能實現(xiàn)兩種制式校準測試時校準測試通道的自動切換,避免了人工文接到另一種制式的儀表所花費在切換儀表上的時間太多,減少了測試時間,增加了生產(chǎn)效率;另外本發(fā)明利用綜測儀實現(xiàn)兩種制式的校準和測試,減少了測試儀表的費用。但是,不同廠商、型號,甚至同型號不同固件版本的綜測儀,在GPIB控制命令上或多或少都存在差異,為校準、測試軟件的開發(fā)造成一定麻煩。通常做法包括上述CN200710122730.9所采用的方法,是針對每一個型號、版本的綜測儀分別開發(fā)一套校準、測試軟件,存在開發(fā)、維護成本較高、軟件版本繁多的弊端。
發(fā)明內(nèi)容本發(fā)明主要解決的技術問題是提供一種綜測儀控制設備及測試方法,在修改或添加新版本綜測^f義支持時,只需修改、添加對應的DLL文件,而不需對主程序進行任何修改,可顯著降低軟件維護成本。為解決上述技術問題,本發(fā)明采用的一個技術方案是提供一種綜合測試方法,包括選擇所要使用的綜測儀版本對應的動態(tài)鏈接庫DLL文件名;采用同一個應用程序編程接口API載入所述DLL文件;采用所述應用程序編程接口獲取所述DLL文件中的函數(shù)地址;采用所述應用程序編程接口根據(jù)所述函數(shù)地址調(diào)用相應函數(shù)進4亍相應測試。其中,進一步包括在完成所述相應測試后采用所述應用程序編程接口釋》文所述DLL文件。其中,進一步包括在運行期間切換至不同型號的綜測儀或同時連接多種型號的綜測儀時,重復執(zhí)行以上步驟。為解決上述技術問題,本發(fā)明采用的另一個技術方案是提供一種綜測儀控制設備,包括選擇單元,用于選擇所要使用的綜測儀版本對應的動態(tài)鏈接庫DLL文件名;加載單元,用于采用同一個應用程序編程接口API載入所述DLL文件;尋址單元,用于采用所述應用程序編程接口獲取所述DLL文件中的功能函數(shù)地址;測試單元,用于采用所述應用程序編程接口,才艮據(jù)所述函數(shù)地址調(diào)用相應功能函數(shù)控制所述綜測儀進行相應測試。其中,進一步包括釋^L單元,用于在完成所述相應測試后采用所述應用程序編程接口釋放所述DLL文件。其中,進一步包括切換單元,用于切換至不同型號的綜測儀或同時連接多種型號的綜測儀時將所述切換或同時連接的綜測儀信息發(fā)送至所述選擇單元。其中,進一步包括編輯單元,用于文件建立或編輯,包括編輯所述選擇單元需要的各種型號、版本綜測儀功能函數(shù)的實現(xiàn)部分并分別封裝為獨立的DLL文件。其中,所述編輯單元還用于建立所述應用程序編程^接口程序文件和源程序頭文件;在源程序頭文件中加入所述DLL文件的定義,并在所述DLL文件的配置中加入預定義頭;聲明不與具體綜測儀型號相關的所述功能函數(shù)的函數(shù)類型、名稱、參數(shù)列表,在聲明函數(shù)時,在函數(shù)名稱前加上"FUNC-DECLSPEC,,宏;根據(jù)函數(shù)聲明,定義函數(shù)指針類型;所述編輯單元還用于在所述DLL文件中加入所述源程序頭文件;在所述應用程序編程接口程序文件中加入源程序頭文件,并添加選擇、載入和釋放所述DLL文件的代碼,定義所述功能函數(shù)的指針。本發(fā)明的有益效果是區(qū)別于現(xiàn)有技術在修改或添加新版本綜測儀支持時都需要針對每一個型號、版本的綜測儀分別開發(fā)一套校準、測試軟件而導致開發(fā)、維護成本較高、軟件版本繁多的弊端,本發(fā)明在修改或添加新版本綜測儀支持時,選擇所要使用的綜測儀版本對應的動態(tài)鏈接庫DLL文件名并對于每一個版本綜測儀均采用同一個應用程序編程接口API載入所述DLL文件進行相應測試,其中的DLL文件可以任意針對不同版本綜測儀進行創(chuàng)建或編輯而不需要改動應用程序編程接口,可以實現(xiàn)在每次修改或添加新版本綜測儀支持時,只需修改、添加對應的DLL文件,而不需對主程序進行任何修改,可顯著降低軟件維護成本。圖l是本發(fā)明綜合測試方法一實施例的流程圖;圖2是本發(fā)明綜測儀控制設備實施例一的原理框圖;圖3是本發(fā)明綜測儀控制設備實施例二的原理框圖;圖4是本發(fā)明綜測儀控制設備實施例三的原理框圖5是本發(fā)明綜測儀控制設備實施例四的原理框圖6是本發(fā)明綜測儀控制設備實施例所采用的軟件架構圖。具體實施例方式參閱圖l,本發(fā)明綜合測試方法一實施例主要包括步驟步驟101:選擇所務使用的綜測儀版本對應的動態(tài)鏈接庫DLL文件名;步驟102:采用同一個應用程序編程接口API載入所述DLL文件;步驟103:采用所述應用程序編程接口獲取所述DLL文件中的函數(shù)地址;步驟104:采用所述應用程序編程接口根據(jù)所述函數(shù)地址調(diào)用相應函數(shù)進行相應測試。本實施例是將不同版本綜測儀功能函數(shù)的實現(xiàn)部分分別封裝為DLL文件,設計統(tǒng)一的函數(shù)API,在使用時可根據(jù)綜測儀版本,栽入對應的DLL文件,調(diào)用匹配綜測儀版本的功能函數(shù)。顯然,本發(fā)明在修改或添加新版本綜測儀支持時,將不同型號、版本的綜測儀功能函數(shù)分別封裝到獨立的DLL文件中,使用統(tǒng)一的API,在應用程序中根據(jù)所使用的綜測儀的型號,動態(tài)鏈接到對應的DLL文件,可實現(xiàn)在不更改調(diào)用代碼的前提下,兼容多種綜測儀。也即可以實現(xiàn)在每次修改或添加新版本綜測儀支持時,只需修改、添加對應的DLL文件,而不需對主程序進行任何修改,可顯著降低軟件維護成本。在另一實施例中,還可以進一步包括在完成所述相應測試后采用所述應用程序編程接口釋放所述DLL文件。在完成測試任務后,可以釋放DLL文件,不占用系統(tǒng)資源,利于系統(tǒng)的穩(wěn)定和減輕系統(tǒng)負荷。在另一實施例中,還可以進一步包括在運行期間切換至不同型號的綜測儀或同時連接多種型號的綜測儀時,重復執(zhí)行以上步驟。比如在測試期間需要更換或增加綜測儀時,那么可以重復執(zhí)行以上步驟101-104,方便快速,不需要重新修改主程序。參閱圖2,本發(fā)明還提供一種綜測儀控制設備實施例,包括選擇單元,用于選擇所要使用的綜測儀版本對應的動態(tài)鏈接庫DLL文件名;加載單元,用于采用同一個應用程序編程接口API載入所述DLL文件;尋址單元,用于采用所述應用程序編程接口獲取所述DLL文件中的功能函數(shù)地址;測試單元,用于采用所述應用程序編程接口,才艮據(jù)所述函數(shù)地址調(diào)用相應功能函lt控制所述綜測4義進行相應測試。上述本發(fā)明綜測儀控制設備實施例可以是電腦或?qū)S每刂圃O備,可以在電腦或設備內(nèi)按照具有上述各單元結構的單片機、擴展卡甚至加載程序,所述單片機、擴展卡或者程序可以實現(xiàn)上述綜測儀控制設備實施例的所有功能,可以在一臺設備上適用于各種綜測儀的控制。參閱圖3,在其他實施例中,還可以進一步包括釋放單元,用于在完成所述相應測試后采用所述應用程序編程接口釋方欠所述DLL文件。參閱圖4,在另一個實施例中,還可以進一步包括切換單元,用于切換至不同型號的綜測儀或同時連接多種型號的綜測儀時將所述切換或同時連接的綜測儀信息發(fā)送至所述選擇單元。參閱圖5,在另一個實施例中,還可以進一步包括編輯單元,用于文件建立或編輯,包括編輯所述選擇單元需要的各種型號、版本綜測儀功能函數(shù)的實現(xiàn)部分并分別封裝為獨立的DLL文件。所述編輯單元可以根據(jù)需要增加、修改、刪除對應各個綜測儀版本的DLL文件而不需要更改主程序。以下舉一本發(fā)明具體實施例,所述的編輯單元也可以實現(xiàn)以下功能參閱圖6,建立所述應用程序編程接口程序文件和源程序頭文件;示例程序包含MainApp.exe、8960.dll、CMU200.dll三個項目,其中MainApp為主程序,每個DLL文件對應一個綜測儀版本。項目文件示例MainApp.exe:main*cpp8960.dll:8960api.cppCMU200.dll:c咖200api.cpp源程序頭文件(>^共文件)wctapi.h在源程序頭文件wctapi.h中加入所述DLL文件的定義,并在所述DLL文件的配置中加入預定義頭,如下表8960.dll項目配置預定義頭-EXPORTINGCMU200.dll項目配置預定義頭-EXPORTING<table>tableseeoriginaldocumentpage9</column></row><table>聲明不與具體綜測儀型號相關的所述功能函數(shù)的函數(shù)類型、名稱、參數(shù)列不與具體綜測儀型號相關。如下表CStringFUNC-DECLSPECWCT-Cmd(ViSessioninstr咖entHandle,ViStringsendStringCo咖and);在聲明函數(shù)時,在函數(shù)名稱前加上"FUNC-DECLSPEC"宏;這樣,當wctapi.h文件在MainApp項目中編譯時,函數(shù)聲明為導入聲明;在8960和CMU200項目中編譯時,函數(shù)聲明為導出聲明。在源程序頭文件中,根據(jù)函數(shù)聲明,定義函數(shù)指針類型,如typedefCString(——cdecl*WCT-CMD)(ViSessioninstrumentHandle,ViStringsendStringCommand);在所述DLL文件中加入所述源程序頭文件,如在8960api.cpp文件中,包含wctapi.h文件,并根據(jù)8960綜測儀的控制方式、指令等,定義函數(shù)的具體實現(xiàn)。如并include"wctapi.h"CStringWCT-Cmd(ViSessioninstr咖entHandle,ViStringsendStringCo咖and)〃T0D0:對應版本綜測儀的具體實現(xiàn)在cmu200api.cpp文件中,包含wctapi.h文件,并根據(jù)CMU200綜測儀的控制方式、指令等,定義函數(shù)的具體實現(xiàn)。示例同上。在所迷應用程序編程接口程序文件中加入源程序頭文件,并添加選擇、載入和釋放所述DLL文件的代碼,定義所述功能函數(shù)的指針。示例使用的AfxLoadLibrary和AfxFreeLibrary為VC++MFC的DLL鏈才矣函^:在所述應用程序編程接口程序文件main.cpp文件中,定義函數(shù)指針,并獲取DLL文件中的函數(shù)地址WCT-CMDWCTCmd=(WCT匿CMD)GetProcAddress(hWCTDll,"WCT—Cmd咖YAAV豕CStringTB-WV$StrTraitMFC-DLLS—WV$ChTraitsCRT扭-WS)ATL扭卿咖ATL卿KPADaZ");在main.cpp文件或其他功能模塊中,以函數(shù)指針調(diào)用功能函數(shù),實現(xiàn)各種具體功能。以上所述僅為本發(fā)明的實施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結構或等效流程變換,或直接或間接運用在其他相關的
技術領域:
,均同理包括在本發(fā)明的專利保護范圍內(nèi)。權利要求1、一種綜合測試方法,其特征在于,包括選擇所要使用的綜測儀版本對應的動態(tài)鏈接庫DLL文件名;采用同一個應用程序編程接口API載入所述DLL文件;采用所述應用程序編程接口獲取所述DLL文件中的函數(shù)地址;采用所述應用程序編程接口根據(jù)所述函數(shù)地址調(diào)用相應函數(shù)進行相應測試。2、根據(jù)權利要求l所述的綜合測試方法,其特征在于,進一步包括在完成所述相應測試后采用所述應用程序編程接口釋^L所述DLL文件。3、根據(jù)權利要求2所述的綜合測試方法,其特征在于,進一步包括在運行期間切換至不同型號的綜測儀或同時連接多種型號的綜測儀時,重復執(zhí)行以上步驟。4、一種綜測儀控制設備,其特征在于,包括選擇單元,用于選擇所要使用的綜測儀版本對應的動態(tài)鏈接庫DLL文件名;加載單元,用于采用同一個應用程序編程接口API載入所述DLL文件;尋址單元,用于采用所述應用程序編程接口獲取所述DLL文件中的功能函數(shù)地址;測試單元,用于采用所述應用程序編程接口,根據(jù)所述函數(shù)地址調(diào)用相應功能函數(shù)控制所述綜測儀進行相應測試。5、根據(jù)權利要求4所述的綜測儀控制設備,其特征在于,進一步包括釋放單元,用于在完成所述相應測試后采用所述應用程序編程接口釋放所述DLL文件。6、根據(jù)權利要求5所述的綜測4義控制設備,其特征在于,進一步包括切換單元,用于切換至不同型號的綜測儀或同時連接多種型號的綜測儀時將所述切換或同時連接的綜測儀信息發(fā)送至所述選擇單元。7、根據(jù)權利要求4至6任一項所述的綜測儀控制設備,其特征在于,進一步包括編輯單元,用于文件建立或編輯,包括編輯所述選擇單元需要的各種型號、版本綜測儀功能函數(shù)的實現(xiàn)部分并分別封裝為獨立的DLL文件。8、根據(jù)權利要求7所述的綜測儀控制設備,其特征在于所述編輯單元還用于建立所述應用程序編程接口程序文件和源程序頭文件;在源程序頭文件中加入所述DLL文件的定義,并在所述DLL文件的配置中加入預定義頭;聲明不與具體綜測儀型號相關的所述功能函數(shù)的函數(shù)類型、名稱、參數(shù)列表,在聲明函數(shù)時,在函數(shù)名稱前加上"FUNC-DECLSPEC"宏;根據(jù)函數(shù)聲明,定義函數(shù)指針類型;所述編輯單元還用于在所述DLL文件中加入所述源程序頭文件;在所述應用程序編程接口程序文件中加入源程序頭文件,并添加選擇、載入和釋放述DLL文件的代碼,定義所述功能函數(shù)的指針。全文摘要本發(fā)明公開了一種綜測儀控制設備及測試方法。所述綜合測試方法包括選擇所要使用的綜測儀版本對應的動態(tài)鏈接庫DLL文件名;采用同一個應用程序編程接口API載入所述DLL文件;采用所述應用程序編程接口獲取所述DLL文件中的函數(shù)地址;采用所述應用程序編程接口根據(jù)所述函數(shù)地址調(diào)用相應函數(shù)進行相應測試。本發(fā)明可以實現(xiàn)在修改或添加新版本綜測儀支持時,只需修改、添加對應的DLL文件,而不需對主程序進行任何修改,可顯著降低軟件維護成本。文檔編號H04B17/00GK101645745SQ20091004209公開日2010年2月10日申請日期2009年8月19日優(yōu)先權日2009年8月19日發(fā)明者澍唐申請人:廈門敏訊信息技術股份有限公司