摘 要: 基于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)行了分析,。通過(guò)開(kāi)發(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 引言
近年來(lái),,隨著科學(xué)技術(shù)的進(jìn)步以及國(guó)防信息化建設(shè)步伐的加快,裝備基層部隊(duì)的新裝備越來(lái)越多,,并具備型號(hào)多樣,、分布廣泛、科技含量高等特點(diǎn),。新的特點(diǎn)給裝備的狀態(tài)監(jiān)測(cè)和故障診斷帶來(lái)新的挑戰(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ù)支持,,通過(guò)建立在現(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ī)之間的界限日漸模糊,。虛擬儀器便是通過(guò)編寫(xiě)程序軟件將通用計(jì)算機(jī)與儀器功能硬件結(jié)合起來(lái),,將傳統(tǒng)儀器的數(shù)據(jù)采集與控制、數(shù)據(jù)分析與處理和結(jié)果的輸出顯示三大功能集成到計(jì)算機(jī)軟件當(dāng)中,,使整個(gè)測(cè)試過(guò)程自動(dòng)進(jìn)行。用戶通過(guò)友好的圖形界面來(lái)操作計(jì)算機(jī),,如同操作自己設(shè)計(jì)的儀器一樣,,就能完成所有數(shù)據(jù)的采集、分析和顯示存儲(chǔ)工作,?!败浖褪莾x器”的口號(hào)提出便反映了虛擬儀器技術(shù)的本質(zhì)特征,虛擬儀器結(jié)構(gòu)圖如圖1所示,。
1.2 LabVIEW
虛擬儀器以透明的方式把計(jì)算機(jī)資源和儀器硬件的測(cè)試能力相結(jié)合,,這樣的結(jié)合通過(guò)虛擬儀器開(kāi)發(fā)軟件LabVIEW實(shí)現(xiàn)。它是美國(guó)國(guó)家儀器NI公司開(kāi)發(fā)的一種圖形化編程工具,,使用圖形化的編程語(yǔ)言編寫(xiě)程序,,即使不熟悉計(jì)算機(jī)語(yǔ)言的用戶也可以方便地“畫(huà)”出自己的程序,使編程更加簡(jiǎn)潔和直觀,。借助LabVIEW功能強(qiáng)大的函數(shù)庫(kù),,用戶都可以直接調(diào)用現(xiàn)成函數(shù),包括基本的功能函數(shù)到高級(jí)分析庫(kù),,基本涵蓋了一起設(shè)計(jì)的所需要的全部函數(shù),。同時(shí),用戶也可以按自己需要定制虛擬儀器的面板界面,,通過(guò)將儀器的控制操作和數(shù)據(jù)結(jié)果顯示在前面板上,,可模擬傳統(tǒng)儀器儀表的操作方式以實(shí)現(xiàn)多種測(cè)試功能。目前,,LabVIEW的開(kāi)發(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)開(kāi)發(fā)的關(guān)鍵技術(shù)之一,,現(xiàn)有的TCP/IP和DDE等技術(shù)常因?yàn)榫幊痰膹?fù)雜性使用不便,,在實(shí)時(shí)傳輸大量現(xiàn)場(chǎng)數(shù)據(jù)時(shí),,無(wú)法滿足實(shí)際需要。同時(shí),,日益廣泛和復(fù)雜的網(wǎng)絡(luò)應(yīng)用也給網(wǎng)絡(luò)編程開(kāi)發(fā)人員帶來(lái)極大的工作負(fù)擔(dān),。為此,NI公司便針對(duì)現(xiàn)實(shí)需求開(kāi)發(fā)了一種面向測(cè)量和網(wǎng)絡(luò)數(shù)據(jù)實(shí)時(shí)交換的新技術(shù)——DataSocket,。
2.1 DataSocket簡(jiǎn)介
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é)議編寫(xiě)程序代碼,只需通過(guò)統(tǒng)一的API編程接口,,就可以實(shí)現(xiàn)網(wǎng)絡(luò)原始數(shù)據(jù)的傳輸,。DataSocket技術(shù)通過(guò)資源定位符(URL)定位數(shù)據(jù)源,URL的前綴表示寫(xiě)入數(shù)據(jù)的類型和使用的傳輸協(xié)議,,例如file是本地文件,,ftp是文件傳輸協(xié)議,用于讀取文件中數(shù)據(jù),;http為超文本協(xié)議,,用于提供數(shù)據(jù)的網(wǎng)頁(yè)鏈接;opc表示過(guò)程過(guò)程控制的OLE,,專門用于共享實(shí)時(shí)生產(chǎn)數(shù)據(jù),,該協(xié)議在運(yùn)行OPC服務(wù)器時(shí)使用;dstp則表示來(lái)自DataSocket服務(wù)器的實(shí)時(shí)數(shù)據(jù),。DataSocket技術(shù)通過(guò)使用與協(xié)議無(wú)關(guān),、與語(yǔ)言無(wú)關(guān)、與操作系統(tǒng)無(wú)關(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)和讀寫(xiě)數(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é)議無(wú)關(guān),、與語(yǔ)言無(wú)關(guān),、與操作系統(tǒng)無(wú)關(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,通過(guò)這些節(jié)點(diǎn)就可以完成DataSocket通信[3],。
2.3 DataSocket工作原理
DataSocket通過(guò)DataSocket函數(shù)庫(kù)實(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ù)寫(xiě)到DataSocket Server中,,接收數(shù)據(jù)時(shí),,客戶端再通過(guò)訂閱器利用API接口從DataSocket Server讀取數(shù)據(jù)。通信過(guò)程如圖3所示[4],。
DataSocket技術(shù)實(shí)現(xiàn)數(shù)據(jù)傳輸有面板控件直接相連和編寫(xiě)基于DataSocket協(xié)議程序兩種方式,。通過(guò)面板控件直接相連方式實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)通信只需要設(shè)置數(shù)據(jù)顯示控件的DataSocket Connection對(duì)話框,在本地和異地的數(shù)據(jù)顯示控件的DataSocketConnection對(duì)話框上填寫(xiě)相同的URL即可,,本地控件的數(shù)據(jù)便可實(shí)時(shí)地傳輸?shù)较嗤琔RL的異地控件中,,無(wú)需編程,簡(jiǎn)單實(shí)用[5],。
而需要透明的數(shù)據(jù)傳輸并可對(duì)數(shù)據(jù)進(jìn)行處理時(shí),,就需要編寫(xiě)DataSocket協(xié)議程序,DataSocket函數(shù)庫(kù)的Write和Read動(dòng)作直接表明了對(duì)數(shù)據(jù)的寫(xiě)入和讀取操作,,數(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í)行功能的控制?,F(xiàn)場(chǎng)智能傳感器拾取原始信息,,通過(guò)信號(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)的控制操作。通過(guò)安裝在工控機(jī)上的儀器硬件接口,,服務(wù)器上由LabVIEW開(kāi)發(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è)備常見(jiàn)的故障之一,,設(shè)備的電機(jī)也通常由交流電供電,,針對(duì)交流電源故障的診斷問(wèn)題,通過(guò)遠(yuǎn)程診斷客戶端對(duì)混有白噪聲的正弦交流信號(hào)進(jìn)行檢測(cè)和分析診斷,從而判斷為何種故障,。
服務(wù)器端使用LabVIEW編寫(xiě)虛擬儀器程序,,通過(guò)自帶的DAQ等功能板卡驅(qū)動(dòng)程序,控制設(shè)備采集待測(cè)信號(hào),,并保存至計(jì)算機(jī)內(nèi)的數(shù)據(jù)庫(kù)中,。在服務(wù)器的LabVIEW程序面板上的URL上輸入DataSocket Server所在的計(jì)算機(jī)地址,服務(wù)器端默認(rèn)地址為localhost,,通過(guò)DateSocket Writer節(jié)點(diǎn)寫(xiě)入數(shù)據(jù),,如圖5和圖6所示,將混有白噪聲的正弦信號(hào)寫(xiě)入并顯示在示波器儀表中,。
客戶端通過(guò)DateSocket Reader節(jié)點(diǎn)將數(shù)據(jù)從URL指定的位置讀出,,實(shí)時(shí)顯示在客戶端示波器上,如圖7所示,。
為分析接收的數(shù)據(jù),,先通過(guò)LabVIEW提供的信號(hào)分析子模塊,對(duì)接收信號(hào)進(jìn)行頻譜分析,,可以得到正弦信號(hào)的特征頻率,,再通過(guò)濾波器(這里使用反-切必雪夫?yàn)V波器)濾除白噪聲,去偽存真,,對(duì)濾波后的圖可以通過(guò)時(shí)域分析,,得到頻率和幅值。通過(guò)對(duì)接收信號(hào)的分析操作,,再對(duì)比已經(jīng)建立的故障特征曲線數(shù)據(jù)庫(kù),,便可以實(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ò)編程的簡(jiǎn)單快捷和測(cè)試數(shù)據(jù)的實(shí)時(shí)傳輸。通過(guò)傳輸混有白噪聲的正弦波的實(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] 陳國(guó)順,,于涵偉.測(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.