摘 要: 基于DataSocket的虛擬儀器技術(shù)是計(jì)算機(jī)技術(shù)、網(wǎng)絡(luò)通信技術(shù)和儀器儀表技術(shù)相結(jié)合的產(chǎn)物。闡述了虛擬儀器和LabVIEW的一些概念,針對(duì)現(xiàn)階段基層部隊(duì)裝備型號(hào)多樣、分布廣泛等特點(diǎn)而導(dǎo)致的維修保障難度增大的現(xiàn)狀,提出了基于DataSocket的虛擬儀器技術(shù)在設(shè)備遠(yuǎn)程狀態(tài)監(jiān)測(cè)與故障診斷中的應(yīng)用,對(duì)DataSocket的性能、結(jié)構(gòu)和工作原理進(jìn)行了分析。通過開發(fā)一套設(shè)備遠(yuǎn)程狀態(tài)監(jiān)測(cè)與故障診斷系統(tǒng),驗(yàn)證了使用該技術(shù)可以實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)的現(xiàn)場(chǎng)監(jiān)控和故障排除。
關(guān)鍵詞: 虛擬儀器;DataSocket;狀態(tài)監(jiān)測(cè);故障診斷
0 引言
近年來,隨著科學(xué)技術(shù)的進(jìn)步以及國防信息化建設(shè)步伐的加快,裝備基層部隊(duì)的新裝備越來越多,并具備型號(hào)多樣、分布廣泛、科技含量高等特點(diǎn)。新的特點(diǎn)給裝備的狀態(tài)監(jiān)測(cè)和故障診斷帶來新的挑戰(zhàn),由于受空間和時(shí)間的限制,僅依靠經(jīng)驗(yàn)豐富的專家親臨現(xiàn)場(chǎng)進(jìn)行指導(dǎo)維修是不現(xiàn)實(shí)的。而基于網(wǎng)絡(luò)的遠(yuǎn)程故障診斷技術(shù)可以提供顯著的技術(shù)支持,通過建立在現(xiàn)場(chǎng)設(shè)備上的狀態(tài)監(jiān)測(cè)點(diǎn),可以監(jiān)測(cè)和采集設(shè)備狀態(tài)的信息數(shù)據(jù),并發(fā)送到遠(yuǎn)端專家診斷平臺(tái),繼而對(duì)設(shè)備運(yùn)行的狀態(tài)進(jìn)行監(jiān)控并對(duì)故障及時(shí)診斷。數(shù)據(jù)采集、傳輸和分析是遠(yuǎn)程診斷的重要組成部分,基于DataSocket的虛擬儀器技術(shù)不僅改變了傳統(tǒng)儀器在數(shù)據(jù)采集、處理、顯示和存儲(chǔ)方面的舊有觀念,而且還為設(shè)備的遠(yuǎn)程監(jiān)控和故障診斷提供了豐富的現(xiàn)場(chǎng)資源,給故障的遠(yuǎn)程診斷提供了新途徑[1]。
1 虛擬儀器與LabVIEW
1.1 虛擬儀器技術(shù)
由于計(jì)算機(jī)技術(shù)和微電子技術(shù)滲透到測(cè)量與控制技術(shù)領(lǐng)域,信號(hào)在被采集并被轉(zhuǎn)換成數(shù)字形式后,更多的信號(hào)分析與處理工作都在計(jì)算機(jī)中完成,儀器與計(jì)算機(jī)之間的界限日漸模糊。虛擬儀器便是通過編寫程序軟件將通用計(jì)算機(jī)與儀器功能硬件結(jié)合起來,將傳統(tǒng)儀器的數(shù)據(jù)采集與控制、數(shù)據(jù)分析與處理和結(jié)果的輸出顯示三大功能集成到計(jì)算機(jī)軟件當(dāng)中,使整個(gè)測(cè)試過程自動(dòng)進(jìn)行。用戶通過友好的圖形界面來操作計(jì)算機(jī),如同操作自己設(shè)計(jì)的儀器一樣,就能完成所有數(shù)據(jù)的采集、分析和顯示存儲(chǔ)工作?!败浖褪莾x器”的口號(hào)提出便反映了虛擬儀器技術(shù)的本質(zhì)特征,虛擬儀器結(jié)構(gòu)圖如圖1所示。
1.2 LabVIEW
虛擬儀器以透明的方式把計(jì)算機(jī)資源和儀器硬件的測(cè)試能力相結(jié)合,這樣的結(jié)合通過虛擬儀器開發(fā)軟件LabVIEW實(shí)現(xiàn)。它是美國國家儀器NI公司開發(fā)的一種圖形化編程工具,使用圖形化的編程語言編寫程序,即使不熟悉計(jì)算機(jī)語言的用戶也可以方便地“畫”出自己的程序,使編程更加簡潔和直觀。借助LabVIEW功能強(qiáng)大的函數(shù)庫,用戶都可以直接調(diào)用現(xiàn)成函數(shù),包括基本的功能函數(shù)到高級(jí)分析庫,基本涵蓋了一起設(shè)計(jì)的所需要的全部函數(shù)。同時(shí),用戶也可以按自己需要定制虛擬儀器的面板界面,通過將儀器的控制操作和數(shù)據(jù)結(jié)果顯示在前面板上,可模擬傳統(tǒng)儀器儀表的操作方式以實(shí)現(xiàn)多種測(cè)試功能。目前,LabVIEW的開發(fā)環(huán)境已經(jīng)在數(shù)據(jù)采集、儀器控制和自動(dòng)測(cè)試領(lǐng)域得到廣泛的應(yīng)用。
2 DataSocket技術(shù)
測(cè)試數(shù)據(jù)的網(wǎng)絡(luò)發(fā)布與實(shí)時(shí)共享是設(shè)備遠(yuǎn)程監(jiān)控和故障診斷系統(tǒng)開發(fā)的關(guān)鍵技術(shù)之一,現(xiàn)有的TCP/IP和DDE等技術(shù)常因?yàn)榫幊痰膹?fù)雜性使用不便,在實(shí)時(shí)傳輸大量現(xiàn)場(chǎng)數(shù)據(jù)時(shí),無法滿足實(shí)際需要。同時(shí),日益廣泛和復(fù)雜的網(wǎng)絡(luò)應(yīng)用也給網(wǎng)絡(luò)編程開發(fā)人員帶來極大的工作負(fù)擔(dān)。為此,NI公司便針對(duì)現(xiàn)實(shí)需求開發(fā)了一種面向測(cè)量和網(wǎng)絡(luò)數(shù)據(jù)實(shí)時(shí)交換的新技術(shù)——DataSocket。
2.1 DataSocket簡介
DataSocket是建立在TCP/IP協(xié)議基礎(chǔ)上的網(wǎng)絡(luò)實(shí)時(shí)傳輸技術(shù),其對(duì)網(wǎng)絡(luò)底層協(xié)議進(jìn)行了高度封裝,隱藏了數(shù)據(jù)傳輸細(xì)節(jié),網(wǎng)絡(luò)編程人員不需要進(jìn)行底層復(fù)雜的TCP編程,也避免了為不同的數(shù)據(jù)格式和通信協(xié)議編寫程序代碼,只需通過統(tǒng)一的API編程接口,就可以實(shí)現(xiàn)網(wǎng)絡(luò)原始數(shù)據(jù)的傳輸。DataSocket技術(shù)通過資源定位符(URL)定位數(shù)據(jù)源,URL的前綴表示寫入數(shù)據(jù)的類型和使用的傳輸協(xié)議,例如file是本地文件,ftp是文件傳輸協(xié)議,用于讀取文件中數(shù)據(jù);http為超文本協(xié)議,用于提供數(shù)據(jù)的網(wǎng)頁鏈接;opc表示過程過程控制的OLE,專門用于共享實(shí)時(shí)生產(chǎn)數(shù)據(jù),該協(xié)議在運(yùn)行OPC服務(wù)器時(shí)使用;dstp則表示來自DataSocket服務(wù)器的實(shí)時(shí)數(shù)據(jù)。DataSocket技術(shù)通過使用與協(xié)議無關(guān)、與語言無關(guān)、與操作系統(tǒng)無關(guān)的API接口,因而具有很強(qiáng)的通用性,它基于URL,可以使用在任何編程環(huán)境中,也可與分布于任何地方的客戶終端進(jìn)行通信[2]。其體系結(jié)構(gòu)如圖2所示。
2.2 DataSocket結(jié)構(gòu)組成
DataSocket由DataSocket Server Manager、DataSocket Server和DataSocket API 3部分組成,同時(shí)包括了Dstp(DataSocket Transfer Protocol傳輸協(xié)議)、通用資源定位符(URL)和文件格式等規(guī)程。其中,DataSocket Server Manager是一個(gè)獨(dú)立運(yùn)行的程序,可以設(shè)置DataSocket Server可連接的客戶程序的最大數(shù)目和可創(chuàng)建的數(shù)據(jù)項(xiàng)的最大數(shù)目,并可創(chuàng)建用戶組和用戶,設(shè)置用戶創(chuàng)建數(shù)據(jù)項(xiàng)和讀寫數(shù)據(jù)項(xiàng)的權(quán)限;而DataSocket Server也是一個(gè)獨(dú)立運(yùn)行的程序,它負(fù)責(zé)監(jiān)督DataSocket Server Manager中所設(shè)定的各種權(quán)限和客戶程序之間的數(shù)據(jù)交換[2]。在網(wǎng)絡(luò)通信時(shí),必須同時(shí)運(yùn)行在服務(wù)器和客戶端;DataSocket API是一個(gè)與協(xié)議無關(guān)、與語言無關(guān)、與操作系統(tǒng)無關(guān)的最底層的通信接口,可將現(xiàn)場(chǎng)采集的數(shù)據(jù)變成數(shù)據(jù)流,在多種編程環(huán)境下與多種數(shù)據(jù)類型通信,進(jìn)行數(shù)據(jù)發(fā)布和共享。DataSokcet API包含4個(gè)動(dòng)作:Open、Read、Write和Close,通過這些節(jié)點(diǎn)就可以完成DataSocket通信[3]。
2.3 DataSocket工作原理
DataSocket通過DataSocket函數(shù)庫實(shí)現(xiàn)網(wǎng)絡(luò)通信,DataSocket發(fā)布數(shù)據(jù)需要Publisher(發(fā)布器)、DataSocket Server和Subscriber(訂閱器)3個(gè)要素。發(fā)布數(shù)據(jù)時(shí),發(fā)布器利用DataSocket API接口將數(shù)據(jù)寫到DataSocket Server中,接收數(shù)據(jù)時(shí),客戶端再通過訂閱器利用API接口從DataSocket Server讀取數(shù)據(jù)。通信過程如圖3所示[4]。
DataSocket技術(shù)實(shí)現(xiàn)數(shù)據(jù)傳輸有面板控件直接相連和編寫基于DataSocket協(xié)議程序兩種方式。通過面板控件直接相連方式實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)通信只需要設(shè)置數(shù)據(jù)顯示控件的DataSocket Connection對(duì)話框,在本地和異地的數(shù)據(jù)顯示控件的DataSocketConnection對(duì)話框上填寫相同的URL即可,本地控件的數(shù)據(jù)便可實(shí)時(shí)地傳輸?shù)较嗤琔RL的異地控件中,無需編程,簡單實(shí)用[5]。
而需要透明的數(shù)據(jù)傳輸并可對(duì)數(shù)據(jù)進(jìn)行處理時(shí),就需要編寫DataSocket協(xié)議程序,DataSocket函數(shù)庫的Write和Read動(dòng)作直接表明了對(duì)數(shù)據(jù)的寫入和讀取操作,數(shù)據(jù)可以是單個(gè)字符或字符串、布爾量或數(shù)據(jù)量都行,數(shù)據(jù)接收端可以對(duì)接收的數(shù)據(jù)進(jìn)行處理和分析。
3 遠(yuǎn)程狀態(tài)監(jiān)測(cè)與故障診斷系統(tǒng)
3.1 系統(tǒng)構(gòu)成
遠(yuǎn)程監(jiān)控與故障診斷系統(tǒng)結(jié)構(gòu)上由現(xiàn)場(chǎng)測(cè)試系統(tǒng)、服務(wù)器和遠(yuǎn)程故障診斷客戶端3部分組成。
現(xiàn)場(chǎng)測(cè)試系統(tǒng)位于最前端,是對(duì)設(shè)備的直接執(zhí)行體,由現(xiàn)場(chǎng)儀表、控制設(shè)備和硬件接口等組成,它主要負(fù)責(zé)對(duì)現(xiàn)場(chǎng)數(shù)據(jù)采集和執(zhí)行功能的控制。現(xiàn)場(chǎng)智能傳感器拾取原始信息,通過信號(hào)調(diào)理電路調(diào)理后將采集信號(hào)提供給數(shù)據(jù)采集卡,計(jì)算機(jī)則選擇PXI、USB、GPIB等總線方式與外置數(shù)據(jù)采集設(shè)備和儀器功能硬件連接,實(shí)現(xiàn)數(shù)據(jù)采集和儀器的控制[6]。
服務(wù)器端在整個(gè)平臺(tái)中處于核心地位,服務(wù)器端采用高性能的工控機(jī)。作為現(xiàn)場(chǎng)與遠(yuǎn)程故障診斷端口的通信紐帶,一方面它為虛擬儀器軟件提供特定的運(yùn)行環(huán)境,完成對(duì)現(xiàn)場(chǎng)數(shù)據(jù)的采集、儀器的控制與管理;另一方面又要向遠(yuǎn)程故障診斷中心提供數(shù)據(jù)和網(wǎng)絡(luò)服務(wù),并接受遠(yuǎn)端發(fā)出的控制指令完成對(duì)現(xiàn)場(chǎng)設(shè)備相應(yīng)的控制操作。通過安裝在工控機(jī)上的儀器硬件接口,服務(wù)器上由LabVIEW開發(fā)的虛擬儀器軟件就可以控制數(shù)據(jù)采集卡DAQ采集原始信號(hào),實(shí)現(xiàn)現(xiàn)場(chǎng)設(shè)備模擬量輸入輸出、數(shù)字I/O和定時(shí)計(jì)數(shù)。同時(shí),利用DataSocket技術(shù),服務(wù)器端控制設(shè)備采集數(shù)據(jù)后,將原始數(shù)據(jù)傳輸?shù)竭h(yuǎn)程診斷客戶端[7]。
遠(yuǎn)程故障診斷客戶端提供監(jiān)控與診斷的人機(jī)窗口,利用DataSocket讀取現(xiàn)場(chǎng)數(shù)據(jù),再利用LabVIEW自帶的信號(hào)分析模塊完成信號(hào)處理。信號(hào)處理的最終目的是清晰顯示出特征信號(hào)曲線,提取出特征信息,并結(jié)合專家多年的診斷維修經(jīng)驗(yàn),完成故障診斷。系統(tǒng)結(jié)構(gòu)如圖4所示。
3.2 系統(tǒng)實(shí)例
為進(jìn)一步驗(yàn)證DataSocket技術(shù)在遠(yuǎn)程監(jiān)測(cè)與故障診斷中的應(yīng)用,以在服務(wù)器端采集混有白噪聲的正弦波為例。電源故障是設(shè)備常見的故障之一,設(shè)備的電機(jī)也通常由交流電供電,針對(duì)交流電源故障的診斷問題,通過遠(yuǎn)程診斷客戶端對(duì)混有白噪聲的正弦交流信號(hào)進(jìn)行檢測(cè)和分析診斷,從而判斷為何種故障。
服務(wù)器端使用LabVIEW編寫虛擬儀器程序,通過自帶的DAQ等功能板卡驅(qū)動(dòng)程序,控制設(shè)備采集待測(cè)信號(hào),并保存至計(jì)算機(jī)內(nèi)的數(shù)據(jù)庫中。在服務(wù)器的LabVIEW程序面板上的URL上輸入DataSocket Server所在的計(jì)算機(jī)地址,服務(wù)器端默認(rèn)地址為localhost,通過DateSocket Writer節(jié)點(diǎn)寫入數(shù)據(jù),如圖5和圖6所示,將混有白噪聲的正弦信號(hào)寫入并顯示在示波器儀表中。
客戶端通過DateSocket Reader節(jié)點(diǎn)將數(shù)據(jù)從URL指定的位置讀出,實(shí)時(shí)顯示在客戶端示波器上,如圖7所示。
為分析接收的數(shù)據(jù),先通過LabVIEW提供的信號(hào)分析子模塊,對(duì)接收信號(hào)進(jìn)行頻譜分析,可以得到正弦信號(hào)的特征頻率,再通過濾波器(這里使用反-切必雪夫?yàn)V波器)濾除白噪聲,去偽存真,對(duì)濾波后的圖可以通過時(shí)域分析,得到頻率和幅值。通過對(duì)接收信號(hào)的分析操作,再對(duì)比已經(jīng)建立的故障特征曲線數(shù)據(jù)庫,便可以實(shí)現(xiàn)對(duì)設(shè)備狀態(tài)的監(jiān)測(cè)和故障診斷,如圖8、圖9所示。
4 結(jié)論
綜上所述,基于網(wǎng)絡(luò)的虛擬儀器技術(shù)充分利用了自身的軟硬件優(yōu)勢(shì),針對(duì)基層部隊(duì)的設(shè)備狀態(tài)監(jiān)測(cè)和故障診斷現(xiàn)狀,提供了一種經(jīng)濟(jì)、有效的設(shè)備保障手段。使用DataSocket網(wǎng)絡(luò)傳輸方式,克服了舊有方式在底層網(wǎng)絡(luò)編程效率低、數(shù)據(jù)傳輸實(shí)時(shí)性差等缺點(diǎn),真正實(shí)現(xiàn)了網(wǎng)絡(luò)編程的簡單快捷和測(cè)試數(shù)據(jù)的實(shí)時(shí)傳輸。通過傳輸混有白噪聲的正弦波的實(shí)例表明,專家不用親臨現(xiàn)場(chǎng)就可在遠(yuǎn)端實(shí)時(shí)地監(jiān)測(cè)現(xiàn)場(chǎng)設(shè)備狀態(tài),并可對(duì)現(xiàn)場(chǎng)傳輸?shù)墓收闲盘?hào)進(jìn)行分析處理,繼而達(dá)到故障診斷的目的。
參考文獻(xiàn)
[1] 李風(fēng)保,李凌,王曉東.基于虛擬儀器的網(wǎng)絡(luò)化測(cè)控系統(tǒng)[J].儀器儀表學(xué)報(bào),2004,25(4):295-297.
[2] 陳國順,于涵偉.測(cè)試工程及LabVIEW應(yīng)用[M].北京:清華大學(xué)出版社,2013.
[3] 莫慧芳,饒明輝.基于DataSocket技術(shù)的電機(jī)聲頻遠(yuǎn)程故障診斷系統(tǒng)[J].自動(dòng)化與儀器儀表,2013(3):175-176.
[4] National Instruments. DataSocket transfer protocol(dtsp) overview[EB/OL]. [2006-09-06](2015-08-10). Http://www.ni.com.white-paper/3223/en.
[5] 蔣薇,張曉波,賴青貴.基于LabVIEW的儀器通信技術(shù)研究[J].計(jì)算機(jī)測(cè)量與控制,2013,21(4):1030-1032.
[6] 王吉平,趙哲,田克純,等.基于LabVIEW的通信測(cè)量技術(shù)研究[J].自動(dòng)化與儀表,2011,26(1):29-31.
[7] 王亞凡,張秉仁,閆立東.基于LabVIEW的多功能虛擬頻譜分析儀的設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2014,40(12):100-102.