李 明,那文波,劉甜甜,高 宇
(中國計量大學機電工程學院,浙江杭州 310018)
在工程生產(chǎn)實際中,傳感器容易受到其工作環(huán)境的影響發(fā)生故障,不能正確反映被控對象的信息,造成控制失效,基于數(shù)據(jù)驅(qū)動的傳感器故障診斷方法的研究越來越受到相關(guān)領(lǐng)域科研人員的重視。傳統(tǒng)故障診斷方法[1-2]多是基于研究對象模型完成故障診斷,這一方法需要了解研究對象的機理并建立數(shù)學模型。針對復(fù)雜特殊的對象,有時很難建立準確的數(shù)學模型,難以保證故障診斷精度,且模型不具有普適性?;跀?shù)據(jù)驅(qū)動的故障診斷是把系統(tǒng)作為一個黑箱處理,不再需要知道系統(tǒng)以及對象的精確的數(shù)學模型,通過系統(tǒng)過程運行數(shù)據(jù)分析與挖掘完成故障診斷。對于復(fù)雜且對象特性不便于掌握的被控對象,基于數(shù)據(jù)驅(qū)動的故障診斷方法有著較為明顯的優(yōu)勢。對于動態(tài)系統(tǒng),文獻[3-4]利用統(tǒng)計分析方法,不需要深入了解系統(tǒng)的結(jié)構(gòu)和原理,基于測量數(shù)據(jù)完成故障診斷,但是較難解釋所診斷出的故障的物理意義。文獻[5-6]利用信號處理方法故障診斷,不同故障存在不同的信號特征,利用不同的信號特征可以進行故障診斷,但對于抑制信號噪聲,診斷微弱故障方面,仍需進一步研究。對于系統(tǒng)傳感器,除了上述文獻所用方法外,文獻[7-9]通過訓練神經(jīng)網(wǎng)絡(luò)、極限學習機等機器學習方法實現(xiàn)傳感器故障診斷,此類方法需要較大的故障樣本數(shù)據(jù),且樣本數(shù)據(jù)的完整性、可靠性都會對故障診斷精度產(chǎn)生很大影響。文獻[10-11]利用多個傳感器的互補和冗余信息,進行信息融合,實現(xiàn)傳感器故障診斷。目前各種方法呈現(xiàn)出了相互交叉,相互融合的趨勢。
研究課題總體從工程應(yīng)用組態(tài)實現(xiàn)出發(fā),將系統(tǒng)按結(jié)構(gòu)類型分類,處理其故障診斷問題,分別解決不同結(jié)構(gòu)中的傳感器、執(zhí)行器、控制器的故障診斷問題。本文先研究一階定值系統(tǒng)的傳感器故障診斷問題,分析與挖掘正常系統(tǒng)和故障系統(tǒng)的動態(tài)數(shù)據(jù)特征,適應(yīng)傳感器故障檢測、故障估計和故障分離的普適模型,實現(xiàn)對一階定值系統(tǒng)傳感器故障診斷。
根據(jù)故障發(fā)生的外部特征,可以將內(nèi)部發(fā)生的故障概括為2類:加性故障和乘性故障。
設(shè)傳感器的測量輸出值為ym,被控對象的實際值為yr,則傳感器正常工作時,傳感器的測量輸出值為ym=yr;當傳感器發(fā)生故障時,若故障為加性故障,則傳感器的測量輸出值為ym=yr+A,式中A是不為0的常數(shù),表示由傳感器故障引入的傳感器輸出的偏差。若故障為乘性故障,則傳感器的測量輸出值為ym=Byr,式中的B是不為1的增益,表示由傳感器故障引入的輸出信號的增益。
故障檢測的目的是檢測系統(tǒng)所使用的傳感器是否發(fā)生故障。當傳感器發(fā)生故障時,會導致傳感器輸出值與實際值不符,被控變量的實際值也會因為控制器的調(diào)節(jié)作用而偏離給定值。在傳感器發(fā)生故障后,可以利用系統(tǒng)動態(tài)過程數(shù)據(jù)的統(tǒng)計特征實現(xiàn)故障檢測,基于此提出故障檢測方法。
假設(shè)一階定值控制系統(tǒng)的響應(yīng)從初始狀態(tài)到穩(wěn)定狀態(tài)時間是ts。進行故障檢測所需要的數(shù)據(jù)采用系統(tǒng)穩(wěn)定后的時刻及其傳感器輸出值所構(gòu)成的數(shù)據(jù)組,從第ts時刻開始的數(shù)據(jù)組為第一個數(shù)據(jù)組,數(shù)據(jù)總組數(shù)為
式中:Ts為采樣周期;tc為整個系統(tǒng)的運行總時長。每個采樣點的殘差取絕對值表示為
式中:ym(k)為傳感器輸出值;ysp為系統(tǒng)給定值。
設(shè)系統(tǒng)發(fā)生故障后動態(tài)調(diào)節(jié)時間為ta,則每ta時間長度設(shè)置一個數(shù)據(jù)窗口,且每個數(shù)據(jù)窗口所包含的數(shù)據(jù)組數(shù)為
從第一組樣本數(shù)據(jù)開始,每過一個采樣周期向時間增長方向順序移動一組,即數(shù)據(jù)窗順移。一共可以順移設(shè)置(n-Ns)個數(shù)據(jù)窗口。將每個數(shù)據(jù)窗口所包含的傳感器輸出值與給定值殘差的絕對值求和,有
理想狀態(tài)下,控制系統(tǒng)正常運行時達到期望值穩(wěn)定運行后,殘差為0,所以有E(k)=0。但是在實際工作環(huán)境中,系統(tǒng)并不在理想狀態(tài)下運行,在運行過程中會有自身和環(huán)境的干擾存在,所以實際上E(k)≠0。
在傳感器正常工作的 mnor[mnor≤(n-Ns)]個數(shù)據(jù)窗中,計算這些數(shù)據(jù)窗的E(k)值形成新的數(shù)據(jù)集SAE,計算 SAE 中 E(i),(i=1,2,…,mnor)的平均值sae及標準差σ。其中,
然后,令
式中Vthres為檢測閾值。
式(7)即為故障檢測模型。
故障檢測方法如果對于某系統(tǒng)的傳感器輸出數(shù)據(jù),經(jīng)過數(shù)據(jù)窗順移逐個計算數(shù)據(jù)窗口對應(yīng)時間段的殘差絕對值和E(k)。當殘差絕對值和E(k)>Vthres,并且持續(xù)一段時間,則可以判斷該系統(tǒng)傳感器有故障發(fā)生。
標準差的引入,一定程度上避免了故障誤檢測;持續(xù)的這段時間也可以避免由于短時偶然干擾引起的故障誤檢測,這段時間可以基于工程環(huán)境的偶然干擾狀況取小于ta的經(jīng)驗值。這里我們將檢測到故障的數(shù)據(jù)窗口稱為故障數(shù)據(jù)窗口。
對于漸變故障同樣可以使用前述故障檢測方法進行檢測。當系統(tǒng)完成每次故障診斷且做容錯處理后,若系統(tǒng)再多次檢測出故障,且每次故障屬于同一類型且強度呈現(xiàn)出線性或者非線性關(guān)系,則可以認為系統(tǒng)傳感器出現(xiàn)了漸變性故障。假設(shè)每次故障強度為 fau(j)(j=1,2,…,n),線性漸變故障關(guān)系為
式中
表示漸變故障強度的變化速度,在幾何上為該直線的斜率,fau(j)與fau(l)是系統(tǒng)檢測出的同一類型任意2次故障強度。非線性故障關(guān)系為
式中:j為采樣時刻;F(j)非線性關(guān)系可以用j時刻之前的故障強度值曲線擬合得到。
故障估計的目的是確定傳感器發(fā)生的故障強度。通過對故障數(shù)據(jù)窗口數(shù)據(jù)分析發(fā)現(xiàn)傳感器輸出值的變化率與其故障強度有對應(yīng)關(guān)系,提出故障估計方法。
首先,從故障數(shù)據(jù)窗口數(shù)據(jù)中按時間序列逐個計算相鄰采樣周期傳感器測量輸出的變化率
假設(shè)從第i個數(shù)據(jù)開始有故障發(fā)生,若是加性故障,則傳感器測量值為ym(i)=yr(i)+A;若是乘性故障,則傳感器測量值為ym(i)=Byr(i)。且故障時刻的測量輸出的變化率為
在忽略系統(tǒng)誤差的情況下,測量輸出數(shù)據(jù)ym(i-1)近似于真實數(shù)據(jù)yr(i),理想狀態(tài)下yr(i)=ysp。由于發(fā)生故障時,傳感器測量值的變化率瞬間達到極值y'p,所以y'(i)=y'p。由此得出故障估計公式,加性故障的偏差為
同理,若假設(shè)發(fā)生的是與加性故障相同強度的乘性故障,則乘性故障的增益為
故障估計方法中加性故障的偏差為
乘性故障增益為
式(10)和式(11)即為故障估計模型。利用故障估計方法可以確定故障強度,實現(xiàn)故障估計。
故障分離的目的是識別傳感器故障的種類。傳感器發(fā)生故障時,其響應(yīng)曲線的動態(tài)變化在開始時最為強烈,相同類型不同強度的故障響應(yīng)曲線的動態(tài)變化不同,不同類型相同強度的故障響應(yīng)曲線的動態(tài)變化也不同,基于此來提出故障分離方法。
基于故障數(shù)據(jù)窗口數(shù)據(jù),以故障發(fā)生后的時間作為自變量,相應(yīng)的傳感器輸出值作為因變量。擬合因變量輸出值與自變量時間之間的變化趨勢曲線,建立時間序列一元線性回歸模型,再提取該模型參數(shù)作為故障特征,利用一元二次回歸模型確定故障分離模型。
一元線性回歸模型為
式中ε為回歸模型的誤差。
用最小二乘法求解模型參數(shù),得到擬合方程為
取發(fā)生故障后調(diào)節(jié)時間ta內(nèi)的一段數(shù)據(jù)組,截取的時間變量為 X=[x1,x2,x3,…,xn],測量值為 Y=[y1,y2,y3,…,yn],進行最小二乘法擬合得到第一次故障分離模型,選取第一次模型最高次項的回歸系數(shù)^β1作為特征值。將不同故障強度實驗數(shù)據(jù)中提取到的所有加性故障特征值p=^β1形成特征集P=(p1,p2,…,pn),所有乘性故障的特征值q=^β1,形成特征集Q=(q1,q2,…,qn)。由于傳感器在發(fā)生加性故障和乘性故障時候的輸出動態(tài)特性不同,所以即使在故障幅值相同的情況下,傳感器測量值在故障調(diào)節(jié)過程中的運動趨勢也是不同的,所以P≠Q(mào)。
為提高故障分離準確度,再次建立二項式故障分離模型。一元二項式模型為
用最小二乘法求模型參數(shù),得到擬合方程為
加性故障和乘性故障幅值相同的情況下,各個加性故障偏差對應(yīng)回歸系數(shù)為(Ai,pi),(i=1,2,3,…,n),各個乘性故障增益對應(yīng)回歸系數(shù)為(Bi,qi),(i=1,2,3,…,n)?,F(xiàn)在以加性故障的偏差 Ai為自變量,對應(yīng)的回歸系數(shù)pi作為因變量,以及以乘性故障的增益Bi為自變量,對應(yīng)的回歸系數(shù)qi為因變量,再次進行相同的二次擬合得到最終故障分離模型。
加性故障為
乘性故障為
式(15)、式(18)和式(19)即為故障分離模型。
如果有一組樣本數(shù)據(jù),樣本數(shù)據(jù)自身擬合一次得到^βm,將Am代入p=f1(A)得pm,將Bm代入q=f2(B)得到qm,則可以基于如下方法實現(xiàn)故障分離。
故障分離方法,令e1=|pm-^βm|,e2=|qm-^βm|,比較e1和e2的大小,如果e1<e2,則可判斷該故障為偏差為Am的加性故障。如果e1>e2,則可判斷該故障為增益為Bm的乘性故障。
工程實施中整個傳感器在線標定及故障診斷的流程圖如圖1所示。
圖1 故障診斷流程圖
在線采集傳感器測量值,待被控量穩(wěn)定于設(shè)定值之后實時在線標定及故障診斷。在線標定是確定Vthres、p=f1(A)和q=f2(B),在系統(tǒng)投運和每次故障維護后進行重新標定,以適應(yīng)系統(tǒng)特性。故障診斷首先應(yīng)用故障檢測方法檢測數(shù)據(jù)窗的殘差絕對值和E(k)是否超出閾值Vthres來判斷傳感器是否發(fā)生故障;如果有故障發(fā)生,則進入故障估計階段進一步處理故障數(shù)據(jù)窗口數(shù)據(jù)得到加性故障偏差A(yù)m和乘性故障增益Bm。然后進入故障分離階段,利用最小二乘法擬合故障發(fā)生后的調(diào)節(jié)時間內(nèi)的數(shù)據(jù)得到模型參數(shù)^βm,將故障估計階段的Am代入p=f1(A)得pm,將Bm代入q=f2(B)得到qm,令e1=|pm-^βm|,e2=|qm-^βm|,比較e1和e2的大小來確定故障類型,以及漸變故障的進一步診斷。
利用復(fù)雜故障診斷與容錯控制創(chuàng)新實驗平臺進行實驗數(shù)據(jù)的采集以及所提故障檢測方法的驗證。該平臺是一個簡單分布式控制系統(tǒng)平臺。上位機為裝有 WINCC、MATLAB軟件的 PC機,下位機為 S7-300型 PLC,CPU 為 315-2-PN/DP,輸入輸出為 2個分辨率為12位的8路模擬量輸入輸出模塊,被控對象為單容水箱的液位。上位機與下位機之間通過工業(yè)以太網(wǎng)協(xié)議通訊,WINCC與MATLAB之間通過OPC規(guī)范通訊。整個系統(tǒng)平臺圖2所示。
圖2 液位控制系統(tǒng)實驗平臺結(jié)構(gòu)示意圖
設(shè)定液位給定值為10 cm,采樣周期Ts=0.5 s,采集隨時間變量同步的液位傳感器測量輸出數(shù)據(jù)。傳感器的工作狀態(tài)分為正常和故障兩種狀態(tài),進行的實驗分為正常狀態(tài)實驗、加性故障實驗和乘性故障實驗。
3.1.1 正常狀態(tài)數(shù)據(jù)采集
傳感器正常無故障實驗時,加性故障模型中的偏差A(yù)=0,乘性故障模型中的增益B=1。實驗設(shè)備運行時間設(shè)定為500 s,時間變量為Tx,傳感器測量的輸出值為Y0,可有1 000個樣本數(shù)據(jù)(Tx,Y0)。圖3為傳感器在無故障狀態(tài)下實驗時的輸出曲線。
圖3 傳感器無故障情況下液位曲線
3.1.2 加性故障數(shù)據(jù)采集
加性故障實驗是在仿真模型中接入了階躍信號來模擬加性故障,故障強度以階躍信號大小而定。故障加入時刻設(shè)定為350 s,以模擬系統(tǒng)穩(wěn)定運行到350 s時傳感器發(fā)生加性故障。圖4為傳感器在第350 s時發(fā)生偏差為1.0 cm加性故障的液位響應(yīng)曲線,從圖4中可以看出本來穩(wěn)定在給定值的液位在加入故障時刻突然變化,再經(jīng)過近20 s的調(diào)節(jié)再次回到給定值,但此時實際液位值已經(jīng)偏離給定值。同樣采集0~500 s內(nèi)的1 000個加性故障樣本數(shù)據(jù)(Tx,YA)。
圖4 加性故障,偏差為1.0 cm的液位曲線
3.1.3 乘性故障數(shù)據(jù)采集
乘性故障實驗是在系統(tǒng)仿真模型中切換反饋通道中的增益模塊來模擬乘性故障,在系統(tǒng)穩(wěn)定運行到350 s時加入故障,圖5分別為系統(tǒng)穩(wěn)定運行到350 s時傳感器發(fā)生增益為0.90的乘性故障的液位響應(yīng)曲線。同樣采集0~500 s內(nèi)的1 000個乘性故障樣本數(shù)據(jù)(Tx,YB)。
圖5 乘性故障,增益為0.90的液位曲線
將不同故障強度的實驗階段采集的加性故障和乘性故障傳感器測量數(shù)據(jù)都截取故障發(fā)生后的調(diào)節(jié)時間ta=20 s數(shù)據(jù)進行最小二乘法擬合得到一次擬合系數(shù),擬合結(jié)果如表1、表2、表3和表4所示。從表格中的均方根誤差RSME數(shù)值可以看出曲線擬合的效果較好。
表1 加性故障偏差小于0的一次項擬合系數(shù)
表2 加性故障偏差大于0的一次項擬合系數(shù)
表3 乘性故障增益小于1的一次項擬合系數(shù)
表4 乘性故障增益大于1的一次項擬合系數(shù)
進而以表格中加性故障的偏差A(yù)為自變量,一次項系數(shù)p為因變量做二次曲線擬合。
當加性故障偏差A(yù)<0時,擬合結(jié)果:
當加性故障偏差A(yù)>0時,擬合結(jié)果:
同理,以乘性故障的增益B為自變量,對應(yīng)的特征q為因變量進行一元二次回歸擬合。
當乘性故障增益B<1時,擬合結(jié)果:
當乘性故障增益B>1時,擬合結(jié)果:
從以上擬合結(jié)果來看,r2接近于1,RMSE接近于0,說明數(shù)據(jù)對模型的擬合程度很好。
以系統(tǒng)傳感器存在15%加性故障時所采集的數(shù)據(jù)為基礎(chǔ),驗證傳感器整個故障診斷算法。
3.3.1 傳感器的故障檢測
加入故障后動態(tài)調(diào)節(jié)的時間為ta=20 s,采樣周期為Ts=0.5 s,則每個數(shù)據(jù)窗口所包含的數(shù)據(jù)組數(shù)為
在模擬系統(tǒng)傳感器故障工作時的實驗中,以偏差為1.5 cm的加性故障實驗為例,對本次試驗中傳感器正常工作的250~320 s內(nèi)所有數(shù)據(jù)窗口按照本文所提出的傳感器故障檢測方法方式計算閾值Vthres。有
故障檢測的結(jié)果如圖6所示,殘差和明顯地超出了檢測閾值,說明此實驗中傳感器發(fā)生了故障。
圖6 傳感器故障檢測結(jié)果
3.3.2 傳感器的故障估計
計算出液位變化率極值y'p=y'm=3 cm/s,通過故障估計方法計算出故障的偏差值和系數(shù)增益。
當有
說明傳感器發(fā)生了偏差A(yù)m=1.50 cm或增益Bm=1.15的故障。即傳感器發(fā)生了相對于設(shè)定值偏差為15%的加性故障或增益為1.15的乘性故障。
3.3.3 傳感器的故障分離
利用故障估計方法估計出傳感器發(fā)生了相對于設(shè)定值偏差為15%的加性故障或增益為1.15的乘性故障,即有Am=1.50 cm,Bm=1.15。后將樣本數(shù)據(jù)自身擬合以此得到^βm=-0.278 1,帶入式(21)計算出
帶入式(23)計算出
由此可以計算e1=|β^m-pm|=0.011 9和e2=|β^mqm|=0.038。因為e1<e2,根據(jù)故障分離方法,可以分離出傳感器故障類型為加性故障。于是,我們可以得到傳感器發(fā)生了相當于設(shè)定值偏差為15%的加性故障。
利用實驗平臺,對一階液位控制系統(tǒng)分別設(shè)置了相對給定值偏差-20%~20%的加性故障與反饋增益范圍為0.80~1.20的乘性故障。每種加性故障實驗強度間隔為相對于給定值1%的偏差;每種乘性故障實驗強度間隔為0.01,其中液位給定值為10 cm。對本文所提出的故障檢測、故障估計、故障分離方法做了性能測試。
在故障檢測中,對于加性故障,可以檢測范圍為A=[-2.00,-0.01]∪[0.01,2.00](單位:cm);對于乘性故障,可檢測范圍為 B=[0.80,0.98]∪[1.02,1.20]。故障檢測準確度明顯高于其他方法。在故障估計中,去除液面波動以及其他未知干擾因素所帶來的干擾,可以準確估計出故障強度,且故障強度越強,故障估計越準確??梢詼蚀_實現(xiàn)故障分離,分辨故障類型。
本文提出了一種基于實時數(shù)據(jù)驅(qū)動的一階定值閉環(huán)系統(tǒng)傳感器故障診斷的新方法。利用系統(tǒng)實時工作數(shù)據(jù),基于數(shù)據(jù)驅(qū)動思想,提出了傳感器在線故障檢測、故障估計和故障分離方法,以及工程應(yīng)用中的在線標定方法,克服了工程環(huán)境的干擾因素和系統(tǒng)自身的性能對方法應(yīng)用準確度的影響。在單容液位控制系統(tǒng)上驗證了所提方法的有效性和先進性。