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