熊波 王卓
華中科技大學控制科學與工程系 湖北 430074
隨著生產技術的發展和自動化水平的提高,工業現場的機械設備越來越復雜,其維修方式由事后維修、定期維修發展成為狀態維修。要實現狀態維修,必須對設備進行實時監測以了解設備運轉情況。目前故障診斷的方法主要有三種:溫度分析法、油樣分析法和振動分析法。振動分析方法應用廣泛,能對早期故障進行有效診斷,信號測試方便,分析簡單,直觀,診斷結果可信度高,在工業生產和科研領域受到了高度重視。要對機械設備進行振動分析,必須將設備的振動信號傳遞給工程技術人員,實現對機械設備進行實時狀態監測。
Labview提供了大量用于數據采集、分析、顯示和存儲的工具與函數,同時它還提供了大量常用于自動化測試測量領域的圖形控件與多種編程語言和應用程序的接口,可以根據需要擴展其應用。正是由于這些特點,LabVIEW在數據采集、儀器控制、過程監控和自動測試領域中具有得天獨厚的優勢并應用廣泛。文獻介紹了LabVIEW環境下利用串口通訊、測量分析和數據顯示功能模塊實現數據監控的一個實例。文獻[5]介紹了LabVIEW在變壓器故障診斷中進行數據分析、數據存儲、信息融合、數據庫管理和故障診斷的實例。因此,通過LabVIEW來獲取機械設備的實時振動數據是一種比較理想的方案。
LabVIEW圖形化的基于數據流的編程方式簡便直觀,但LabVIEW只能單機運行,不易于實現遠程設備的故障診斷。而基于Web的瘦客戶端模式能使數據最大范圍的共享,且瀏覽方便。因此,將兩者優點結合起來,使得工程人員通過瀏覽器就能遠程查看機械設備的實時振動數據并進行分析,這是非常理想的一種解決方案,也是本文研究的主要內容。
在本系統中,需要傳遞的數據有波形、頻譜、RMS(振動有效值)和峭度指標等。這些數據可以分為兩種類型:實時波形和特征參數。系統的總體架構和工作原理如圖1。

圖1 系統總體架構和工作原理圖
當客戶端發送URL請求Web Service時,Web Service獲取對應的網絡共享變量數據并進行頻譜分析,以XML文件的方式返回給客戶端,實現實時數據的遠程傳輸和數據共享。
LabVIEW8.0在工程的基礎上引入了網絡共享變量(Net-Published Variable)的概念,網絡共享變量為同一工程下不同設備間的數據交換提供了很好的方式,用戶不需要關心其底層實現,也不需要編程,只需要像訪問同一設備中的全局變量一樣進行讀寫操作。LabVIEW數據采集程序將機械設備的實時振動數據采集上來,然后將這些實時振動數據以網絡共享變量的形式發布。這樣,只要該LabVIEW數據采集程序處于運行狀態,這些網絡共享變量就能被其他LabVIEW程序訪問了。
LabVIEW Web Service模塊在實時數據的遠程傳播中發揮著關鍵性的作用,其主要實現了以下幾個功能:
(1) 網絡共享變量的定位和讀??;
(2) 將網絡共享變量轉化為XML文件;
(3) 生成和發布Web服務。
另外,針對傳輸的數據的不同,處理實時波形和實時特征參數的LabVIEW Web Service程序也不完全一樣,處理實時波形的LabVIEW Web Service程序除了上述三種功能外,還有波形變換的功能。
從工業現場采上來的機械振動實時波形是加速度波形,然而,從加速度波形中能獲得的信息有限,因此,有必要對加速度波形進行相應的變換,以獲得更多對故障診斷有幫助的信息。
對采集上來的原始波形進行變換有兩種方案:
(1) LabVIEW數據采集程序從工業現場采集到波形數據后,進行變換,然后將變換后的波形以網絡共享變量的形式發布,供LabVIEW Web Service程序讀取。
(2) LabVIEW數據采集程序將采集到的原始波形數據以網絡共享變量的形式發布,LabVIEW Web Service程序從網絡共享變量中讀取波形數據后,根據用戶請求進行相應的變換。
通過對比,發現第一種方案用到的網絡共享變量比第二種多得多。從節省網絡資源,控制網絡流量的角度出發,第二種變換方案更優,應成為首選方案。
處理波形數據的LabVIEW Web Service程序如圖2。
處理波形數據的LabVIEW Web Service程序主要分為4個部分:
第1部分主要是根據3個端口信息對共享變量進行定位。第2部分主要是讀取共享變量,添加時間信息,對讀取過程進行容錯處理。第3部分主要根據端口type的信息對實時波形進行相應的變換。第4部分主要將最終的數據轉化為XML文件。

