1 開發背景
發動機狀態監測一般通過檢測其轉子電流、轉動力矩、旋轉速度等參數來判別,但是,由于其狀態參數均為動態變化的,很難通過常規的監測方法判別出健康狀態。隨著計算機接口技術和數字信號處理技術的發展,可以利用高速數據采集技術和數字信號處理技術,將其旋轉時的聲音和振動信號實時高速采集,并對發動機非定常失速過程即各物理量的變化過程及各時間點的狀況,包括各個通道的時域,不同時間的頻譜,各頻譜分量的周向模態進行完整的記錄和量測,然后進行綜合評估,便是對發動機的狀態監測的一種最為有效的方法。由于發電機旋轉時的聲音和振動信號的采集與發動機非定常失速過程的記錄要求進行多通道、大容量數據的實時測量、采集和存儲、高速多通道的FFT分析和可視化的數據顯示,數據的采集速率至少要8~10MS/s,因此對于一套能實施可行的可用于對發電機狀態監測系統而言,除了需要具有高速處理能力的計算機系統外,更為重要的是需要具有板載高速存儲、同步鎖存、高速且多路同步數據采集的DAQ硬件板卡。目前具有高達10MS/s以上高速且同步數據采集板卡并不多見,只有少數幾家公司才擁有此項關鍵技術。研華公司目前推出的一款30MS/s同步數據采集多功能卡PCI-1714便是為適合于高高速數據采集與處理應用場合而設計的,正好滿足此項要求。
2 PCI-1714特性
研華公司的高速數據采集卡PCI-1714是一款高速、高分辨率、板載高存儲容量的PCI數據采集卡,配備四組模擬輸入端,具備同步鎖存和同步采集的功能。當四組模擬輸入同時使用時,采樣頻率最高可達30MS/s。具備12 bits的分辨率,同時內含四個獨立模擬數字轉換器(ADC),可使四個信道同步采樣,板載32k FIFO內存,允許使用者在做極速采樣時,有足夠的緩沖區可供暫存數據,以維持信號采集的速度及完整性。
最為重要的是PCI-1714提供板載自動校正功能,使用者只要通過軟件指令,就可以啟動PCI-1714上的自動校正功能,完成模擬輸入信道的校正工作,不需要任何繁雜手工操作。
PCI-1714在觸發數據采集方面,提供多種選擇方式:觸發的來源包括軟件觸發、內部時鐘同步觸發以及外部觸發等,模擬觸發功能提供多種觸發條件的選擇,數字觸發則提供上升沿觸發與下降沿觸發兩種選擇。在多卡同步功能方面,PCI-1714可以接受外部輸入時鐘進行同步數據采集,所以使用者可以使用同一外部輸入時鐘達成多卡同步采集功能。可廣泛用于語音、振動等信號的監測等方面的應用,還可用于諸如軍事方面的雷達信號分析、超音波信號分析、數字廣播信號分析等應用方面。
其特性總結為:
數據采樣速率高達30 MS/s。
內含四個獨立模擬數字轉換器(ADC),可使四個信道同步采樣。
板載32K先進先出(FIFO)高速緩存,允許使用者在做極速采樣時,有足夠的緩沖區可供暫存數據,以維持數據采集的速度及完整性。
提供多種輸入范圍,包含±5V、±2.5V、±1V、±0.5V等,使用者透過工具程序即可輕松完成設定。
研華專屬的板卡裝置識別碼(Board ID),當客戶同時插入多張板卡時,可做硬件組態設定,輕易辨識每塊板卡。
高達六種觸發模式,方便客戶依需求自行設定。包含軟件觸發、Pacer、Post-Trigger、Pre-Trigger、Delay-Trigger及About-Trigger。
3 設計實施
發動機在正常時,其振動的聲音及其自身的振動頻譜是有規律的,但是一旦發動機出現異常時,其頻譜便會出現變異和失真。因此,可以通過監測發動機轉動時的聲音及其自身振動信號來判別發動機的健康狀態。因此,在發電機狀態監測中,發動機轉動時自身發出的聲音的監測是一個關鍵,其次,為整個電機機身的振動監測。在旋轉機械聲音處理方面,據大多文獻介紹,需計算、分析其頻譜特性,但其前置信號的處理是一個難點,關鍵是帶通濾波的設計,對于不同場合,其帶通不同,后置的采集器要求也有所不同,濾波器的輸出用A/D轉換器以每秒8~9MS/s采樣,處理器每連續存儲200或128個取樣數據為一幀信息,聲音處理的框架圖見圖1所示:系統工作時,先由AD以8~9MS/s的采樣率將聲音輸入的模擬聲音信號轉換成標準的PCM數字信號,再經過一些濾波存入數據緩沖池,當采樣的數據達到一個語音幀時,高速處理計算機即進行編碼處理,系統的關鍵是要分辨發電機葉片轉動時,定子與轉子電磁場交互切割發出的聲音、以及在故障時與其他雜物碰撞的聲音、還有與機殼內的污垢粉塵碰撞引起的聲音等之間的區別。必要時也可將采集的聲音信號再重構,即對編碼后的數據將直接進行解碼,解碼后的重構語音數據經過聲效芯片轉換后,還原成模擬語音信號通過揚聲器輸出,以備監測專家試聽,人工識別是哪種聲音以判別發動機的故障。
圖1 聲音信號處理的流程圖
4 軟件實施
整個系統采用了Windows2000 操作系統平臺,Visual C++ 為程序開發平臺,在本系統中,數字信號處理是這個程序設計的關鍵,包含有大量的數據計算、頻譜分析和三維圖形顯示。Visual C++具有極強的編譯能力,但數據處理與圖形的編輯能力較弱,Matlab是一種基于解釋語言的編程環境,對數字信號處理以及圖形的處理能力較強,因此,在本系統中,采用Visual C++進行數據采集、線程以及界面的設計與管理。數據采集和存儲在前臺運行,而讓Matlab于Visual C++的后臺運行,用于對采集的數據進行FFT、頻譜分析以及三維圖形顯示。這一方法充分利用了Visual C++以及Matlab的優勢。
軟件實施過程中,還有一個關鍵,便是如何防止數據的丟失,數據丟失一般是由數據顯示與數據采集之間的矛盾引起的,因為Windows2000是一個多任務、多線程的非實時系統,數據顯示、圖形顯示必然會對要求實時高速數據采集產生一定的時延作用,造成數據丟失、聲音的變異和失真,極大影響系統對發動機診斷的準確性。為克服這一缺憾,我們采用間隙高速數據采集的方式,即在某個時間段內讓計算機集中高速采集一組實時數據,并將其暫存于數據緩存池中,然后停止數據采集,集中時間來處理數據、分析、數據輸出和屏幕刷新顯示等過程。這樣即保證了信號的完整性,又滿足了系統對信號處理的要求。實際上,在我們的試驗中,發動機一旦有異常,其聲音信號和振動信號會周期性出現較長時間,因此,間隙式的高速采集一般不會影響系統診斷的功能。
5 應用體會
基于PCI總線的高性能高速數據采集板卡的研制在基于PC系統的SCADA系統中一直是一個難點,因為高速數據采集板卡的研制不僅要求數據采集具有急速的信號采樣頻率,更為重要的是要求有較大的板載高速存儲空間、信號的同步技術、高速數據鎖存技術以及數據傳輸技術。研華公司的PCI-1714板卡,采樣速率高達30MS/s、具有四路同步鎖存、同步采集、同步存儲,對采集的數據采用DMA傳輸方式等特性,滿足了現代工業對一些語音、振動信號處理的要求,本系統的成功應用便是一個證實。