對通信電源系統(tǒng)的各項性能參數(shù)進(jìn)行全面的檢測
通信電源系統(tǒng)是整個通信網(wǎng)絡(luò)的心臟和源動力,在通信系統(tǒng)中的地位舉足輕重。為確保通信電源系統(tǒng)可以安全可靠的運(yùn)行,在生產(chǎn)過程中必須對它的各項性能參數(shù)進(jìn)行全面的檢測。
原有對通信電源系統(tǒng)的測試方法為手動測試,操作人員不僅要連接許多線纜和設(shè)備,而且要人工判斷系統(tǒng)的各個量值。它的測試時間長,重復(fù)測試結(jié)果的一致性差,人為因素多,測試不穩(wěn)定,測試數(shù)據(jù)不容易存檔,等等。因此,電源系統(tǒng)的性能得不到足夠的保障。
本文提出的測試方法,首先啟動氣動裝置實現(xiàn)測試端口的自動連接,這便省去了人工連接線路;然后基于LabWindows/CVI的開發(fā)環(huán)境,利用GPIB卡控制各種儀器和設(shè)備,通過TCP/IP通信的方式與電源系統(tǒng)對話。該方法可以快速可靠地完成各個參數(shù)的測試,從而提高了效率,并且可對測量數(shù)據(jù)自動存檔。
1概述
1.1LabWindows/CVI簡介
LabWindows/CVI是美國NI(NaTIonalInstruments)公司推出的交互式C語言開發(fā)平臺。它將功能強(qiáng)大﹑使用靈活的C語言平臺與用于數(shù)據(jù)采集分析和顯示的測控專業(yè)工具有機(jī)地結(jié)合起來,利用它的集成化開發(fā)環(huán)境﹑交互式編程方法﹑函數(shù)面板和豐富的庫函數(shù)大大增強(qiáng)了C語言的功能,為熟悉C語言開發(fā)設(shè)計的人員編寫檢測系統(tǒng)﹑自動測試環(huán)境﹑數(shù)據(jù)采集系統(tǒng)﹑過程監(jiān)控系統(tǒng)等應(yīng)用軟件提供了一個理想的軟件開發(fā)環(huán)境。
虛擬儀器技術(shù)是近幾年發(fā)展起來的新一代儀器技術(shù),它的實質(zhì)是利用計算機(jī)來模擬傳統(tǒng)儀器的各項功能。LabWindows/CVI是開發(fā)虛擬儀器應(yīng)用程序的軟件工具中的佼佼者,和其它虛擬儀器開發(fā)工具相比,它的主要特點(diǎn)有:
(1)LabWindows/CVI以功能強(qiáng)大、最為流行的C語言為基礎(chǔ),一般程序員無須再花時間去學(xué)習(xí)其它計算機(jī)語言,從而節(jié)省了開發(fā)時間。
(2)友好的界面編輯方式,在程序設(shè)計中靈活地應(yīng)用各種工具可以方便程序設(shè)計,減輕程序員負(fù)擔(dān)。
(3)各種功能強(qiáng)大的軟件包大大增強(qiáng)了LabWindows/CVI的性能,這些軟件包括接口函數(shù)庫、信號處理函數(shù)庫、WindowsSDK等。
1.2GPIB總線技術(shù)
GPIB(GeneralPurposeInterfaceBus)被稱為通用接口總線,是最早由HP公司提出的一種接口儀器標(biāo)準(zhǔn)(HPIB),1975年被改進(jìn)為IEEE485標(biāo)準(zhǔn)。目前的協(xié)議為488.2。GPIB總線是廣泛用于自動測試系統(tǒng)的一種并行外總線標(biāo)準(zhǔn),是專為儀器控制應(yīng)用而設(shè)計的。它是一種用于連接設(shè)備的總線,計算機(jī)、電壓表、信號發(fā)生器、示波器等都可以通過GPIB總線連接起來,組成一功能系統(tǒng)。
該系統(tǒng)的特點(diǎn)是:積木式結(jié)構(gòu),可拆卸、易于重建;控制器可以是計算機(jī)、微處理器或簡單的程序;數(shù)據(jù)傳送可靠,使用靈活,價格低廉。正是由于以上特點(diǎn),GPIB廣泛應(yīng)用于對測試儀器進(jìn)行計算機(jī)控制、計算機(jī)與計算機(jī)之間的通訊,以及對其它電子設(shè)備的控制。
1.3TCP/IP通信技術(shù)
Internet中使用最為廣泛的網(wǎng)絡(luò)協(xié)議為TCP/IP協(xié)議集。TCP協(xié)議是TCP/IP協(xié)議集中隸屬于傳輸層的傳輸控制協(xié)議。IP協(xié)議是Internet網(wǎng)絡(luò)中隸屬于網(wǎng)絡(luò)層的基礎(chǔ)協(xié)議。IP協(xié)議提供可靠的、盡力的、無連接的數(shù)據(jù)投遞服務(wù),構(gòu)成了Internet網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)幕A(chǔ)。TCP協(xié)議以此為基礎(chǔ)增加了連接管理和確認(rèn)重發(fā)等機(jī)制,向更高層的應(yīng)用程序提供面向連接的、可靠的傳輸服務(wù)。
在LabWindows/CVI中可利用TCP函數(shù)庫進(jìn)行網(wǎng)絡(luò)傳輸,在每次連接中都涉及到服務(wù)器和客戶。
其中TCP服務(wù)器可以通過網(wǎng)絡(luò)向客戶應(yīng)用程序發(fā)送或從客戶應(yīng)用程序接收數(shù)據(jù)。TCP客戶可以向TCP服務(wù)器應(yīng)用程序發(fā)送連接請求,并從服務(wù)器接收數(shù)據(jù)。服務(wù)器注冊后就等待客戶向它發(fā)出連接請求,而客戶只能向已經(jīng)存在的服務(wù)器發(fā)出連接請求。
2系統(tǒng)的硬件設(shè)計
通信設(shè)備直流供電系統(tǒng)的組成如圖1。系統(tǒng)的輸入為交流220V,整流器一方面給通信設(shè)備供電,另一方面又給蓄電池充電,以補(bǔ)充蓄電池因局部放電而失去的電量,控制器用于監(jiān)控系統(tǒng)的狀態(tài),直流配電架主要連接和轉(zhuǎn)換直流供電系統(tǒng)中整流器和蓄電池組向通信設(shè)備供電的電源設(shè)備。蓄電池組用于保證不間斷供電。
圖1直流供電系統(tǒng)的組成
該電源系統(tǒng)測試的部件主要由一臺計算機(jī)、一塊GPIB卡、數(shù)據(jù)采集器、直流電源、負(fù)載測試治具和待測系統(tǒng)等組成,如圖2。
圖2電源系統(tǒng)測試的硬件結(jié)構(gòu)圖
數(shù)據(jù)采集器Agilent34970A可配置成20至120個通道,6位半分辨率,250通道/秒掃描速率,50000個讀數(shù)存貯,0。004%基本直流精度,可測量交直流電流、電阻、頻率和周期,以及由熱電耦、熱電阻和熱敏電阻提供的溫度直流和交流電壓,標(biāo)準(zhǔn)GPIB和RS232接口。在該測試系統(tǒng)中,它主要用來控制繼電器,通道切換和量測電壓。
直流電源Agilent3645A,主要用來模擬蓄電池的功能,實現(xiàn)電池的過壓、欠壓和低壓斷電。
測試治具內(nèi)部由繼電器組,告警指示燈和氣動裝置組成。氣動裝置用于自動連接測試端點(diǎn)。繼電器組主要用于切換不同的測試設(shè)備和開關(guān)。告警指示燈共有4組紅綠燈,用于查看不同的系統(tǒng)告警,如斷路告警、熔絲告警、溫度告警等。
待測電源系統(tǒng)由兩個模塊,一個控制器和一個直流配電架組成。模塊用于整流,將220V交流變?yōu)?4V直流。控制器用于設(shè)定系統(tǒng)的電壓,監(jiān)控系統(tǒng)的狀態(tài)。直流配電架用于放置模塊和控制器,它裝有自動空氣斷路器、接觸器、熔斷器等部件,為不同容量的負(fù)載分配電能,當(dāng)直流供電異常時,產(chǎn)生告警起到保護(hù)作用。
交流電220VAC用于模塊的輸入供電。
負(fù)載用于模擬通信設(shè)備,用來提供AC供電和電池供電時系統(tǒng)的負(fù)載。該系統(tǒng)測試時負(fù)載設(shè)定為20A。
3系統(tǒng)的軟件開發(fā)
系統(tǒng)軟件以Labwindows8。5為編程語言,可運(yùn)行在WindowsXP,Vista和Windows7之上。
3.1測試流程
根據(jù)測試要求,首先制定一個合理的測試流程,如圖3所示,可分為三大部分,第一部分為自檢,第二部分為AC交流部分,第三部分為DC直流部分(即電池部分)。
(1)自檢。操作人員將待測電源系統(tǒng)放置在治具上后,先進(jìn)行自檢,對系統(tǒng)中所有設(shè)備進(jìn)行復(fù)位并初始化,檢測系統(tǒng)供電的狀態(tài)是否正常。
(2)AC部分。自檢通過后,先輸入交流電220VAC,在這一部分,先量測空載時系統(tǒng)輸出電壓、電流、系統(tǒng)狀態(tài),加載后量測系統(tǒng)電壓及電流,并檢測模塊是否均流,接著將負(fù)載切換到電池端,量測電池電壓及電流,然后執(zhí)行一些告警測試,包括直流過壓、欠壓、熔絲告警、斷路器告警、溫度告警等。
(3)DC部分。檢測電池供電后系統(tǒng)的輸出電壓、電流、檢測AC告警、電池過壓告警、欠壓告警,實現(xiàn)低壓關(guān)機(jī)功能。
3.2核心代碼解析
下面列出幾個關(guān)鍵的測試代碼。
(1)GPIB通信代碼
GPIB/GPIB-488.2函數(shù)庫一共包括10個子類,分別為Open/Close子類,ConfiguraTIon子類,I/O子類,DeviceControl子類,BusControl子類,BoardControl子類,Callbacks子類,Locking子類,Thread-SpecificStatus子類,GPIB-488.2子類,該測試方法中主要應(yīng)用GPIB-488.2子類中的函數(shù)實現(xiàn)GPIB通信。
圖3測試流程圖
SendIFC(0);//對所有GPIB設(shè)備初始化。
Send(Board_Index,address,buffer,Byte_Count,EOT_Mode);//發(fā)送地址和寫數(shù)據(jù)。Board_Index表示GPIB名稱,address表示儀器地址,buffer表示要發(fā)送的信息,Byte_Count表示發(fā)送信息的字節(jié)長度,EOT_Mode表示發(fā)送模式。
Receive(Board_Index,address,buffer,Byte_Count,TerminaTIon);//接收地址,從GPIB設(shè)備中讀取數(shù)據(jù)。TerminaTIon表示數(shù)據(jù)傳輸終止符。
(2)TCP/IP通信代碼
該電源系統(tǒng)可通過網(wǎng)絡(luò)端口進(jìn)行網(wǎng)絡(luò)通信,以讀取系統(tǒng)內(nèi)部信息。
由于要讀取系統(tǒng)信息屬于客戶向服務(wù)器發(fā)出連接,因此先確定該通信屬于客戶程序。與TCP服務(wù)器連接時,我們必須獲得服務(wù)器的名稱或IP地址和服務(wù)器的端口號。
ConnectToTCPServer(&serverHandle,server-PortNumber,serverName,ClientCallback,callback-Data,timeout);//注冊TCP服務(wù)器,參數(shù)serverHandle表示得到的連接句柄。參數(shù)serverPortNumber和server-Name表示服務(wù)器的端口號和名稱,ClientCallback和callbackData表示TCP回調(diào)函數(shù)名和回調(diào)數(shù)據(jù)。參數(shù)timeout表示超時限制。
ClientTCPWrite(portHandle,writeData,data-Size,timeout);//向服務(wù)器發(fā)送數(shù)據(jù),參數(shù)writeData表示發(fā)送到服務(wù)器的數(shù)據(jù),dataSize表示數(shù)據(jù)塊的大小。
ClientTCPRead(portHandle,buffer,dataSize,timeout);//從服務(wù)器讀取數(shù)據(jù)。參數(shù)buffer表示存放從服務(wù)器讀來的數(shù)據(jù)塊的緩沖區(qū)。
DisconnectFromTCPServer(serverRouteHandle);//注銷TCP服務(wù)器。
(3)HP34970控制代碼
由于HP34970提供了程序的功能面板大大方便了編程,我們只需要調(diào)用其中的庫函數(shù)指令,即可實現(xiàn)測試中所需要的通道切換和量值。
hp34970_relay_Operate(1,6,ON);//控制繼電器6閉合。
hp34970_relay_Operate(1,6,OFF);//控制繼電器6打開。
meter_Measure(METER1);//讀取表1的電壓值。
switch_lfmux_DMM(101);//切換測試通道至MUX101。
4總結(jié)
在軟件調(diào)試過程中也曾出現(xiàn)了一些問題,經(jīng)過分析,都得到了解決:
(1)將大量數(shù)值變量放置在C文件中,導(dǎo)致程序的可讀性、可維護(hù)性較差。
解決方法:建立一個INI配置文件,將所需要的測試數(shù)值和范圍存儲在該文件內(nèi),這樣一旦要修改數(shù)值,只需更改INI文件中的數(shù)據(jù),無需重新編譯C文件。
(2)TCP/IP通信讀取數(shù)據(jù)不穩(wěn)定,會出現(xiàn)誤碼或亂碼。
解決方法:設(shè)置斷點(diǎn),單步運(yùn)行調(diào)試后發(fā)現(xiàn),部分是由于不同指令輸入后讀取的數(shù)據(jù)大小不同,一些數(shù)據(jù)超出了Buffer的最大范圍,只需將Buffer設(shè)定到合適數(shù)值范圍即可。
另外,也可能是由于數(shù)據(jù)類型設(shè)置錯誤導(dǎo)致,在字符串處理過程中,數(shù)據(jù)類型有整型、浮點(diǎn)型、字符型等,必須設(shè)置相符的數(shù)據(jù)類型,否則有可能導(dǎo)致誤碼甚至編譯不通過。
(3)提示操作員查看告警燈狀態(tài)的次數(shù)有8次,明顯太多,不利于生產(chǎn)也不符合自動化測試的理念。
解決方法:改變測試方法,由目測告警燈狀態(tài)的判斷方法,改為通過TCP/IP通信讀取系統(tǒng)內(nèi)部告警信息來進(jìn)行自動判斷。
實際檢測和使用表明,該測試方法操作簡便,測試周期大大縮短,測試的穩(wěn)定性,精度都有了質(zhì)的提高,并且所有測試數(shù)據(jù)都自動存檔,從而有效地提高了產(chǎn)品的品質(zhì)。