圖2 處理實時波形的LabVIEW Web Service程序
處理實時特征參數的LabVIEW Web Service程序和圖2所示程序大同小異,只是沒有對波形進行變換的部分。
Web服務生成時,會形成相應的URL映射,URL映射會生成一些端口,這些端口包含了Web服務的所有信息??蛻舳送ㄟ^URL請求Web服務時,Web服務根據URL提供的端口信息為客戶端提供服務。
處理實時波形的Web服務的URL映射如下所示:/read/:hostname/:LibraryName/:VariableName/:type
上面的URL映射包含了4個端口,各端口的含義為:
(1) hostname:網絡共享變量所在計算機的主機名;
(2) LibraryName:網絡共享變量所在變量庫的庫名;
(3) ariableName:網絡共享變量名;
(4) type:波形變換的類型,有效取值為0,1,2,3,4,5,分別對應的變換類型為位移波形,速度波形,加速度波形,幅值譜,相位譜,功率譜。
由于特征參數是浮點型的數字,因此處理實時特征參數的Web服務的URL映射和處理實時波形的Web服務的URL映射相比,沒有type端口,其他端口及端口的含義相同。
XML(Extensible Markup Language)被普遍認為是World Wide Web發展的重要里程碑,現已成為Web上數據表示與交換的標準。XML具有良好的擴展性,結構靈活,使用日趨廣泛。XML可以將各種信息如文本、表格,甚至圖形等以原始數據的方式儲存。正是利用XML的這些特點,在LabVIEW Web Service程序中,實時波形和實時特征參數均轉化為XML文件的形式,然后再進行網絡傳輸,用戶得到數據之后,再在Web中對XML做相應處理,將其還原。在整個系統中,數據的流向及存在形式如圖3。

圖3 系統數據流向及存在形式圖
系統的實時數據有很多種,這些數據分為兩種類型:實時波形和實時特征參數,客戶端請求Web服務之后,這兩種數據都是以XML文件的形式返回給客戶端,客戶端的工作主要是對XML文件進行相應的處理,將數據從XML中還原出來,并顯示在Web頁面上。
由于實時特征參數比較簡單,只是一個單一的浮點數,因此其Web實現也比較簡單:Structs得到返回的XML文件后,相應的處理類把特征參數從XML中解析出來,并保存到該類的靜態變量中,Web頁面以一定周期從此靜態變量中讀取值,并顯示在頁面上。這樣就實現了實時特征參數的實時顯示和更新。
(1) 原理與方案
LabVIEW Web Service將實時波形轉化為XML文件時,是將所有點的幅值按順序保存的,由于在頁面中顯示的實時波形是要隨時間不斷變化的,因此,在Web頁面中嵌入靜態圖片的方案顯然行不通。本系統采用的方案是在頁面中嵌入Flex以實現實時波形的顯示和更新。
Flex技術所開發的程序運行于Flash Player中,因此可以在幾乎所有電腦中運行,對于大部分瀏覽者而言并不需要安裝額外的客戶端,瘦客戶端的特點是Flex技術得天獨厚的優勢。Flex中有一種數據類型為ArrayCollection,若控件的數據源數據類型為ArrayCollection,則當數據源發生變化時,控件也要相應地發生變化,因此,可以把獲得的實時波形數據作為控件的數據源,類型設置為ArrayCollection,這樣,每當實時波形發生變化時,控件也要相應地發生變化。實時波形在頁面中的實時更新也就能夠實現了。
(2) 通用Flex模塊設計及與Web的交互
為減小程序設計的工作量,按照模塊化設計的思想,應該將Flex模塊設計成一個通用的模塊,實現最基本的功能。Web頁面根據需要,選擇一定數量和類型的通用Flex模塊嵌入其中,以實現實時波形的顯示和更新。
通用Flex模塊最重要的功能就是請求Web服務,獲取實時波形并顯示。其工作過程如圖4。

