蘇雷皓,朱明華
(1.教育部軟硬件協(xié)同設(shè)計技術(shù)與應(yīng)用工程研究中心(華東師范大學(xué)),上海 200062; 2.上海物聯(lián)網(wǎng)有限公司,上海 201899)(*通信作者電子郵箱mhzhu@sei.ecnu.edu.cn)
振動檢測技術(shù)廣泛應(yīng)用于動力系統(tǒng)、火車軌道、橋梁道路等領(lǐng)域,保證了工業(yè)生產(chǎn)和日常生活的順利進(jìn)行[1-2]。20世紀(jì)末,日本某公司電廠600 MW的3號汽輪發(fā)電機(jī)組因異常振動引發(fā)了斷軸、毀機(jī)的嚴(yán)重事故。在軌道交通領(lǐng)域,近年來隨著火車不斷提速和運(yùn)輸強(qiáng)度增長,軌道振動檢測系統(tǒng)也不斷發(fā)展進(jìn)步,許多軌道病害形成的原因在檢測數(shù)據(jù)的科學(xué)分析中得到了確認(rèn),病害處理比較徹底,極大地保證了鐵路橋梁的安全運(yùn)營。由此可見,振動檢測系統(tǒng)對生產(chǎn)設(shè)施的日常維護(hù)和重大事故的預(yù)防具有重要意義。
但是當(dāng)前的振動檢測系統(tǒng)在實(shí)時性、可控性、檢測精度等方面存在不足:1)由于需要網(wǎng)絡(luò)傳輸?shù)恼駝訑?shù)據(jù)量大、工作站計算量大而造成系統(tǒng)實(shí)時性差。Molodova等[3]提出了基于軸箱加速度測量的鐵路質(zhì)量自動檢測系統(tǒng),可以初步實(shí)現(xiàn)對不同振動故障的分類;但是該設(shè)計將檢測節(jié)點(diǎn)的大量原始數(shù)據(jù)全部傳輸?shù)焦ぷ髡?,網(wǎng)絡(luò)負(fù)載大,難以保證實(shí)時性。2)當(dāng)前的檢測系統(tǒng)沒能對中大規(guī)模系統(tǒng)內(nèi)的振動檢測節(jié)點(diǎn)進(jìn)行有效管理,難以保證振動現(xiàn)場傳感器網(wǎng)絡(luò)的可控性與穩(wěn)定性。陳高杰[4]提出的基于ZigBee技術(shù)的無線通信橋梁振動檢測系統(tǒng)方案具有安裝使用靈活等優(yōu)點(diǎn);但是這種無線通信方案難以保證穩(wěn)定性,并且數(shù)據(jù)速率較低、通信范圍較小,較難滿足對中大規(guī)模振動現(xiàn)場的檢測需求。3)當(dāng)前主流的檢測系統(tǒng)精度較低。Herranen等[5]在2014年設(shè)計的振動檢測設(shè)備精度約為0.488 mg;Tang等[6]在2016年設(shè)計的加速度跟蹤方法精度約為0.061mg,難以滿足當(dāng)前某些檢測任務(wù)需求。
采用過程現(xiàn)場總線(Process field bus, Profibus)協(xié)議有利于提高系統(tǒng)的可控性與穩(wěn)定性。Profibus協(xié)議在工業(yè)控制領(lǐng)域應(yīng)用比較廣泛,與其他現(xiàn)場總線技術(shù)比較,Profibus的主要優(yōu)勢是通過了權(quán)威的國際標(biāo)準(zhǔn)EN50170的認(rèn)證,并已經(jīng)應(yīng)用于實(shí)時控制、制造加工以及工業(yè)流程自動化等領(lǐng)域[7]。陳靜[8]設(shè)計的用于火電廠主工藝和輔助車間的控制系統(tǒng)應(yīng)用了Profibus技術(shù),滿足了Profibus控制系統(tǒng)在網(wǎng)絡(luò)結(jié)構(gòu)、控制方式、可靠性等方面的技術(shù)要求。若能在振動檢測設(shè)備上實(shí)現(xiàn)Profibus協(xié)議,則有助于實(shí)現(xiàn)檢測設(shè)備的功能定制開發(fā)和對傳感網(wǎng)絡(luò)有效管理。
采用RT-Thread系統(tǒng)內(nèi)核有助于提高系統(tǒng)的實(shí)時性。RT-Thread是中國開源社區(qū)主導(dǎo)開發(fā)的面向小型、低功耗設(shè)備的開源嵌入式實(shí)時操作系統(tǒng)。RT-Thread開發(fā)了統(tǒng)一的硬件抽象層、設(shè)備驅(qū)動框架、傳感器框架來解決硬件多樣化、碎化的問題,具有實(shí)時性高、占用硬件資源小、功能可裁剪等優(yōu)點(diǎn)[9]。汪宇辰[10]設(shè)計的智能輪式機(jī)器人使用RT-Thread操作系統(tǒng)進(jìn)行開發(fā),充分發(fā)揮了該系統(tǒng)的實(shí)時性與穩(wěn)定性優(yōu)勢,使輪式機(jī)器人具備優(yōu)異的平衡性能,具有較高的研究價值。傳統(tǒng)方法大多在微控制器上采用無操作系統(tǒng)的“裸機(jī)”方式開發(fā)任務(wù)程序,這種方式開發(fā)效率低、多任務(wù)時難以保證實(shí)時性,本文采用RT-Thread系統(tǒng)有助于高效開發(fā)和提高系統(tǒng)的實(shí)時性。
綜上所述,基于當(dāng)前振動檢測系統(tǒng)存在的問題和對現(xiàn)場總線協(xié)議及實(shí)時嵌入式系統(tǒng)的研究。為了解決振動檢測系統(tǒng)延遲大、傳感網(wǎng)絡(luò)可控性差、檢測精度低等問題,本文設(shè)計了一種基于Profibus技術(shù)的振動檢測系統(tǒng),主要有以下特點(diǎn):1)為保證振動傳感網(wǎng)絡(luò)的魯棒性和可控性,本設(shè)計采用Profibus協(xié)議,即在振動檢測設(shè)備上實(shí)現(xiàn)了Profibus協(xié)議。2)在每個振動傳感器節(jié)點(diǎn)處實(shí)現(xiàn)卡爾曼濾波、快速傅里葉變換等復(fù)雜計算,減輕了傳感網(wǎng)絡(luò)負(fù)載和工作站的計算壓力,有助于提高系統(tǒng)的實(shí)時性和計算能力。3)為保證檢測設(shè)備的實(shí)時性和穩(wěn)定性,采用RT-Thread實(shí)時嵌入式系統(tǒng)內(nèi)核實(shí)現(xiàn)資源分配和任務(wù)調(diào)度。
結(jié)合Profibus技術(shù)架構(gòu)和對振動檢測系統(tǒng)開發(fā)經(jīng)驗(yàn),本文設(shè)計提出的振動檢測系統(tǒng)架構(gòu)如圖1所示,工作站電腦通過虛擬“路由器”的方式與可編程邏輯控制器(Programmable Logic Controller, PLC)主站連接,PLC主站通過Profibus與振動檢測設(shè)備連接。本文系統(tǒng)主要實(shí)現(xiàn)了對振動的采集、振動數(shù)據(jù)處理和計算、數(shù)據(jù)傳輸?shù)裙δ?,為后期振動狀態(tài)診斷奠定基礎(chǔ)。該設(shè)計可應(yīng)用于中大規(guī)模振動檢測場景,如火車軌道振動檢測、大型器械振動檢測等領(lǐng)域。
圖1 振動檢測系統(tǒng)的結(jié)構(gòu)
振動檢測設(shè)備軟件功能設(shè)計如圖2所示,由振動數(shù)據(jù)采集、數(shù)據(jù)處理、重要數(shù)據(jù)存儲、網(wǎng)絡(luò)控制與數(shù)據(jù)傳輸協(xié)議、異常預(yù)報警等部分組成,通過輕量級的RT-Thread實(shí)時嵌入式系統(tǒng)內(nèi)核實(shí)現(xiàn)任務(wù)管理與對微控制器的資源分配。
圖2 振動檢測設(shè)備功能設(shè)計
振動檢測設(shè)備的設(shè)計是本系統(tǒng)設(shè)計的重要環(huán)節(jié),圖2中振動檢測設(shè)備功能設(shè)計的具體描述如下:
1)振動數(shù)據(jù)采集。采用高性能振動傳感器來進(jìn)行振動數(shù)據(jù)的采集,它的檢測精度可達(dá)0.003 9 mg,采樣頻率可達(dá)500 Hz。
2)振動數(shù)據(jù)處理。數(shù)據(jù)處理包含數(shù)據(jù)預(yù)處理、卡爾曼濾波、快速傅里葉變換(Fast Fourier Transformation, FFT)等。本設(shè)計選用的微控制器集成了數(shù)字信號處理器,可硬件實(shí)現(xiàn)部分復(fù)雜計算,速度快。
3)重要數(shù)據(jù)存儲。每個節(jié)點(diǎn)的配置信息等重要數(shù)據(jù)保存在存儲器中,可實(shí)現(xiàn)掉電保存。
4)網(wǎng)絡(luò)控制與數(shù)據(jù)傳輸。本設(shè)計采用Profibus協(xié)議實(shí)現(xiàn)對傳感器網(wǎng)絡(luò)的控制與數(shù)據(jù)傳輸。
5)可通過串口協(xié)議輸出設(shè)備當(dāng)前的狀態(tài)信息。
6)異常預(yù)報警。可通過數(shù)字模擬轉(zhuǎn)換器輸出模擬信號,可通過光耦隔離輸出數(shù)字信號,根據(jù)振動情況實(shí)現(xiàn)必要的現(xiàn)場控制與報警。
振動檢測設(shè)備實(shí)際的開發(fā)過程中的主要難點(diǎn)在于:1)數(shù)據(jù)處理與計算較復(fù)雜,如FFT、卡爾曼濾波等,在有限的微控制器資源內(nèi)難以保證實(shí)時性;2)需要支持Profibus協(xié)議,該協(xié)議的實(shí)現(xiàn)和調(diào)試難度大;3)采集振動數(shù)據(jù)時要求精度高(不低于0.01 mg),采樣頻率高(不低于400 Hz)。
在RT-Thread實(shí)時操作系統(tǒng)中用線程的方式完成各種任務(wù),具有任務(wù)執(zhí)行上下文和優(yōu)先級等信息的線程是RT-Thread的基本調(diào)度單位。為了保證系統(tǒng)任務(wù)的有序執(zhí)行,在設(shè)計時可以把緊急任務(wù)的優(yōu)先級設(shè)置高一些,并適當(dāng)放低非實(shí)時任務(wù)的優(yōu)先級。在RT-Thread中,線程調(diào)度器是基于優(yōu)先級的全搶占方式:除了中斷服務(wù)例程、調(diào)度器上鎖等線程不允許搶占,系統(tǒng)中的其他線程任務(wù)都允許搶占[11-12]。
如圖3所示,RT-Thread實(shí)時系統(tǒng)中的線程包含初始化、就緒、運(yùn)行、掛起、關(guān)閉這5種狀態(tài),系統(tǒng)能夠根據(jù)線程運(yùn)行的情況動態(tài)調(diào)整線程狀態(tài)。例如線程通過調(diào)用接口rt_thread_init進(jìn)入到初始狀態(tài)(initial),通過調(diào)用接口rt_thread_startup進(jìn)入到就緒狀態(tài)(ready)。RT-Thread系統(tǒng)的內(nèi)存管理根據(jù)任務(wù)需求和系統(tǒng)資源的不同提供了不同的內(nèi)存分配管理算法,主要分為兩類:靜態(tài)分區(qū)內(nèi)存管理與動態(tài)內(nèi)存管理。在動態(tài)內(nèi)存管理中采用適用于小內(nèi)存塊的“小內(nèi)存管理算法”和適用于大內(nèi)存塊的“Slab內(nèi)存管理算法”等內(nèi)存管理方式。
圖3 RT-Thread的線程狀態(tài)轉(zhuǎn)換
本設(shè)計在振動檢測設(shè)備上開發(fā)實(shí)現(xiàn)了RT-Thread實(shí)時操作系統(tǒng)內(nèi)核,保證了振動檢測設(shè)備的實(shí)時性和穩(wěn)定性。為保證實(shí)時性和系統(tǒng)性能最優(yōu),本設(shè)計將振動檢測設(shè)備的整體功能劃分為振動數(shù)據(jù)獲取、數(shù)據(jù)處理、Profibus協(xié)議收發(fā)等多線程任務(wù),線程間大多采用消息隊(duì)列的方式實(shí)現(xiàn)線程間通信。此外,本系統(tǒng)把RT-Thread內(nèi)核與微控制器硬件資源(定時器)融合改進(jìn)設(shè)計:在振動數(shù)據(jù)獲取時需要每秒采集400次數(shù)據(jù),即2.5 ms采集一次,但是RT-Thread內(nèi)核默認(rèn)的系統(tǒng)時間片為10 ms,不能滿足要求;而微控制器中的定時器可以實(shí)現(xiàn)微秒級計時,可滿足要求。若將系統(tǒng)的時間片改小,則會嚴(yán)重影響系統(tǒng)性能,增加功耗,因此本設(shè)計在此線程任務(wù)中融合使用微控制器的定時器資源和RT-Thread內(nèi)核,在線程任務(wù)中控制定時器完成所需任務(wù)。該改進(jìn)設(shè)計的具體實(shí)現(xiàn)方法如下:1)振動數(shù)據(jù)采集任務(wù)線程啟動后,開啟微控制器的一個定時器,利用微控制器的定時中斷機(jī)制以固定頻率(比如400 Hz)讀取振動傳感器的數(shù)據(jù),并將讀到的數(shù)據(jù)依次放入到??臻g中。與此同時,該振動數(shù)據(jù)采集任務(wù)線程通過調(diào)用函數(shù)rt_mq_recv進(jìn)入掛起狀態(tài),等待定時器數(shù)據(jù)采集完成后發(fā)出消息。2)數(shù)據(jù)采集任務(wù)完畢后(比如已完成連續(xù)采集512個振動數(shù)據(jù)任務(wù)),定時器中斷服務(wù)例程會調(diào)用函數(shù)rt_mq_send給數(shù)據(jù)采集任務(wù)線程發(fā)送消息,同時自動關(guān)閉定時器。3)數(shù)據(jù)采集任務(wù)線程收到該消息后會進(jìn)入就緒狀態(tài),進(jìn)而讀取??臻g的振動數(shù)據(jù)并進(jìn)行后續(xù)處理。
系統(tǒng)軟件流程如圖4所示,系統(tǒng)上電后開始系統(tǒng)內(nèi)核初始化,為整個系統(tǒng)系統(tǒng)穩(wěn)定運(yùn)行奠定基礎(chǔ)。然后對振動傳感器、串口等各個功能模塊進(jìn)行初始化,為系統(tǒng)所需的功能實(shí)現(xiàn)作好準(zhǔn)備。緊接著初始化Profibus協(xié)議,為數(shù)據(jù)傳輸作準(zhǔn)備。然后進(jìn)入振動數(shù)據(jù)采集和振動數(shù)據(jù)處理環(huán)節(jié),最后通過Profibus協(xié)議進(jìn)行數(shù)據(jù)傳輸與系統(tǒng)管理。
此外,振動檢測設(shè)備可以根據(jù)部分特征值對振動狀態(tài)進(jìn)行預(yù)診斷,常用的特征值如峰峰值、FFT后最大幅值及對應(yīng)的頻率、均方根值等,若發(fā)現(xiàn)異??闪⒓磮缶?,并通知工作站,實(shí)現(xiàn)快速對現(xiàn)場進(jìn)行保護(hù)。振動檢測設(shè)備可通過串口輸出自身的狀態(tài)信息,并把重要數(shù)據(jù)保存在存儲器中。
圖4 系統(tǒng)軟件流程
一個Profibus網(wǎng)絡(luò)一般由一個主站和多個從站組成,在本設(shè)計中,PLC主站作為Profibus網(wǎng)絡(luò)中的主站,振動檢測設(shè)備作為從站。主站的參數(shù)配置包括參數(shù)化數(shù)據(jù)和主站所控制的從站信息,并且只和屬于自己的從站建立通信,主站可以根據(jù)參數(shù)化和組態(tài)這兩個報文確定屬于自己的從站。系統(tǒng)啟動后主站通過組態(tài)時設(shè)置的波特率與從站建立通信,同時從站會利用專用集成電路自動適應(yīng)主站報文的通信波特率。在通信過程中從站實(shí)時分析收到的每個報文,若有異常的報文信息可以自動把輸出設(shè)置到安全模式,此時主站也會利用診斷報文及時發(fā)現(xiàn)異常。
從站的狀態(tài)機(jī)由“上電”“等待參數(shù)初始化”“等待組態(tài)”“數(shù)據(jù)交換”四部分組成。系統(tǒng)啟動后,從站接收主站發(fā)出的“設(shè)置從站地址”報文,并且只有此時從站能夠改變地址號。本設(shè)計把默認(rèn)或者重新配置的從站地址保存在從站(振動檢測設(shè)備)的存儲器中,能夠?qū)崿F(xiàn)掉電保存。然后從站進(jìn)入等待參數(shù)化狀態(tài),此時從站可以接收參數(shù)化報文或者診斷請求報文,并且自動屏蔽其他報文。其中參數(shù)化報文包含是否支持同步或者鎖定方式等標(biāo)準(zhǔn)化的信息以及其他用戶定義的功能信息。參數(shù)化完成后進(jìn)入等待組態(tài)階段,主站發(fā)出的組態(tài)報文定義了數(shù)據(jù)交換的輸入/輸出的字節(jié)數(shù)等信息,從站會檢查是否能匹配該組態(tài)報文并反饋給主站。如果從站接受了參數(shù)化和組態(tài)報文說明通信組態(tài)成功,之后主站和從站自動進(jìn)入數(shù)據(jù)交換狀態(tài)。
在振動檢測設(shè)備上開發(fā)實(shí)現(xiàn)Profibus協(xié)議時,首先對相關(guān)軟硬件進(jìn)行初始化設(shè)置,采用SPI方式與Profibus協(xié)議芯片實(shí)現(xiàn)通信控制,然后由RT-Thread內(nèi)核線程輪詢以下接口任務(wù):1)看門狗定時器翻轉(zhuǎn),實(shí)現(xiàn)“喂狗”;2)查詢Profibus事件,獲取當(dāng)前狀態(tài);3)進(jìn)入Profibus從站狀態(tài)機(jī),根據(jù)不同狀態(tài)執(zhí)行相應(yīng)任務(wù);4)判斷是否有Profibus中斷緊急事件,若有則執(zhí)行相應(yīng)任務(wù)。本研究中的振動數(shù)據(jù)處理后有較多浮點(diǎn)型數(shù)據(jù)(float型,占用4 B),在實(shí)際應(yīng)用中多采用字符串形式(一般大于4 B)傳輸浮點(diǎn)型數(shù)據(jù),這種方式雖然處理簡單,但是會損失精度、增大數(shù)據(jù)傳輸量。在本設(shè)計中采用共同體的數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)對浮點(diǎn)型數(shù)據(jù)的存儲和“壓縮”傳輸,并在PLC主站“接收端”進(jìn)行相應(yīng)的“解壓縮”處理,因此傳輸每個浮點(diǎn)型數(shù)據(jù)僅占用4字節(jié),即保證了精度,又降低了數(shù)據(jù)傳輸量。
一般來講,每個振動檢測系統(tǒng)至少有幾十甚至幾百個振動檢測設(shè)備節(jié)點(diǎn)。若每個節(jié)點(diǎn)的檢測數(shù)據(jù)都交給工作站電腦處理計算,會給工作站電腦帶來巨大的負(fù)擔(dān),再加上傳感器網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)难舆t,會使整個系統(tǒng)的實(shí)時性變差甚至使系統(tǒng)崩潰。
本文對振動檢測系統(tǒng)的數(shù)據(jù)處理改進(jìn)設(shè)計如圖5所示,與傳統(tǒng)的振動檢測系統(tǒng)相比,本文系統(tǒng)在每個檢測設(shè)備節(jié)點(diǎn)處實(shí)現(xiàn)了一些必要的數(shù)據(jù)處理和計算。以400 Hz的采樣頻率為例,若采用傳統(tǒng)的檢測系統(tǒng),單個檢測設(shè)備在傳感網(wǎng)絡(luò)中每秒需要傳輸?shù)臄?shù)據(jù)約400個;若采用本文設(shè)計的改進(jìn)型檢測系統(tǒng),只需要傳輸峰峰值、FFT后最大幅值對應(yīng)的頻率、均方根值等約20個數(shù)據(jù),因此傳感網(wǎng)絡(luò)的負(fù)載降低了約95%,縮短了網(wǎng)絡(luò)傳輸時間和工作站的計算時間,提高了整個系統(tǒng)的計算能力和實(shí)時性。
圖5 振動檢測系統(tǒng)的數(shù)據(jù)處理改進(jìn)設(shè)計
振動檢測設(shè)備中的數(shù)據(jù)處理過程如圖6所示。
圖6 振動檢測設(shè)備中的數(shù)據(jù)處理過程
傳統(tǒng)的設(shè)計一般僅輸出振動傳感器數(shù)據(jù)。在本設(shè)計中,檢測到原始數(shù)據(jù)后,首先進(jìn)行零點(diǎn)校正和卡爾曼濾波等預(yù)處理,以求得更真實(shí)的振動數(shù)據(jù)。然后進(jìn)行數(shù)據(jù)處理和計算,在時域信號中可以求得峰峰值、均方根等特征參數(shù),但精準(zhǔn)的振動診斷還需要FFT后最大幅值及對應(yīng)的頻率、能量譜密度等頻域中的特征參數(shù),所以有必要進(jìn)行數(shù)字濾波和幅頻變換等處理。最后若發(fā)現(xiàn)異常的數(shù)據(jù),則進(jìn)行預(yù)報警。
在實(shí)際應(yīng)用中,直接從傳感器讀取的原始數(shù)據(jù)與仿真時的數(shù)據(jù)差距較大,原始數(shù)據(jù)一般是離散的,并且往往含有許多壞值[13]。若將這些數(shù)據(jù)直接輸給控制器,將嚴(yán)重影響控制效果,甚至?xí)頌?zāi)難性后果,所以對傳感器數(shù)據(jù)的預(yù)處理非常重要。
卡爾曼濾波算法已被廣泛應(yīng)用。該算法以最小均方差為估計的最佳準(zhǔn)則,將被關(guān)心的隨機(jī)過程用狀態(tài)空間概念來描述,采用遞推估計算法估計多個狀態(tài)變量,可以實(shí)現(xiàn)較好的實(shí)時濾波效果[14]??柭鼮V波采用振動傳感器的典型應(yīng)用是從一組有限的并且包含噪聲的物體位置觀察序列(該序列可能有一定偏差)預(yù)測出物體的速度及位置信息。
由于振動場景一般是非線性系統(tǒng),所以本設(shè)計采用擴(kuò)展卡爾曼濾波算法對振動數(shù)據(jù)進(jìn)行處理,濾波效果如圖7所示。由圖7可以看出,原始的振動傳感器測量值有較多壞值和毛刺,若不作處理會嚴(yán)重影響后續(xù)峰峰值等計算的正確性。經(jīng)過擴(kuò)展卡爾曼濾波后的數(shù)據(jù)更加平滑真實(shí),更能反映實(shí)際的振動特征,有效過濾掉了一些雜波,有利于后續(xù)的數(shù)據(jù)處理。
圖7 擴(kuò)展卡爾曼濾波處理
為了提高系統(tǒng)的計算能力和實(shí)時性,減輕工作站的計算壓力和傳感網(wǎng)絡(luò)負(fù)載,本設(shè)計在每個檢測設(shè)備節(jié)點(diǎn)處實(shí)現(xiàn)了一些必要的數(shù)據(jù)處理和計算,對振動數(shù)據(jù)處理的部分計算式如下所示:
其中:k=0,1,…,N/2-1。
(1)
快速傅里葉變換把時域信號轉(zhuǎn)換成頻域信號,從而獲得FFT后的最大幅值及對應(yīng)的頻率等在頻域中的特征信息,其計算方法如式(1)所示。X(k)=DFT[x(n)],x(n)為有限長度為N的振動信號數(shù)據(jù),DFT[]為離散傅里葉變換(Discrete Fourier Transform, DFT)。盡管傳統(tǒng)的DFT能夠獲取頻域特征,但是它的計算量大、耗時長,嚴(yán)重影響實(shí)時性,所以在本設(shè)計中使用了快速傅里葉變換,把運(yùn)算復(fù)雜度從N2減少到N*lbN。
功率譜密度的定義是單位頻帶內(nèi)的“功率”,功率譜密度譜是采用概率統(tǒng)計方法實(shí)現(xiàn)對隨機(jī)變量均方值的量度,計算方法如式(2)所示:
(2)
其中x(n)為有限長度為N的振動信號數(shù)據(jù),功率譜密度在隨機(jī)振動分析領(lǐng)域中應(yīng)用普遍。本設(shè)計采用的微控制器集成了數(shù)字信號處理器,本節(jié)內(nèi)容所述的FFT等復(fù)雜計算可由微控制器硬件實(shí)現(xiàn),在計算時直接調(diào)用相關(guān)庫函數(shù)即可,縮短了計算時間,提高了計算的可靠性。
本系統(tǒng)的所有功能都已通過嚴(yán)格測試,在本章只呈現(xiàn)較重要功能的實(shí)現(xiàn)與測試。所需硬件平臺:1)工作站電腦(Windows 7系統(tǒng));2)PLC控制器套件,作為現(xiàn)場總線協(xié)議的主站;3)振動檢測設(shè)備,是自主設(shè)計并生產(chǎn)的振動檢測設(shè)備。所需軟件平臺:1)振動檢測設(shè)備軟件;2)PLC控制器開發(fā)平臺;3)Matlab工具。
本設(shè)計振動檢測系統(tǒng)實(shí)驗(yàn)平臺如圖8所示,“1”是工作站電腦,“2”是PLC主站,“3”是振動檢測設(shè)備,“4”是直流穩(wěn)壓電源。將振動檢測設(shè)備固定在振動平臺上,實(shí)現(xiàn)下文中系統(tǒng)的整體測試。
圖8 振動檢測系統(tǒng)實(shí)驗(yàn)平臺
本系統(tǒng)已經(jīng)實(shí)現(xiàn)Profibus協(xié)議,其中振動檢測設(shè)備作為從站,PLC控制器設(shè)備作為主站,其功能測試結(jié)果如圖9所示。首先在PLC控制器開發(fā)平臺可看到振動檢測設(shè)備的狀態(tài)為“No error”,并且此時PLC中Profibus主站模塊常亮綠燈,說明Profibus協(xié)議工作正常。然后進(jìn)行了大量的Profibus協(xié)議數(shù)據(jù)收發(fā)測試,所有數(shù)據(jù)與預(yù)期結(jié)果一致,進(jìn)一步說明Profibus協(xié)議工作正常。
圖9 Profibus通信功能測試
為充分說明Profibus協(xié)議的可控性,本文設(shè)計還對該系統(tǒng)進(jìn)行了大量故障測試,比如故意將某個振動檢測設(shè)備的Profibus接線反接,測試效果如圖10所示,PLC主站會快速提示“Server bus fault”,并顯示已有1 300個通信報文Profibus從站未回應(yīng)。本文設(shè)計通過對Profibus協(xié)議的全面測試說明它有效提升了系統(tǒng)的可控性與穩(wěn)定性。
圖10 Profibus通信故障測試
為方便操作和使用,本研究為該系統(tǒng)設(shè)計了振動檢測系統(tǒng)上位機(jī)。上位機(jī)運(yùn)行在工作站電腦上,操作界面如圖11(a)所示:“Station No.”代表振動檢測設(shè)備的設(shè)備號;“Display Mode”代表振動數(shù)據(jù)的呈現(xiàn)方式,有實(shí)時振動波形顯示方式、歷史數(shù)據(jù)文本顯示等方式;Peak-Peak、FFT_Mag、FFT_Fre、RMS分別代表振動數(shù)據(jù)的峰峰值、FFT后最大幅值、FFT后最大幅值對應(yīng)的頻率、均方差值。
為對比說明本文系統(tǒng)的精確性和可靠性,振動檢測設(shè)備檢測到振動后(振動平臺以3.8 Hz左右的主頻振動),一方面將振動數(shù)據(jù)通過Profibus協(xié)議發(fā)送到工作站電腦,工作站電腦將此振動數(shù)據(jù)用Matlab工具進(jìn)行數(shù)據(jù)處理;另一方面振動檢測設(shè)備將振動數(shù)據(jù)作傅里葉變換等處理。所得結(jié)果如圖11所示,由圖11(a)可知振動數(shù)據(jù)已經(jīng)成功傳輸?shù)缴衔粰C(jī),振動檢測系統(tǒng)得到的峰峰值、FFT后最大幅值對應(yīng)的頻率、均方根等值和真實(shí)的振動數(shù)值(用Matlab工具計算得到的數(shù)據(jù),如圖11(b)和圖11(c)中的曲線和數(shù)據(jù))一致,分別為0.472 2、3.783 0、0.163 2,實(shí)現(xiàn)了預(yù)期功能。
圖11 振動檢測系統(tǒng)數(shù)據(jù)處理與傳輸測試
在實(shí)時性方面,圖5和圖6所示的數(shù)據(jù)處理改進(jìn)設(shè)計使總線網(wǎng)絡(luò)傳輸數(shù)據(jù)量是傳統(tǒng)方法的5%,實(shí)驗(yàn)表明此改進(jìn)使總線網(wǎng)絡(luò)傳輸時間降低約21.5%。另外,對于由512個原始振動數(shù)據(jù)組成的一組樣本數(shù)據(jù),單個振動檢測設(shè)備對這組數(shù)據(jù)進(jìn)行FFT等處理所用時間是工作站電腦所用時間的75.6倍左右。以100個振動檢測設(shè)備組成的檢測系統(tǒng)為例,本系統(tǒng)數(shù)據(jù)處理所用時間是傳統(tǒng)方法的75.6/100=0.756倍,即數(shù)據(jù)處理時間降低約24.4%。綜上所述,以100個振動檢測設(shè)備組成的檢測系統(tǒng)為例,理論上本系統(tǒng)與傳統(tǒng)的振動檢測系統(tǒng)[15]相比綜合節(jié)省時間(綜合考慮系統(tǒng)的網(wǎng)絡(luò)傳輸時間和數(shù)據(jù)處理時間)約22.95%,在實(shí)際測試中綜合節(jié)省時間為21.6%。
為提高振動檢測系統(tǒng)的實(shí)時性和計算能力,本文設(shè)計并實(shí)現(xiàn)了一種基于Profibus技術(shù)的振動檢測系統(tǒng)。在檢測設(shè)備中采用RT-Thread實(shí)時嵌入式系統(tǒng),保證了設(shè)備的實(shí)時性和魯棒性;在振動傳感器節(jié)點(diǎn)處實(shí)現(xiàn)濾波處理和必要的計算功能,降低了網(wǎng)絡(luò)負(fù)載,提高了系統(tǒng)的實(shí)時性和計算能力。實(shí)驗(yàn)結(jié)果表明,本文所提的改進(jìn)使振動監(jiān)測系統(tǒng)更加實(shí)時、可控、精確,有利于推動振動檢測技術(shù)的發(fā)展。在未來的研究中,將重點(diǎn)放在振動診斷算法中,尤其是可以在振動檢測嵌入式設(shè)備中運(yùn)行的輕量級診斷算法,進(jìn)一步減輕工作站電腦的計算壓力,提高系統(tǒng)的實(shí)時性。