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