方許丹
(珠海格力電器股份有限公司 珠海 519070)
隨著儀器技術的發(fā)展,示波器的功能也越來越強大,實際應用中需要使用到的功能也越來越多。但是由于儀器自身的局限性,示波器的數(shù)據(jù)必須傳送到計算機,由計算機軟件才能進行詳細的分析。羅德與施瓦茨(ROHDE&SCHWARZ,以下簡稱羅德)示波器可以通過TCP/IP或USB方式與計算機進行通信,可以遠程控制的方式響應計算機對其進行的各項參數(shù)設置,并將采集、處理后的波形數(shù)據(jù)以指定的數(shù)據(jù)格式發(fā)送到計算機,或以csv格式導出發(fā)送到計算機。計算機采用VISA技術與示波器建立通信,向端口發(fā)送SCPI語言指令,實現(xiàn)控制、查詢、讀取等各項功能,并將讀取到的波形數(shù)據(jù)進行分析,實現(xiàn)對測試點的采集、傳輸和分析一體自動化。本文介紹的軟件采用LabVIEW編程語言和VISA技術,示波器與計算機采用TCP/IP傳輸方式,實現(xiàn)系統(tǒng)功能。
整套系統(tǒng)由計算機、示波器和測試點組成。計算機和示波器之間需要進行物理連接,使用通用的網(wǎng)線分別連接示波器后面板的LAN接口和計算機的LAN接口,待示波器的網(wǎng)絡連接符號由黃色轉為綠色后,表明物理通信已建立,可以進行軟件連接。
系統(tǒng)搭建框圖見圖1。
圖1 系統(tǒng)搭建框圖
系統(tǒng)功能包括建立通信、設置參數(shù)、采集波形、數(shù)據(jù)上傳和分析等模塊,見圖2。
圖2 系統(tǒng)功能框圖
建立通信:計算機與示波器網(wǎng)絡連接建立之后,點擊示波器的網(wǎng)絡符號,讀取IP地址(以xx.xx.xx.xx表示),發(fā)送字符串指令”TCPIP::xx.xx.xx.xx::INSTR”作為VISA的串口資源,打開串口,建立通信。
設置參數(shù):需要設置參數(shù)包括通道選擇、垂直通道設置(如電壓幅度、帶寬、耦合方式等)、水平通道設置(單次采樣時間、觸發(fā)位置等)、觸發(fā)條件及其他必要性參數(shù)。
采集波形、數(shù)據(jù)上傳和分析:采用單次觸發(fā)采集、立即上傳并分析,分析結果無異常則進行下一次采集,有異常則停止,保存當前數(shù)據(jù)用于分析,并確保軟件界面顯示波形與示波器波形同步。
前面板包括用戶設置、運行狀態(tài)、錯誤提示等模塊。TCP/IP方式需要先訪問儀器IP,必須由用戶手動輸入IP地址,才能建立連接。波形圖如果設置為自動調整Y軸標尺,多次采樣時,可能導致Y軸標尺多次變化,采樣波形缺乏可比性。以Homebus波形測試為例,用戶輸入示波器IP地址后,設定好波特率和連續(xù)測試時間,點擊運行即可,如圖3。
圖3 前面板設計
程序設計需要采用羅德廠家提供的VISA_Extended驅動函數(shù)庫。
向示波器寫入指令時可使用函數(shù)”VISAext_write.vi”。也可以使用LabVIEW自帶的函數(shù)”VISA Write.Vi”,二者功能相同。
示波器每運行一條或幾條指令后需要用函數(shù)”VISAext_query_OPC.vi”查詢指令是否已經(jīng)全部執(zhí)行完畢,之后用”VISAext_check_error.vi”檢測指令是否全部正確執(zhí)行。如果出現(xiàn)錯誤,可首先檢查某條指令下發(fā)后示波器實際運行時間是否超過默認時間,若超過可以手動設置超時時間,超時時間需大于示波器實際運行時間。
以默認采樣電壓值返回數(shù)據(jù)時需要使用函 數(shù) ”VISAext_query_ASCII_ListOf-Doubles.vi”,向該函數(shù)依次發(fā)送”FORM ASC”、”CHANn:DATA?”指令(n為通道),從該函數(shù)的輸出端獲取數(shù)據(jù)。以二進制浮點型格式返回數(shù)據(jù)時使用函數(shù)”VISAext_query_Binary-FloatData.vi”,以雙精度浮點型格式返回數(shù)據(jù)時使用函數(shù)”VISAext_query_double.vi”。
程序主要部分代碼包含圖4建立通信、圖5通道與觸發(fā)設置、圖6采集與上傳數(shù)據(jù)。
圖4建立通信:根據(jù)用戶輸入的IP地址,向”VISA打開.vi”函數(shù)輸入完整的IP地址訪問指 令”TCPIP::XXX:XXX:XX:X::INSTR”, 并 調用”VISA設備清零.vi”清空I/O緩沖區(qū),為訪問數(shù)據(jù)做準備。之后發(fā)送”*IDN?”指令,返回設備ID,發(fā)送”*RST”和”*CLS”指令,對設備進行復位并清空輸出緩沖區(qū)。
圖4 建立通信
圖5通道與觸發(fā)設置:首先設置水平時基,”TIM:ACQT xx”設置單次采樣時間,”TIM:POS xx”設置觸發(fā)偏置;其次設置垂直通道,”CHANn:RANG xx”設置通道n垂直電壓范圍,”CHANn:COUP DCL xx”設置通道n信號耦合方式,”CHANn:STAT xx”設置通道信號打開或關閉;水平和垂直參數(shù)設置完畢后,還需設置觸發(fā)條件,”TRIG:A:TYPE xx”設置觸發(fā)類型,”TRIG:A:EDGE:SLOP xx”設置上升沿或下降沿觸發(fā),”TRIG:A:SOUR CHn”設置觸發(fā)源,即觸發(fā)通道,”TRIG:A:LEV1 xx”設置觸發(fā)閾值。
圖5 通道與觸發(fā)設置
圖6采集與上傳數(shù)據(jù):”SING”設置單次采集,每次采集后調用函數(shù)”VISAext_query_OPC.vi”和”VISAext_check_error.vi”確認是否有錯誤,如果出現(xiàn)超時錯誤,需要設置超時時間。檢測無異常時,發(fā)送”FORM:ASC”和”CHANn:DATA?”指令,將通道n采集結果以電壓值的方式上傳到計算機,在計算機上進行波形復現(xiàn),并可用來進行分析。
圖6 采集與上傳數(shù)據(jù)
本文設計了一套基于LabVIEW的羅德示波器通信與應用系統(tǒng)。在安裝了LabVIEW和羅德VISA_Extended驅動函數(shù)庫的計算機上,可以直接使用本文提供的源代碼進行開發(fā)。示波器參數(shù)需要根據(jù)被測波形以及預期測試效果進行設置,上傳到計算機的波形數(shù)據(jù)可以用于進一步分析。