劉 飛 汪 民 鄔鵬程
(公安部第一研究所,北京 100048)
?
基于GPIB接口的數(shù)字多用表自動化校準系統(tǒng)設計
劉 飛 汪 民 鄔鵬程
(公安部第一研究所,北京 100048)
GPIB接口是將可程控儀器互相連接組成自動化測試系統(tǒng)的主流控制技術,廣泛應用于測試工作的各個領域。本文通過對數(shù)字多用表自動化校準系統(tǒng)的完整設計,介紹了基于GPIB接口總線的自動化校準系統(tǒng)的軟硬件實現(xiàn)方法。文章重點闡述了如何利用SICL函數(shù)在VB6.0環(huán)境下,實現(xiàn)自動化測試系統(tǒng)的軟件設計。最后,本文對系統(tǒng)的開發(fā)過程進行了總結(jié),并對自動測試系統(tǒng)的發(fā)展趨勢予以展望。
GPIB;數(shù)字多用表;自動化;校準系統(tǒng)
隨著科學技術的發(fā)展,電子測量儀器在測試范圍、測試速度、測試準確度和測試效率等方面都有了突飛猛進的發(fā)展,新的測試理論和測試方法不斷出現(xiàn),在許多方面已經(jīng)突破了傳統(tǒng)的測試手段。對于計量檢定機構(gòu)來說,由于儀器智能化程度不斷提高及檢測工作量的增加,需要使用自動化測試來快速、可靠、方便的開展測量儀器的計量檢定工作。本文基于這種思想,提出了以數(shù)字多用表FLUKE45和多功能校準源FLUKE 5700A為例,開發(fā)出在VB6.0環(huán)境中用SICL對帶有GPIB接口的數(shù)字多用表進行程控,從而實現(xiàn)數(shù)字多用表的自動化測試。
目前,大多數(shù)計量校準實驗室對帶有GPIB接口的數(shù)字多用表進行校準,一般都是手工操作。人工校準數(shù)字多用表時,必須手動調(diào)節(jié)被檢表校準點所在量程和多功能校準源相應輸出值,然后開始測試,等待數(shù)字多用表測量值穩(wěn)定后,手動記錄測量數(shù)據(jù)。當全部被檢參數(shù)測試完成后,人工對測量數(shù)據(jù)輸入計算機,并判斷數(shù)據(jù)結(jié)論,最后打印校準報告,歸檔原始記錄。在計量機構(gòu),每年都有大量的數(shù)字多用表要求按一定的檢定周期送檢,檢定員必須手動重復同樣的勞動,最后給出校準結(jié)果。以校準FLUKE45數(shù)字多用表為例,完成所有數(shù)據(jù)的校準以及原始數(shù)據(jù)的整理和報告的打印,大約需要1個工作日,這與當今智能化的科學儀器技術非常不協(xié)調(diào)。
現(xiàn)在的高級數(shù)字多用表不但智能化高、功能性強,而且大都帶有GPIB接口,可采用自動化測試手段,充分發(fā)揮計算機自動控制、數(shù)據(jù)存貯和處理能力,使工作效率得到大大的提高。
2.1 GPIB總線結(jié)構(gòu)
GPIB總線是一種可與可程控測量儀器相連接的標準并行接口總線系統(tǒng),可把不同廠家生產(chǎn)的各種具備GPIB總線接口的可編程儀器與計算機緊密地結(jié)合起來,組建開放式自動測試系統(tǒng)。其主要的特點:
1)規(guī)定了儀器支持IEEE 488.2通信協(xié)議,定義了總線上消息傳輸?shù)恼Z法結(jié)構(gòu),包括出錯處理在內(nèi)的詳細消息處理方法,確保了總線數(shù)據(jù)通信的可靠性;
2)定義了一些公用命令,包括操作命令和詢問命令,用于執(zhí)行儀器識別、自檢、初始化和校準等功能;
3)便于將多臺帶有GPIB總線的儀器組合起來,形成較大的測試系統(tǒng),高效靈活的完成各種不同的測試,而且組建和拆散靈活,使用方便;
4)GPIB接口編程方便簡單,可使用高級編程語言進行程序設計,減輕了軟件的設計負擔。
2.2 系統(tǒng)的整體方案設計
本自動化校準系統(tǒng)的硬件部分由計算機、多功能標準源、數(shù)字多用表、GPIB接口卡和打印機等組成。多功能標準源(5700A)為標準輸出源,為數(shù)字多用表提供標準的激勵源;數(shù)字多用表(FLUKE 45)為被檢儀器;計算機為本自動控制系統(tǒng)的控制中心;GPIB接口卡用來實現(xiàn)對多功能標準源、數(shù)字多用表的控制,并傳輸測量數(shù)據(jù);打印機用來打印校準報告。
本系統(tǒng)中的計算機自動校準軟件負責與測量儀器進行通信,根據(jù)既定的測量信息,對測量儀器進行相應的操作,再把操作結(jié)果或測量數(shù)據(jù)傳輸?shù)接嬎銠C。自動校準程序提供用戶操作界面,并完成測量數(shù)據(jù)的顯示。本系統(tǒng)除了實現(xiàn)傳統(tǒng)儀器常用的測量功能外,還增加了許多傳統(tǒng)儀器無法實現(xiàn)的分析和處理數(shù)據(jù)能力,系統(tǒng)整體設計組成框圖如圖1所示。
圖1 系統(tǒng)整體設計組成框圖
2.3 系統(tǒng)連接方式
典型的GPIB接口系統(tǒng)一般由一臺計算機、一塊GPIB接口卡和若干臺GPIB儀器通過GPIB電纜連接而成。系統(tǒng)采用的是Agilent公司的82357B USB/GPIB接口卡,通過USB與計算機進行通信,連接方式采用線型連接,這種方式組建和解散測試系統(tǒng)十分簡單。
2.4 系統(tǒng)軟件設計
系統(tǒng)的軟件設計以初始設置模塊、參數(shù)設置模塊、數(shù)據(jù)測試模塊和證書制作模塊為核心,選用可視化的VB6.0通用編程工具開發(fā)測試軟件,以簡明、友好的用戶操作界面為人機交互接口,非常方便用戶進行數(shù)字多用表自動測試。系統(tǒng)通過82357B USB/GPIB接口卡以及USB/GPIB的硬件驅(qū)動程序控制計算機與儀器進行數(shù)據(jù)通信。82357B USB/GPIB接口提供了一套標準的SICL函數(shù),用來控制儀器并傳輸和存儲采集數(shù)據(jù)。
2.4.1 常用SICL函數(shù)說明
Function iopen(ByVal addr As String):初始化一個設備并創(chuàng)建一個與該設備相關的會話層,返回指向該會話層的一個指針,方便在程序中對該設備的控制。Addr參數(shù)是設備的GPIB地址,一般設備出廠時已經(jīng)設定,或者用戶可手動進行初始配置。
Function iwrite(ByVal id As Integer,ByVal buf As String,ByVal datalen As Long,ByVal endi As Integer,actual As Long):對設備寫入操作命令。其中,id是指向該設備的一個指針描述;buf是寫入該設備的數(shù)據(jù);datalen是寫入設備數(shù)據(jù)字節(jié)長度;endi是一個發(fā)送數(shù)據(jù)結(jié)束標志,非零表示發(fā)送了一個END標志,值為零則表示沒有發(fā)送END標志,通常取值1;actual是實際寫入設備的數(shù)據(jù)字節(jié)長度,通常取0&,意為忽略此參數(shù)。
Function iread(ByVal id As Integer,buf As String,ByVal bufsize As Long,reason As Integer,actual As Long):從設備讀取數(shù)據(jù)。其中,id是指向該設備的一個指針描述;buf是指向存儲數(shù)據(jù)塊的一個指針;bufsize是數(shù)據(jù)字節(jié)長度;reason讀取終止的原因分析,通常取0&,意為忽略此參數(shù);actual是實際讀取數(shù)據(jù)的字節(jié)長度。
2.4.2 初始設置模塊
初始設置模塊主要完成對可程控數(shù)字多用表和多功能校準源的GPIB地址設置,為自動測試做前提準備。首先,利用GPIB接口卡和GPIB連接線按線性連接方式,把數(shù)字多用表和校準源連接成起來,然后,在相應對話框后輸入儀器GPIB地址,便可以進行連接測試。如果地址設置正確和連接方式無誤,測試結(jié)果會顯示校準源和數(shù)字多用表的廠商、型號、出廠編號等信息,否則會提示出現(xiàn)的錯誤,要求進行系統(tǒng)重新連接或是GPIB地址設置。
2.4.3 參數(shù)設置模塊
參數(shù)設置模塊主要完成數(shù)字多用表校準參數(shù)的輸入,有五項參數(shù)測試功能,分別為:直流電壓、交流電壓、直流電流、交流電流和電阻。每個測量點要求輸入量程、單位、頻率和技術指標等參數(shù),在所有參數(shù)輸入后,可保存為模板。參數(shù)設置模塊如圖2所示。由于大部分數(shù)字多用表測量功能和測試項目相似,下次測量時,即可導入模板,為測量提供了方便快捷的途徑。
圖2 參數(shù)設置模塊
以下是利用模板導入?yún)?shù)時部分源程序代碼:
Dim arrStr0(),strtemp As String
CommonDialog1.Filter = "文檔文件(*.lya)|*.lya"
CommonDialog1.ShowOpen
Open CommonDialog1.FileName For Input As #1
strtemp = StrConv(InputB&(LOF(1),#1),vbUnicode)
Close #1
arrStr0 = Split(CStr(arrStrda(0)),vbCrLf)
For i = 0 To UBound(arrStr0)
If arrStr0(i) = "" Then
Else
MSFlexGrid1.AddItem arrStr0(i)
End If
Next
2.4.4 數(shù)據(jù)測試模塊
數(shù)據(jù)測試模塊主要完成數(shù)字多用表校準參數(shù)的自動采集。本模塊會自動根據(jù)參數(shù)設置模塊設置的參數(shù)進行自動測量,并自動計算測量點的最大和最小允許誤差,與所選定點的技術指標進行比較,分析是否符合技術指標要求,給出判定結(jié)果。在電壓、電流、電阻功能測試轉(zhuǎn)換時,會自動給出提示,要求檢定員檢測連線是否正確,防止連線錯誤燒毀儀器。數(shù)據(jù)測試模塊如圖3所示。
圖3 數(shù)據(jù)測試模塊
在本模塊的設計中,最大允許誤差和最小允許誤差小數(shù)位的取位十分重要,取位太少會由于數(shù)據(jù)的舍取,在臨界點引起誤判,取位太多也會造成不必要的資源浪費。所以,在本模塊中,設計了程序會自動根據(jù)測量值的位數(shù)多取一位,為結(jié)果的判定提供了方便。
以下是測量直流電壓參數(shù)時部分源程序代碼:
Dim dvm,S5700A,lens5700 As Integer
Dim S5700 As String
dvm = iopen("gpib0," & Text20.Text)
S5700A = iopen("gpib0," & Text19.Text)
Call iwrite(dvm,"*RST" + Chr&(10),5,1,0&)
Call iwrite(S5700A,"*RST" + Chr&(10),5,1,0&)
Call iwrite(dvm,"CONF:CURR:DC" + Chr&(10),13,1,0&)
s5700 = "OUT " & .TextMatrix(i,3) & unit1
lens5700 = Len(S5700)
Call iwrite(S5700A,S5700 + Chr&(10),lens5700 + 1,1,0&)
Call iwrite(S5700A,"OPER" + Chr&(10),5,1,0&)
Call iwrite(dvm,"MEAS:CURR:DC?" + Chr&(10),14,1,0&)
Call iread(dvm,strres,20,0&,actual)
Call iwrite(S5700A,"STBY" + Chr&(10),5,1,0&)
2.4.5 證書制作模塊
證書制作模塊會根據(jù)測量數(shù)據(jù),自動生成校準證書,給檢定員的工作帶來極大的便利,而且消除了人為錄入大量的測量數(shù)據(jù)時,由于粗心大意引入的差錯,不僅解放了勞動力,還提高了數(shù)據(jù)的可靠性。當所有檢測參數(shù)點完成測量后,檢定員只需在證書制作模塊的相應輸入框輸入被測儀器的相關信息和校準結(jié)果,點擊生成校準證書按鈕,校準程序即可自動生成相應的校準證書。此模塊還會自動根據(jù)參數(shù)測量點的測量值和標準值計算測量誤差,并輸出到校準證書的相應欄目,小數(shù)位的取舍會自動根據(jù)測量點的技術指標進行多一位取舍,符合數(shù)據(jù)修約規(guī)則。
1)提高測試效率。將各被檢參數(shù)制作成模板,在每次校準時,導入被檢參數(shù),正確連接測試連接線后,校準軟件就會根據(jù)設定的被檢參數(shù)和量程,自動采集測試數(shù)據(jù),并自動對數(shù)據(jù)進行整理、統(tǒng)計、結(jié)論判定等復雜處理。以校準FLUKE45數(shù)字多用表為例,完成校準大約僅需要10min。校準過程的自動化使檢定員從常規(guī)的煩瑣的重復性勞動中解放出來,節(jié)約了時間,大大提高了工作效率。
2)提高測試準確度。人工校準數(shù)字多用表時,被檢參數(shù)必須手動輸入,并人工讀取測量值,人工輸入計算機進行誤差計算。此過程要求檢定員在校準多用表時,必須仔細認真,否則,稍有不慎就可能出現(xiàn)錯誤輸入或是錯誤讀數(shù)。本系統(tǒng)完全由計算機自動控制,自動存儲測量數(shù)據(jù),自動對測量數(shù)據(jù)進行誤差計算,增加了測量準確度和可靠性。
本系統(tǒng)采用GPIB接口卡控制測量儀器,利用VB6.0編制自動測試軟件,完全實現(xiàn)了儀器的自動控制,測量過程由自動控制程序自動完成,檢定員只需簡單連線,就可利用計算機實現(xiàn)數(shù)字多用表的數(shù)據(jù)測試、數(shù)據(jù)分析、證書制作等功能。不僅大大提高了儀器測量速度,節(jié)省工作時間,而且便于多次重復測量,并提高測量準確度。實踐證明,組建這樣一個自動校準系統(tǒng)是可行的。
數(shù)字多用表自動校準系統(tǒng)的研制,是將計量技術、計算機技術和通信技術有機地結(jié)合在一起的成果,本系統(tǒng)具有較高的起點和廣闊的發(fā)展前景,對其它儀器的自動測試起到了推動作用,并打下了良好的技術基礎。
[1] 魏亞利,劉紅煜,等.實現(xiàn)DPO3000系列數(shù)字示波器自動校準系統(tǒng).計量與測試技術,2008,35(12)
[2] 景軍,李巖,郁黎.數(shù)字儀表自動校準中通信程序的編程方法.氣象水文海洋儀器,2005(6)
[3] 孫陽,奚文駿.自動測試系統(tǒng)的自動化計量方法.船電技術,2012(3)
[4] 陸云松.虛擬儀器計量檢定及展望.國外電子測量技術,2003(增刊)
[5] 李光明.VB6編程實例大制作.北京:冶金工業(yè)出版社,2001
10.3969/j.issn.1000-0771.2015.2.16