【基于PLC的電機(jī)故障診斷系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)10000字(論文)】_第1頁
【基于PLC的電機(jī)故障診斷系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)10000字(論文)】_第2頁
【基于PLC的電機(jī)故障診斷系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)10000字(論文)】_第3頁
【基于PLC的電機(jī)故障診斷系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)10000字(論文)】_第4頁
【基于PLC的電機(jī)故障診斷系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)10000字(論文)】_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

III1引言隨著現(xiàn)代生產(chǎn)技術(shù)的不斷發(fā)展,生產(chǎn)設(shè)備更加大型化,功能更多,結(jié)構(gòu)更復(fù)雜,自動化程度也逐漸升級,進(jìn)而就要求電機(jī)頻繁地啟動、制動,隨之而來的是電機(jī)的運(yùn)行安全問題日益突出。在工程應(yīng)用過程中,如果因制作工藝或人員不當(dāng)操作等因素造成電機(jī)出現(xiàn)異常或故障,不但會耽誤生產(chǎn),造成經(jīng)濟(jì)損失,而且可能會污染環(huán)境,甚至傷及人身,造成比較嚴(yán)峻的社會問題。近年來我國生產(chǎn)的電機(jī)在材料、結(jié)構(gòu)以及工藝上都有了非常大的改進(jìn),但在電機(jī)的狀態(tài)監(jiān)測與診斷上與國外還有著一定的差距。因此,對電機(jī)進(jìn)行可靠、有效的狀態(tài)監(jiān)測與故障診斷,確保電機(jī)運(yùn)行時(shí)的安全,成為了國內(nèi)研究的一個(gè)極其重要的課題。在故障診斷技術(shù)中,包含有很多種判斷故障的方式,其中通過振動信號進(jìn)行監(jiān)測診斷是主要方式之一,電機(jī)在運(yùn)行時(shí)會發(fā)出振動,從中可以提取出各種有價(jià)值的性能參數(shù)。而當(dāng)電機(jī)出現(xiàn)異常時(shí),所產(chǎn)生的振動信號較正常信號相比便會有所不同,進(jìn)而可通過比較判斷出電機(jī)此時(shí)處于非正常運(yùn)轉(zhuǎn)狀態(tài),因此,利用振動信號對電機(jī)故障進(jìn)行診斷是故障診斷方法中較有效、較常用的方法。本論文就是為了提高電機(jī)運(yùn)行的可靠性,提高異常監(jiān)測效率,對電機(jī)系統(tǒng)振動信號監(jiān)測及故障診斷的技術(shù)進(jìn)行綜合分析研究,開發(fā)一個(gè)適應(yīng)現(xiàn)代電機(jī)的生產(chǎn)環(huán)境的可靠、實(shí)用、高性價(jià)比的電機(jī)運(yùn)行狀態(tài)監(jiān)測與故障診斷系統(tǒng),確保電機(jī)安全運(yùn)行,且在出現(xiàn)異常時(shí)及時(shí)發(fā)現(xiàn)并進(jìn)行處理,以減少生產(chǎn)事故的發(fā)生。2電機(jī)故障診斷系統(tǒng)硬件設(shè)計(jì)2.1信號產(chǎn)生部分振動信號產(chǎn)生裝置選用了HL-35V小型無油真空泵,真空度約85KPA,由電機(jī)驅(qū)動,選擇該真空泵的原因是可通過其真空度調(diào)節(jié)裝置來調(diào)節(jié)電機(jī)壓力,方便測試不同真空度下的電機(jī)振動情況。進(jìn)行振動監(jiān)測首先需要有合適的位置來安裝傳感器,這對該真空泵來說比較困難;其次,振動信號極容易受外界環(huán)境的干擾,從而降低故障判斷的準(zhǔn)確率,因此,本文選用了一座減震平臺,將設(shè)備放在在減震平臺上進(jìn)行實(shí)驗(yàn),即方便傳感器的安裝,又可以減少外界噪音干擾,提高檢測精度。2.2信號測量部分振動信號測量部分由振動傳感器和放大傳感器輸出信號的放大器構(gòu)成。常用的振動傳感器有渦流傳感器、速度傳感器和加速度傳感器。其中渦流傳感器安裝要求嚴(yán)格,常用于測量轉(zhuǎn)動部件的振動;轉(zhuǎn)速傳感器安裝方便,但體積和重量過大,低頻特性差;加速度傳感器體積小、重量輕,特別適合小而輕零件的振動試驗(yàn),且加速度傳感器結(jié)構(gòu)緊湊,不易損壞,適合于本系統(tǒng)的振動信號測量。通常傳感器的靈敏度越高,其測量范圍越小,反之靈敏度越小,測量范圍越大。由于本系統(tǒng)電機(jī)激振頻率不高,產(chǎn)生的加速度較小,因此對傳感器的量程要求較小,可盡可能的選擇靈敏度更高的傳感器,提高測量精度。經(jīng)過上述分析,本文最終選用了美國MEAS4801A加速度傳感器,該傳感器帶溫度補(bǔ)償,螺釘安裝,提供放大輸出,全密封,可分離電纜,10000g過載保護(hù),±2~±200g測量范圍,8~36Vdc激勵電壓,氣態(tài)阻尼MEMS元件,靜態(tài)~2KHz頻率響應(yīng)。圖3.1為傳感器實(shí)物圖。圖3.1MEAS4801A加速度傳感器由于該加速度傳感器輸出的信號較為微弱,大概為50-100mV/g,其顯示的波形并不直觀明顯,所以需要使用放大器對信號進(jìn)行放大,使之變?yōu)闈M足需要、便于觀察的信號。圖3.1為本系統(tǒng)設(shè)計(jì)的信號放大電路圖,采用WRB1205S-3W模塊電源進(jìn)行供電、MAX44252運(yùn)算放大器實(shí)現(xiàn)信號放大。圖3.2放大電路圖2.3信號采集部分由于電腦終端只能識別數(shù)字信號,因此需要有數(shù)據(jù)采集器將放大器輸出的電壓模擬信號以一定的相同時(shí)間間隔進(jìn)行提取,將其轉(zhuǎn)換成離散的數(shù)字信號以便在計(jì)算機(jī)中進(jìn)行顯示、存儲。數(shù)據(jù)采集卡一般分為PCI和USB兩種接口方式,PCI總線雖然數(shù)據(jù)的可靠性強(qiáng),但需要連接PC主板,不支持熱插拔;而USB總線即插即用,傳輸速率較快,攜帶方便。因此從便攜性角度考慮,本系統(tǒng)采用USB接口的采集卡。選用數(shù)據(jù)采集系統(tǒng)還需要關(guān)注其精度和速度,經(jīng)過分析,本系統(tǒng)的精度等級設(shè)為0.01便可滿足需求,假設(shè)輸入幅值±10V,采集卡的A/D轉(zhuǎn)換器應(yīng)選擇10位以上。同時(shí),在滿足精度的前提下,也要盡可能的有較高范圍的采樣率,以滿足振動信號分析所需的數(shù)量要求??紤]到上述需求,本文決定選用研華公司的USB系列采集卡,該公司技術(shù)成熟,硬件設(shè)計(jì)滿足性能參數(shù),各方面保護(hù)措施較完善,且為軟件開發(fā)人員提供了底層的函數(shù)調(diào)用,使開發(fā)較為簡易方便。具體型號為USB-4704,其配置了8個(gè)模擬量輸入通道、2個(gè)模擬量輸出通道以及8個(gè)數(shù)字量輸入通道、8個(gè)數(shù)字量輸出通道,并配有計(jì)數(shù)器和觸發(fā)器,具有14位精度,48KS/s采樣率,可采集電壓范圍為:±1,±1.25,±2,±2.5,±4,±5,±10,±20。圖3.3為USB-4704的針腳定義圖。圖3.3USB-4704針腳定義USB-4704采集卡提供了單端輸入和差分輸入兩種模擬量輸入方式,其原理如圖3.4、3.5所示。差分輸入方式可通過差分放大器來消除模擬量的共模干擾,但本系統(tǒng)因?yàn)樵O(shè)計(jì)了減震平臺,信號源較為純凈,因此也可以采用相對簡單的單端輸入方式。之后將放大電路板與采集卡進(jìn)行連線組合并封裝了外殼,既提高了系統(tǒng)的整體性和便攜性,同時(shí)也對電路與采集卡進(jìn)行了保護(hù)。其左端為放大電路,12V電源供電,通過上方旋鈕調(diào)節(jié)的放大倍數(shù),輸出端以單端輸入方式連至右端采集卡的AI0與AGND引腳。圖3.4單端輸入圖3.5差分輸入2.4信號處理部分在信號處理設(shè)備的選擇上,考慮到實(shí)際應(yīng)用的便攜性,要盡量滿足體積小、重量輕、成本低的要求。在數(shù)據(jù)網(wǎng)絡(luò)傳輸模式方面,有線網(wǎng)絡(luò)較難實(shí)現(xiàn),且測試現(xiàn)場也并不能保證有WIFI信號,因此最穩(wěn)定的方式還是蜂窩網(wǎng)絡(luò)傳輸。因研華采集卡并未給Android系統(tǒng)提供相關(guān)驅(qū)動函數(shù),因此無法選用手機(jī)Android平臺。通過對比其它Windows平臺下且支持手機(jī)SIM卡的移動設(shè)備的性能及價(jià)格,最終選用了凌華公司的MXE-1500嵌入式電腦,其價(jià)格便宜、體積精巧且提供了豐富的I/O接口和靈活配置,采用Intel?Celeron?N3160/N3060處理器,4G運(yùn)行內(nèi)存,以及128G固態(tài)硬盤,能夠支持Windows系統(tǒng),且配置了華為的4G傳輸模塊,可使用手機(jī)SIM卡進(jìn)行4G流量傳輸,能夠滿足系統(tǒng)的網(wǎng)絡(luò)傳輸要求。圖3.5為MXE-1500實(shí)物圖。圖3.9MXE-1500嵌入式電腦3電機(jī)故障診斷系統(tǒng)軟件設(shè)計(jì)3.1上位機(jī)軟件總體設(shè)計(jì)3.1.1需求分析在軟件開發(fā)過程中,要理解用戶的需求,明確軟件要“做什么”,要實(shí)現(xiàn)哪些功能,以避免軟件開發(fā)的盲目性和無計(jì)劃性。研華公司為采集卡配備的軟件DAQNavi安裝繁瑣,啟動較慢,還需安裝并開啟子軟件DataLogger,操作不便,又比較占用系統(tǒng)資源,而且該軟件并不具備信號的異常報(bào)警提示以及信號分析處理功能,用戶并不能及時(shí)發(fā)現(xiàn)設(shè)備異常情況并進(jìn)行處理,因此需要對采集軟件進(jìn)行重新開發(fā)設(shè)計(jì),以滿足用戶需求。系統(tǒng)所采用的研華USB-4704采集卡具有兩種采集模式:InstantAI和BufferedAI。InstantAI為實(shí)時(shí)采樣,每個(gè)數(shù)據(jù)單獨(dú)傳輸,采樣間隔由軟件程序決定,采樣率相對不高;BufferedAI為緩存采樣,先將數(shù)據(jù)依次暫存在緩存中,儲存到指定數(shù)量后再批量傳輸,采樣率由硬件本身所支持的采樣率決定,可實(shí)現(xiàn)高速采集。BufferedAI本身又分了以下兩種模式:(1)有限采集(OneBufferedAI):用戶可指定采集的數(shù)據(jù)個(gè)數(shù),當(dāng)采集數(shù)目達(dá)到指定個(gè)數(shù)后自動停止,可實(shí)現(xiàn)定量采集的效果;(2)流式采集(StreamingAI):不限制采樣個(gè)數(shù),數(shù)據(jù)按照一定間隔,如流水般源源不斷的到來,采樣過程連續(xù)不斷進(jìn)行,需要用戶手動停止。兩種采集模式都有各自的優(yōu)缺點(diǎn),并有著不同的實(shí)現(xiàn)方式,本文針對這兩種不同的采集方式進(jìn)行設(shè)計(jì),實(shí)現(xiàn)在不同需求下數(shù)據(jù)的采集。一個(gè)完備的振動信號監(jiān)測系統(tǒng),需要有友好的人機(jī)交互界面,用戶能通過按鍵指令控制采集卡的始停,將接收來的數(shù)據(jù)可視化實(shí)時(shí)顯示,并將數(shù)據(jù)依次存入本地,同時(shí)能夠自動監(jiān)測異常數(shù)據(jù)進(jìn)行報(bào)警,并進(jìn)行信號分析。本文軟件是使用Windows操作系統(tǒng),在VisualStudio2019的.Net平臺下用C#語言進(jìn)行開發(fā),采用模塊化設(shè)計(jì),其功能模塊如圖3.1所示:圖3.1軟件功能模塊圖3.1.2設(shè)計(jì)流程按照振動信號采集監(jiān)測軟件功能模塊圖,在軟件開始運(yùn)行時(shí),需要選擇要連接的采集設(shè)備,設(shè)置好采集參數(shù),選擇要采集的方式;在采集過程中觀察波形顯示,注意報(bào)警提示;在采集結(jié)束后,可查看本地保存的振動數(shù)據(jù)以及報(bào)警信息。圖3.2為軟件的設(shè)計(jì)流程圖:圖3.2軟件設(shè)計(jì)流程圖3.1.3編程語言選擇研華為用戶開發(fā)提供了多種編程環(huán)境下的驅(qū)動函數(shù)支持,除了本文選用的C#語言外,還有以下幾種:(1)VB:VB(VisualBASIC)是微軟較早推出的一種直譯式編程語言,主要面向編程初學(xué)者,入門簡單,但其對于底層處理不夠靈活,多線程實(shí)現(xiàn)較為困難,且比較老舊,速度較慢。(2)VC++:C++也是微軟研發(fā)的一種當(dāng)今十分主流的應(yīng)用程序編程語言,它首次引入了面向?qū)ο蟮母拍睿箲?yīng)用程序開發(fā)更為簡單便捷,且具有相當(dāng)高的性能,開發(fā)效率高,但C++語言較為復(fù)雜,難于學(xué)習(xí)和編寫,因而也無法完全確保程序的正確性。(3)LabVIEW:LabVIEW由美國國家儀器(NI)公司研制開發(fā),它有著一個(gè)顯著的特點(diǎn):其他編程語言大多都需要編寫文本形式的代碼,而LabVIEW是采用框圖的形式,以圖形化編輯語言來進(jìn)行程序編寫,省去了敲寫代碼的部分。LabVIEW上手容易,有著較豐富的數(shù)據(jù)顯示界面,也是一種比較好的選擇。(4)Delphi:Delphi是Borland公司開發(fā)一種簡單易用、方便快捷的開發(fā)工具。其語法嚴(yán)謹(jǐn)、結(jié)構(gòu)清晰、編譯速度快,且數(shù)據(jù)庫技術(shù)領(lǐng)先。利用Delphi開發(fā)應(yīng)用軟件可以較大地提高應(yīng)用程序開發(fā)效率。以上幾種開發(fā)語言其實(shí)都可作為本文系統(tǒng)的軟件開發(fā)工具,而C#是微軟在C++的基礎(chǔ)上,簡化了編程語言的復(fù)雜性,更加穩(wěn)定安全,再配合微軟強(qiáng)大的VS進(jìn)行開發(fā),會有很高的效率。因此本文選用了C#語言在VisualStudio2019開發(fā)環(huán)境下進(jìn)行該電機(jī)狀態(tài)監(jiān)測與故障診斷系統(tǒng)的上位機(jī)軟件開發(fā)。3.1.4算法實(shí)現(xiàn)在進(jìn)行振動信號的處理分析時(shí),需要借助一些數(shù)學(xué)算法的幫助,因此要對這些方法進(jìn)行程序?qū)崿F(xiàn)。在進(jìn)行算法實(shí)現(xiàn)時(shí),并不能僅僅以成功實(shí)現(xiàn)了某個(gè)算法為最終目的,還要考慮到算法占用計(jì)算機(jī)資源的實(shí)際情況,并不斷對算法作出評價(jià)和比較,從而設(shè)計(jì)出更好的算法。一個(gè)好的算法有以下幾個(gè)基本特點(diǎn):(1)有窮性:對任何合法有效的輸入,在獲取輸入并執(zhí)行運(yùn)算后,每一步運(yùn)算都能在有窮時(shí)間內(nèi)完成,且必須能在有窮步之后結(jié)束運(yùn)算。(2)確定性:對于相同的輸入,只能得到相同的輸出,且算法中每一條指令必須有明確的含義,他人進(jìn)行閱讀時(shí)不會理解為另一種含義。(3)可行性:也稱為有效性,即算法中任何操作步驟都是可以分解為基本的可執(zhí)行步驟,都可通過這些基本步驟執(zhí)行有限次實(shí)現(xiàn)。(4)輸入:一個(gè)算法有零個(gè)或多個(gè)的輸入,這些輸入取自于某個(gè)特定的對象的集合。(5)輸出:一個(gè)算法有一個(gè)或多個(gè)的輸出,這些輸出是同輸入有著某種特定關(guān)系的量。在算法設(shè)計(jì)中需要滿足上述基本特點(diǎn)的同時(shí),還需要關(guān)注以下一些問題,力求算法更加完善:(1)最優(yōu)化問題:算法的主要作用是通過運(yùn)算來解決某個(gè)或某類問題。然而對于某一確定的問題,其算法的設(shè)計(jì)方式或許并不只有一種,這就需要從專業(yè)角度,對這些不同的設(shè)計(jì)方法進(jìn)行對比和分析,比較不同設(shè)計(jì)方法在資源占用、時(shí)間花費(fèi)上的優(yōu)劣,從中選出最優(yōu)的設(shè)計(jì)方法。(2)復(fù)雜性問題:算法設(shè)計(jì)的復(fù)雜性主要體現(xiàn)在兩個(gè)方面,時(shí)間復(fù)雜度和空間復(fù)雜度。時(shí)間復(fù)雜度即算法從執(zhí)行到結(jié)束所經(jīng)過的時(shí)間,如何在保證算法達(dá)到應(yīng)有的計(jì)算效果的同時(shí),又能提高算法的運(yùn)行速率,也是算法設(shè)計(jì)中需要考慮的問題。算法空間復(fù)雜度通俗來講就是算法運(yùn)行時(shí)在計(jì)算機(jī)中的內(nèi)存占用,在解決一些難度較大的問題時(shí),所需要的程序語句難免會比較多,開辟的堆棧也會較多,如果計(jì)算機(jī)不能提供充分的空間,就會在一定程度上增加算法設(shè)計(jì)的難度?;谏鲜鎏攸c(diǎn),就需要進(jìn)行算法設(shè)計(jì)時(shí),也要盡可能的將算法的時(shí)間、空間復(fù)雜性降到最低,以確保算法的運(yùn)行效率以及資源占用。(3)可靠性問題:算法需要具有一定的可靠性和穩(wěn)定性,程序在運(yùn)算時(shí)并不能對所有外來輸入進(jìn)行判斷,出現(xiàn)錯誤時(shí),能不能對這些錯誤的程序片段進(jìn)行有效的控制,是算法設(shè)計(jì)可靠性與穩(wěn)定性需要解決的問題。不同的算法對每個(gè)操作步驟有不同的控制能力,要在控制能力弱的部分進(jìn)行優(yōu)化加強(qiáng),避免遇到意外的輸入導(dǎo)致算法崩潰。(4)其它問題:在進(jìn)行算法設(shè)計(jì)時(shí),除了要考慮上述主要問題外,還要結(jié)合設(shè)計(jì)要求,關(guān)注其它方面的一些個(gè)性問題。如算法設(shè)計(jì)流程的簡明性問題、適應(yīng)性問題等。只有對問題進(jìn)行綜合分析和有效處理,才能設(shè)計(jì)出更加符合實(shí)際需求的算法。在對本系統(tǒng)的振動信號處理與分析進(jìn)行算法實(shí)現(xiàn)時(shí),應(yīng)綜合考慮上述幾種問題,不能只關(guān)注程序是否得到了正確的運(yùn)算結(jié)果,還要重點(diǎn)關(guān)注程序運(yùn)算的耗時(shí)和占用的計(jì)算機(jī)資源,最終設(shè)計(jì)一套效率高,易于理解的最優(yōu)算法。3.2各功能模塊設(shè)計(jì)3.2.1主界面設(shè)計(jì)本文軟件是使用VisualStudio.NET框架來開發(fā)WinForm窗體應(yīng)用程序。先建立一個(gè)空白窗體,通過在上面添加各種控件來實(shí)現(xiàn)一些相應(yīng)的效果。在窗體左側(cè)的工具欄窗口中,VS已經(jīng)給我們提供了一些常用的控件,可以通過拖拽的形式將控件拖入空白窗體中,進(jìn)行自由的組合和排布。圖3.3至圖3.8為軟件最終的可視化界面效果圖。其中圖3.3為實(shí)時(shí)監(jiān)控界面,也是主控制界面,可控制采集的始停,并實(shí)時(shí)顯示所采集的信號波形;圖3.4為數(shù)據(jù)回放界面,可從電腦本地選取已保存的數(shù)據(jù),進(jìn)行數(shù)據(jù)回放,查看波形;圖3.5為報(bào)警信息界面,在采集過程中若出現(xiàn)比較明顯的數(shù)據(jù)峰值異常,可在本界面查看報(bào)警歷史記錄;圖3.6為定時(shí)采集設(shè)置界面,可設(shè)置采集開始和結(jié)束的時(shí)間并在該時(shí)間段內(nèi)自動完成采集任務(wù);圖3.7為主要參數(shù)設(shè)置界面,可按照不同的采集要求進(jìn)行采集方式、通道數(shù)、采樣頻率等參數(shù)的設(shè)置;圖3.8為數(shù)據(jù)分析界面,可選擇并組合不同的數(shù)據(jù)分析處理算法,對數(shù)據(jù)逐步進(jìn)行分析。圖3.3實(shí)時(shí)監(jiān)控界面圖3.4數(shù)據(jù)回放界面圖3.5報(bào)警信息界面圖3.6定時(shí)設(shè)置界面圖3.7參數(shù)設(shè)置界面圖3.8數(shù)據(jù)分析界面3.2.2數(shù)據(jù)采集設(shè)計(jì)(1)實(shí)時(shí)采樣(InstantAI)瞬時(shí)電壓讀取需要采用WinForm的定時(shí)器控件(Timer)定時(shí)觸發(fā)采集卡驅(qū)動提供的Read方法。將方法置于Timer的觸發(fā)事件Tick中,每觸發(fā)一次Tick,便得到一個(gè)數(shù)值。程序簡易流程如圖3.9所示。定時(shí)器Timer的Interval屬性表示時(shí)間間隔,接受數(shù)值為int整型,因此最小時(shí)間間隔可設(shè)為1ms,相應(yīng)的最大采樣率能達(dá)到1000Hz。在代碼運(yùn)行測試時(shí),單通道下,將Interval設(shè)置為1,即理論上1s內(nèi)Tick事件會執(zhí)行1000次,得到1000個(gè)數(shù)值,但實(shí)際保存了幾組10s的數(shù)據(jù),發(fā)現(xiàn)每組數(shù)據(jù)個(gè)數(shù)都在640左右,即每秒采樣約64個(gè),精度為15ms,與設(shè)置值相差較大。圖3.9InstantAI簡易程序流程后改用Windows封裝的另外兩種System.Timers.Timer和System.Threading.Timer定時(shí)器,發(fā)現(xiàn)精度和WinForm下的差別不大。之后嘗試用Thread.Sleep方法進(jìn)行循環(huán)等待來實(shí)現(xiàn)定時(shí),該方法最高精度同樣為1ms,實(shí)際使用時(shí)卻發(fā)現(xiàn)也有+1ms的誤差。之后查閱相關(guān)資料,發(fā)現(xiàn)在多媒體應(yīng)用上,因?yàn)閷γ恳粠瑘D像的獲取精度要求都很高,因此通常使用一種多媒體定時(shí)器MmTimer,它是一個(gè)高精度且線程分離的定時(shí)器,不依賴消息機(jī)制,具有較高的優(yōu)先級。在本文采集系統(tǒng)中實(shí)際應(yīng)用此定時(shí)器,發(fā)現(xiàn)確實(shí)也有著很好的效果。因?yàn)閃indows系統(tǒng)不是實(shí)時(shí)操作系統(tǒng),所以很難準(zhǔn)確地控制定時(shí)器精度,只能盡可能的降低誤差。表3.1為各種定時(shí)方式在1ms精度下測試采集1000個(gè)數(shù)據(jù)的耗時(shí)情況,可知采用多媒體定時(shí)器能更好的保證InstantAI采樣率的準(zhǔn)確性。表3.1各定時(shí)器使用比較(2)緩存采樣(BufferedAI)BufferedAI采用內(nèi)部時(shí)鐘采集數(shù)據(jù),不依賴外部定時(shí)器,采樣率可達(dá)上萬,數(shù)據(jù)通過設(shè)置緩沖區(qū)(Buffer)的大小進(jìn)行批量傳輸。Buffer緩沖區(qū)可被分為若干段(Section),當(dāng)開始采集時(shí),獲取的數(shù)據(jù)填入Buffer中,每當(dāng)Buffer中的一段Section被填滿,便會發(fā)出一個(gè)DataReady事件,用戶可在該事件內(nèi)調(diào)用GetData方法獲取這一段的數(shù)據(jù)。若Section個(gè)數(shù)設(shè)為0,為流式采集,需用Stop方法停止;否則為有限采集,所有Section填滿后會自動停止。流式采集程序簡易流程如圖3.10所示:圖3.10BufferedAI簡易程序流程BufferedAI的采樣率由硬件時(shí)鐘決定,舍棄實(shí)時(shí)性,可更快更多的進(jìn)行數(shù)據(jù)傳輸,之后可統(tǒng)一對數(shù)據(jù)進(jìn)行批量處理。在程序設(shè)計(jì)中,因數(shù)據(jù)傳輸量大,需注意Section不能設(shè)置過小,或DataReady事件處理代碼過于復(fù)雜,不然會使舊事件還未完成,就被新觸發(fā)的事件覆蓋,導(dǎo)致數(shù)據(jù)丟失;若采樣率設(shè)置過高,也會導(dǎo)致硬件緩存溢出,丟失數(shù)據(jù)同時(shí)也加重硬件負(fù)擔(dān)。(3)定時(shí)采樣為方便使用,軟件在原有的采集功能上,加入了定時(shí)采集功能,不必人為控制采集的始停,用戶可通過設(shè)置當(dāng)天的一個(gè)時(shí)間段,當(dāng)系統(tǒng)時(shí)間到達(dá)指定開始時(shí)間后,會自動開始采集,到達(dá)設(shè)定結(jié)束時(shí)間后自動結(jié)束,該段時(shí)間內(nèi)采集到的數(shù)據(jù)也會自動保存到本地.txt文檔中,用戶可直接拿到進(jìn)行后續(xù)分析。以InstantAI為例的定時(shí)采集程序簡易流程如圖3.11所示:圖3.11InstantAI定時(shí)采集簡易程序流程3.2.3波形顯示設(shè)計(jì)軟件使用GDI+的Graphics類進(jìn)行繪圖,用PictureBox控件進(jìn)行動態(tài)波形顯示。因采集時(shí)會隨時(shí)獲得新的數(shù)據(jù),繪圖需實(shí)時(shí)循環(huán)更新,本文使用List集合進(jìn)行數(shù)據(jù)的傳輸和存放,該集合是一個(gè)可以動態(tài)增減成員的數(shù)組,可自動擴(kuò)展成員個(gè)數(shù),比普通數(shù)組更加方便效率。其程序簡易流程如圖3.12所示。先建立一張位圖Bitmap(bmp),每次獲得數(shù)據(jù),便將數(shù)據(jù)添加到List集合中,并轉(zhuǎn)為坐標(biāo)點(diǎn)傳入繪圖方法DrawCurve中,當(dāng)滿三個(gè)點(diǎn)時(shí)開始在bmp中畫曲線,最后將bmp設(shè)置為PictureBox控件背景并實(shí)時(shí)更新顯示。圖3.12波形繪制簡易程序流程當(dāng)集合中的數(shù)據(jù)個(gè)數(shù)大于屏幕顯示的最大寬度量時(shí),刪除之前面顯示過數(shù)據(jù),重新繪制新的數(shù)據(jù),這樣既實(shí)現(xiàn)了波形動態(tài)移動的效果,又避免了數(shù)據(jù)不斷積累從而占用內(nèi)存。程序啟動時(shí),會先初始化顯示窗口為長和寬均十等分的網(wǎng)格,等開始采集時(shí),采集到的振動數(shù)據(jù)會以波形顯示在窗口中;對于已有的數(shù)據(jù),也可以通過數(shù)據(jù)回放功能在回放窗口中重新進(jìn)行波形繪圖顯示。3.2.4數(shù)據(jù)存儲設(shè)計(jì)BufferedAI能提供較高的采樣率,為防止在長時(shí)間持續(xù)高采樣率下因數(shù)據(jù)量過大導(dǎo)致過高的內(nèi)存占用,采集到的數(shù)據(jù)不能一直存放在內(nèi)存中,若數(shù)據(jù)過多,需要及時(shí)轉(zhuǎn)移到本地,以釋放內(nèi)存。通過實(shí)驗(yàn)測試,在10000hz采樣率下,1min采集的數(shù)據(jù)占用了8M字節(jié),如此換算2h后便可達(dá)到GB級,若實(shí)際項(xiàng)目所需采樣率更高,采樣時(shí)間更長,則更需要考慮內(nèi)存溢出問題。本文方法是在數(shù)據(jù)用于圖像顯示之前,先保存為本地.dat文件寫入到程序目錄下的Data文件夾中,在保存時(shí)使用二進(jìn)制加密方法來保護(hù)數(shù)據(jù);在顯示時(shí),當(dāng)波形滿屏后,刪除掉存放數(shù)據(jù)的集合中之前已顯示過的數(shù)據(jù),這樣既保存了所有數(shù)據(jù),也不會造成過高的內(nèi)存占用。其簡易流程如圖3.13所示:每當(dāng)一段采集結(jié)束,便會在本地生成一個(gè).dat文件,使用該文件可以進(jìn)行數(shù)據(jù)回放,也可通過數(shù)據(jù)保存按鈕選擇需要提取的.dat文件及保存路徑,軟件會將其另存為未加密的.txt文檔,方便進(jìn)行后續(xù)的數(shù)據(jù)查看與分析。3.2.5異常報(bào)警設(shè)計(jì)BufferedAI方式由于數(shù)據(jù)量太大,相應(yīng)波形顯示的也快,因此很難用肉眼直接觀測到波形異常,只能拿到一段數(shù)據(jù)后通過后續(xù)分析來判斷該段時(shí)間內(nèi)是否存在異常情況。為了使用戶能夠在高速采集下也能及時(shí)捕捉到可能的異常,本文實(shí)現(xiàn)了一個(gè)BufferedAI采集下的異常報(bào)警功能。電機(jī)沿軸轉(zhuǎn)動,其產(chǎn)生的振動信號在時(shí)域上具有一定的周期性,當(dāng)電機(jī)出現(xiàn)異常時(shí),其振動信號在幅值上會有較為明顯的變化。BufferedAI的數(shù)據(jù)是以一個(gè)Section為單位批量傳輸?shù)?,我們將Section大小設(shè)置為一個(gè)周期的數(shù)據(jù)量,通過記錄每段Section數(shù)據(jù)中的邊界值和平均值,同時(shí)設(shè)立一個(gè)閾值,當(dāng)新來的一組數(shù)據(jù)邊界值超過這個(gè)閾值時(shí),則認(rèn)為該段數(shù)據(jù)存在異常值,記錄該異常值以及出現(xiàn)時(shí)間,在報(bào)警提示窗口中記錄顯示并存入程序目錄Log文件夾的log文件中,之后再比較后續(xù)數(shù)據(jù),若之后數(shù)據(jù)恢復(fù)到邊界之內(nèi),則可視為設(shè)備受到了臨時(shí)外界干擾;若異常一直持續(xù),則提示設(shè)備可能損壞,提醒用戶及時(shí)排查異常。異常報(bào)警程序簡易流程如圖3.14所示:另外,該功能只能對比較明顯的峰值異常作出識別并報(bào)警,其他如頻率出現(xiàn)變化等情況并不適用,對于復(fù)雜的異常情況仍需要配合額外的數(shù)據(jù)分析功能來進(jìn)行判斷。3.2.6數(shù)據(jù)分析設(shè)計(jì)軟件采集到振動數(shù)據(jù)后,接下來就需要實(shí)現(xiàn)數(shù)據(jù)的分析和處理,判斷數(shù)據(jù)是否存在異常。因?yàn)閿?shù)字信號處理相關(guān)算法運(yùn)行以及可視化效果在MATLAB軟件上更為簡便高效,因此在數(shù)據(jù)分析模塊設(shè)計(jì)上選擇通過本文軟件調(diào)用MATLAB的程序的方式來實(shí)現(xiàn),這就涉及到了VisualStudio與MATLAB之間的連接問題,經(jīng)過嘗試發(fā)現(xiàn),MATLAB可以將其.m程序文件打包編譯成為.dll動態(tài)鏈接庫文件供VS使用,不必開啟MATLAB軟件,便可在該上位機(jī)軟件上運(yùn)行MATLAB的數(shù)據(jù)分析程序,進(jìn)行振動信號的分析。但.dll文件的調(diào)用和實(shí)現(xiàn)并不能脫離MATLAB的Runtime運(yùn)行環(huán)境,所以此方法仍需要保證計(jì)算機(jī)中有MATLAB運(yùn)行環(huán)境。首先需要將MATLAB的數(shù)據(jù)分析程序.m封裝成Function函數(shù),然后使用應(yīng)用程序部署里的LibraryComplier工具,選擇.NETAssembly類型,并自定義好函數(shù)名,之后便可將其打包編譯成C#程序可用的.dll文件,在C#程序中添加該.dll引用,便可調(diào)用并運(yùn)行.m中的函數(shù);在傳入輸入?yún)?shù)時(shí),也需要引用MATLAB自身的MWArray.dll文件,將C#中Double類型的數(shù)據(jù)轉(zhuǎn)換成MATLAB函數(shù)支持的MWArray類型,才可正確地將輸入傳入分析函數(shù),完成對數(shù)據(jù)的分析。分析程序流程為:選擇好待分析的數(shù)據(jù),可先查看其原始波形,通過時(shí)頻分析方法查看時(shí)頻特性,再用特征提取方法提取相關(guān)特征,最后使用分類識別方法對原數(shù)據(jù)進(jìn)行分類。圖3.15為以小波頻帶能量累加法和SVM分類為例的數(shù)據(jù)分析簡易流程圖,其函數(shù)都是通過.dll文件來調(diào)用MATLAB的原函數(shù)實(shí)現(xiàn),因此得到的結(jié)果以及顯示的形式也都和MATLAB中的運(yùn)行效果相同。圖3.15數(shù)據(jù)分析簡易程序流程4結(jié)論本文的研究是通過建立電機(jī)狀態(tài)監(jiān)測與故障診斷系統(tǒng)的硬件與軟件平臺來實(shí)現(xiàn)電機(jī)振動信號的采集與分析,從而及時(shí)的發(fā)現(xiàn)故障并進(jìn)行異常分析判斷,有著很大的實(shí)際應(yīng)用價(jià)值。(1)系統(tǒng)硬件部分的設(shè)計(jì)。在對現(xiàn)有的多數(shù)系統(tǒng)的硬件平臺進(jìn)行認(rèn)真分析的基礎(chǔ)上,根據(jù)硬件的便攜性、可靠性以及性價(jià)比進(jìn)行綜合對比,對各個(gè)硬件進(jìn)行了較好地選型與搭配。在傳感器上,本文對其選擇原則進(jìn)行了深入的解釋說明,為不同情況下傳感器的選用提供了有效的判定方法,最終選用了精度高、體積小的加速度傳感器;在信號調(diào)理上,設(shè)計(jì)了信號放大電路,對傳感器的輸出信號進(jìn)行放大;在數(shù)據(jù)采集上,根據(jù)采集的速度、精度以及設(shè)備的便攜性,選用了性能較高的研華數(shù)據(jù)采集卡;在電腦終端設(shè)備上,同樣以輕量化、高性價(jià)比的原則選用了能支持蜂窩網(wǎng)絡(luò)信號傳輸?shù)那度胧焦た貦C(jī),實(shí)現(xiàn)對采集數(shù)據(jù)的處理、存儲與傳輸。整個(gè)硬件系統(tǒng)結(jié)構(gòu)簡單、安裝便捷、性價(jià)比高,具有推廣應(yīng)用前景。(2)系統(tǒng)軟件部分的設(shè)計(jì)。棄用了研華數(shù)據(jù)采集卡的自帶軟件,使用VisualStudio2019開發(fā)工具,用C#語言重新設(shè)計(jì)功能更多、性能

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論