基于LabWindows/CVI的通信電源系統(tǒng)自動化測試的實現(xiàn)
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)絡端口進行網(wǎng)絡通信,以讀取系統(tǒng)內(nèi)部信息。
由于要讀取系統(tǒng)信息屬于客戶向服務器發(fā)出連接,因此先確定該通信屬于客戶程序。與TCP 服務器連接時,我們必須獲得服務器的名稱或IP 地址和服務器的端口號。
ConnectToTCPServer (serverHandle ,server-PortNumber ,serverName ,ClientCallback,callback-Data ,timeout );//注冊TCP 服務器,參數(shù)serverHandle 表示得到的連接句柄。參數(shù)serverPortNumber 和server-Name 表示服務器的端口號和名稱,ClientCallback 和callbackData 表示TCP 回調(diào)函數(shù)名和回調(diào)數(shù)據(jù)。參數(shù)timeout 表示超時限制。
ClientTCPWrite (portHandle ,writeData ,data-Size ,timeout );//向服務器發(fā)送數(shù)據(jù),參數(shù)writeData表示發(fā)送到服務器的數(shù)據(jù),dataSize 表示數(shù)據(jù)塊的大小。
ClientTCPRead (portHandle ,buffer ,dataSize ,timeout );//從服務器讀取數(shù)據(jù)。參數(shù)buffer 表示存放從服務器讀來的數(shù)據(jù)塊的緩沖區(qū)。
DisconnectFromTCPServer (serverRouteHandle);//注銷TCP 服務器。
(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 文件中,導致程序的可讀性、可維護性較差。
解決方法:建立一個INI 配置文件,將所需要的測試數(shù)值和范圍存儲在該文件內(nèi),這樣一旦要修改數(shù)值,只需更改INI 文件中的數(shù)據(jù),無需重新編譯C 文件。
(2 )TCP/IP 通信讀取數(shù)據(jù)不穩(wěn)定,會出現(xiàn)誤碼或亂碼。
解決方法:設(shè)置斷點,單步運行調(diào)試后發(fā)現(xiàn),部分是由于不同指令輸入后讀取的數(shù)據(jù)大小不同,一些數(shù)據(jù)超出了Buffer 的最大范圍,只需將Buffer 設(shè)定到合適數(shù)值范圍即可。
另外,也可能是由于數(shù)據(jù)類型設(shè)置錯誤導致,在字符串處理過程中,數(shù)據(jù)類型有整型、浮點型、字符型等,必須設(shè)置相符的數(shù)據(jù)類型,否則有可能導致誤碼甚至編譯不通過。
(3)提示操作員查看告警燈狀態(tài)的次數(shù)有8 次,明顯太多,不利于生產(chǎn)也不符合自動化測試的理念。
解決方法:改變測試方法,由目測告警燈狀態(tài)的判斷方法,改為通過TCP/IP 通信讀取系統(tǒng)內(nèi)部告警信息來進行自動判斷。
實際檢測和使用表明,該測試方法操作簡便,測試周期大大縮短,測試的穩(wěn)定性,精度都有了質(zhì)的提高,并且所有測試數(shù)據(jù)都自動存檔,從而有效地提高了產(chǎn)品的品質(zhì)。
評論