圖4 通用Flex模塊工作過程及與Web的交互
通用Flex模塊接收Web頁面傳過來的URL,Flex的HTTPService通過該URL請求Web服務并獲得Web服務返回的XML文件,提取XML文件中的波形振幅數據,并將這些數據的數據類型設定為ArrayCollection,并作為波形顯示控件的數據源。這樣,控件中的實時波形就能實時顯示和更新了。
此外,為了使波形顯示更加美觀和合理,通用Flex模塊還有一些優化模塊,這些優化模塊具有波形初始顯示時的自適應顯示,波形顏色設置,波形大小調整,時間信息的顯示等一些功能。
關于波形顯示控件的選擇,對于位移波形,速度波形和加速度波形,由于變換為XML文件時,橫軸信息沒有發生變化,用LineChart就能夠正確的顯示實時波形了。而對于幅值譜,相位譜和功率譜,由于變換為XML文件時,橫軸信息發生了變化,為了能正確顯示頻譜數據,需要加上頻譜數據的橫軸信息,因此,采用PlotChart作為頻譜數據的顯示控件。
由于Flex模塊的通用性,Flex模塊用來請求Web服務的URL必須由外界提供。在本系統中就是由Web頁面程序提供。Web和Flex的交互,就是要在Web頁面程序中實現對Flex程序的調用,以實現URL從Web頁面到Flex的傳遞。
Flex提供了與外部程序交互的功能,通過ExternalInterface將被外部程序調用的函數聲明為回調函數,這樣,外部程序就能夠訪問被聲明為回調函數的函數了。
在Web頁面中,首先需要嵌入通用Flex模塊,給每一個嵌入的Flex模塊一個ID,通過ID號就能調用對應Flex模塊中的回調函數,實現URL的傳遞。
對于機械設備的故障診斷,可以采用初步診斷和詳細診斷相結合的方式。
機械設備的實時振動特征參數,如振動有效值,波形指標,峭度指標等能反映設備的整體運行情況。因此,可以通過監測實時特征參數來對設備是否存在故障進行初步的診斷。當實時特征參數出現異常時,說明機械設備存在故障,這時,就需要查出故障的產生部位和類型,因此,需要對機械設備進行詳細的診斷。
對機械設備進行詳細診斷,比較經典的方法是對實時波形進行頻譜分析,很多故障都存在對應的特征頻率,當故障出現時,表現在功率譜上就是特征頻率出現異常(峰值、劇增,邊頻等),此時根據特征頻率就能診斷出機械設備的故障部位和故障類型。
系統運行時,實時波形數據顯示的效果如圖5。

圖5 實時波形數據顯示效果圖
運行結果表明,LabVIEW采集的實時波形信號和實時特征參數實現了遠程傳輸,在網頁上能正確顯示。當連續獲取實時的數據波形時,系統也能及時響應,而且系統運行穩定,響應時延小。
工業現場設備的實時振動數據,對于分析設備運轉狀況有著極其重要的作用。本系統通過LabVIEW Web Service、EJB、Flex和Structs等技術,實現了實時振動數據的遠程傳輸,將實時波形和實時特征參數呈現在網頁上,且系統在運行過程中穩定、響應迅速、系統時延小,使用戶能夠及時、準確、直觀的了解工業現場設備的運轉情況,為設備的保養維護提供有力的支持。
[1] 葉榮學,孫偉,林赫等.機械設備狀態維修方式的研究與選擇[J].中國電力.1998.
[2] Gao Baolu, Xiong Shibo, Xu Zhanwei.The application of wireless sensor networks in machinery fault diagnosis[J].2010 International Conference on Machine Vision and Human-machine Interface.2010.
[3] 陳新崗,田曉霄,趙陽陽等.基于Labview的變壓器故障診斷系統研究[J].計算機工程與科學.2011.
[4] 田愛萍,邰文濤.基于μC/OS-II與LabVIEW的井下低壓選擇性漏電保護系統研究[J].電測與儀表.2012.
[5] 陳新崗,田曉霄,趙陽陽等.基于Labview的變壓器故障診斷系統研究[J].計算機工程與科學.2011.
[6] 張小龍,馮能蓮,李紅志等.LabVIEW中多設備數據共享方法對比研究[J].工業儀表與自動化裝置.2008.
[7] 嚴麗,劉健.一種模糊XML模型的概念設計方法[J].計算機科學.2011.
[8] 李亞坤,王宏志,高宏等.基于實體描述屬性技術的XML重復對象檢測方法[J].計算機學報.2011.
[9] 胡斌蜂,孫偉德,陳奇.基于Flex的WebGIS注記控件研究[J].計算機工程.2011.