(西京學(xué)院,陜西 西安 710000)
示波器作為信號(hào)測(cè)量領(lǐng)域的高精度儀器,廣泛應(yīng)用于信號(hào)采集、材料老化測(cè)試等領(lǐng)域。其優(yōu)點(diǎn)為波形測(cè)量的精度和采樣頻率高。但在材料老化測(cè)試等領(lǐng)域應(yīng)用卻有其局限性。
(1)單次顯示時(shí)間短:示波器最大顯示采樣時(shí)間僅有50 s,對(duì)于長時(shí)間的波形觀測(cè),需要對(duì)前次波形回放,但波形回放操作煩瑣,必須要24 h不停監(jiān)測(cè)。
(2)距離設(shè)備現(xiàn)場(chǎng)近:示波器的探頭線長有限,不能遠(yuǎn)離設(shè)備現(xiàn)場(chǎng),考慮到設(shè)備運(yùn)行有一定危險(xiǎn)性,要求測(cè)試人員能夠遠(yuǎn)程讀取示波器。
針對(duì)以上局限,文章提出了一種示波器采集存儲(chǔ)系統(tǒng)的設(shè)計(jì),該系統(tǒng)可以通過TCP協(xié)議遠(yuǎn)程對(duì)示波器進(jìn)行實(shí)時(shí)讀取、參數(shù)設(shè)定等,并且能夠方便地保存及回放波形[1]。
LabVIEW是由美國國家儀器(NI)公司研制開發(fā)的一種程序開發(fā)環(huán)境,相較于C和Python等文本編程語言,LabVIEW使用的圖形化編程語言—G語言,讓用戶能夠較快掌握。其程序的框架易于讀取,后期維護(hù)較為方便。
N I公司參與制定的虛擬儀器軟件結(jié)構(gòu)(Virtual Instrument Software Architecture,VISA)是VXI plug&play聯(lián)盟制定的I/O接口軟件標(biāo)準(zhǔn)及其規(guī)范的總稱。作為一種通用的規(guī)范,它獨(dú)立于操作系統(tǒng)、硬件設(shè)備、編程語言等,因此可以廣泛適用于各種儀器接口。而LabVIEW自帶的VISA庫包含各種VISA函數(shù),可以方便快捷地與示波器等硬件進(jìn)行通信。
示波器的控制指令是基于可編程儀器標(biāo)準(zhǔn)命令(Standard Commands for Programmable Instruments,SCPI),SCPI是一種建立在現(xiàn)有標(biāo)準(zhǔn)IEEE 488.1和IEEE 488.2基礎(chǔ)上,遵循了IEEE 754標(biāo)準(zhǔn)中浮點(diǎn)運(yùn)算規(guī)則、ISO646信息交換7位編碼符號(hào)等多種標(biāo)準(zhǔn)的標(biāo)準(zhǔn)化儀器編程語言。它規(guī)定了在控制器到儀器和儀器到控制器之間信息交換層消息的內(nèi)容和構(gòu)造,從而以一種標(biāo)準(zhǔn)的方式來描述各種各樣的儀器功能,其目的在于減少自動(dòng)測(cè)試設(shè)備的程序開發(fā)時(shí)間。
LabVIEW的VISA庫如圖1所示,包含VISA寫入、VISA讀取、高級(jí)VISA等函數(shù),使用這些函數(shù)能夠簡化與示波器建立通信的操作。另一方面,示波器與PC間的通信協(xié)議為RS232,將PC與示波器用USB線連接后,硬件環(huán)境搭建完畢,此時(shí)運(yùn)行程序即可讀取到示波器所采集的波形。
圖1 LabVIEW的VISA函數(shù)庫
設(shè)定采集通道為CH2,信號(hào)源為標(biāo)準(zhǔn)5 V/1 kHZ的脈沖信號(hào),運(yùn)行程序以讀取采集到的波形,可以看到,波形與示波器屏幕顯示的波形完全一致。圖2為與示波器屏幕1∶1的波形顯示。
圖2 上位機(jī)波形顯示
在實(shí)際應(yīng)用過程中,測(cè)試人員希望能夠直接在PC端設(shè)定示波器的參數(shù),從而達(dá)到較好的顯示效果[2]。示波器可設(shè)置的參數(shù)包括:電壓檔位、偏移量;時(shí)基檔位、偏移量;觸發(fā)通道以及電壓等,通過相應(yīng)的SCPI指令可以分別對(duì)其設(shè)定,可以達(dá)到遠(yuǎn)程對(duì)示波器操作的目的[3]。其操作界面如圖3所示。
示波器檢測(cè)設(shè)備工作狀態(tài)情況下,需要長時(shí)間對(duì)設(shè)備進(jìn)行檢測(cè)。但是測(cè)試人員希望能夠?qū)⒉ㄐ伪4?,并且在期望的時(shí)候回放歷史波形。示波器能夠回放波形,但是操作較為煩瑣,而且保存設(shè)定需要在示波器界面進(jìn)行設(shè)定。本設(shè)計(jì)中示波器返回的點(diǎn)不僅用于實(shí)時(shí)顯示,還將數(shù)據(jù)值以幀為單位保存為逗號(hào)分隔符(.csv)文件。測(cè)試人員可以按頁讀取歷史波形,從而方便快捷地瀏覽歷史波形。圖4為示波器主界面。
在使用過程中,并不能保證每次保存的波形,都能較好地反應(yīng)出期望的變化范圍。這種情況下,人們希望可以對(duì)某一幀的波形進(jìn)行縮放和調(diào)整。如本設(shè)計(jì)中的電壓檔位為5 V,界面上邊緣的電壓為20 V,但在波形回放時(shí)候希望能夠放大某一部分的變化。例如設(shè)定Y軸上下限的值,可以得到較好的顯示效果。圖5是對(duì)Y軸上下限設(shè)定過后的波形顯示。
RS232的通信距離僅有數(shù)米,示波器的探頭長度更短。因此,若要同時(shí)監(jiān)控多臺(tái)設(shè)備的工作狀態(tài),就必須利用遠(yuǎn)端通信,擺脫距離的限制。本設(shè)計(jì)采用TCP/IP通信協(xié)議作為遠(yuǎn)程通信方式。TCP/IP傳輸協(xié)議,即傳輸控制/網(wǎng)絡(luò)協(xié)議,也叫作網(wǎng)絡(luò)通信協(xié)議。它是在網(wǎng)絡(luò)中最基本的通信協(xié)議。通過TCP/IP協(xié)議和本地網(wǎng)絡(luò)接線,測(cè)試人員就可以在總控室而非現(xiàn)場(chǎng)工作。
LabVIEW中TCP/IP函數(shù)庫包含打開連接、讀取數(shù)據(jù)、寫入數(shù)據(jù)和關(guān)閉連接等函數(shù)[4],如圖6所示。
通過這些函數(shù),可以搭建一個(gè)TCP/IP通信框架,從而實(shí)現(xiàn)遠(yuǎn)程讀取及控制。
圖3 示波器參數(shù)設(shè)置界面
圖4 示波器主界面
圖5 對(duì)Y軸上下限設(shè)定的波形顯示
圖6 TCP/IP函數(shù)庫
本文提出了基于LabVIEW的示波器采集系統(tǒng)的設(shè)計(jì),利用LabVIEW的硬件通信,給用戶提供了簡潔明了的界面和完備的波形回放功能,以及方便快捷的參數(shù)設(shè)置,實(shí)現(xiàn)了對(duì)設(shè)備的遠(yuǎn)程監(jiān)控。通過測(cè)試,本設(shè)計(jì)能夠較好地達(dá)到預(yù)期要求。