(北京郵電大學國際學院,北京 100876)
近年來,石油化工工業向大型化、自動化、智能化和低能耗等方向發展。然而,一旦生產系統出現故障,輕則導致整個設備或系統運行癱瘓,影響企業的正常生產和經濟效益;重則會發生人員傷亡事件,給企業帶來負面影響。因此,如何實現石化工業生產過程和運行設備的實時監測與狀態評估,排除潛在的故障,預防重大事故發生,已成為當前石油化工領域亟需解決的問題之一[1]。
在傳統石化生產過程中,普遍使用一些監控設備來監控生產流程和保障生產安全,但其中大多數是傳統的工業控制系統,只對已經發生的生產故障進行閾值報警,而不能在故障發生的苗頭階段或者故障發生的早期階段,發現生產流程中的異常,進行預測報警。
隨著科學技術的進步,尤其是計算機和信息管理技術的飛速發展,石油化工工業生產設備中越來越多的變量能夠得到測量、處理和監控。在此背景下,設計并實現一套基于大數據的加氫高壓換熱器運行狀態評估系統,通過采集歷史數據建立監控模型,充分挖掘隱藏在過程數據中的信息,分析生產過程的運行情況,通過運行狀態評估實現輔助故障預警的目標。
石化工業設備運行狀態評估的理論研究來源于1971年Beard博士所提出的用解析冗余代替硬件冗余的理論[2]。隨著檢測濾波器、廣義似然比等運行狀態評估理論算法被提出,運行狀態評估理論和應用得到了快速發展。
工業運行狀態評估方法主要分成三類:基于數學模型的方法、基于過程知識的方法和基于數據驅動的方法[3]。近年來,現代工業不斷向大型化、復雜化方向發展。在當今的大型系統中, 一方面, 基于數學模型的方法不可能獲得復雜機理模型的每個細節;另一方面, 基于過程知識的監控方法需要很多復雜高深的專業知識以及長期積累的經驗, 大大超出一般工程師所掌握的知識范圍, 因此不易操作。數據驅動方法不依賴精確的數學模型,僅依賴工業生產中所獲得的歷史數據,來建立監控模型,進而得到了廣泛關注。目前, 多數企業每天都產生和存儲較多運行、設備和過程監測數據, 這些數據分為正常條件下和在特定故障條件下收集的數據, 包含著過程中各方面的信息,這為基于數據驅動的運行狀態評估方法提供了基礎。
基于數據驅動的運行狀態評估方法主要有3種:基于統計分析的方法、基于信號分析的方法以及基于定量知識的數據分析方法。其中,基于統計分析的方法有:基于控制圖法的運行狀態評估技術,基于PCA(主元分析法)的運行狀態評估技術和基于PLS(全潛結構投影法)的運行狀態評估技術等[4-6]。基于信號分析的方法主要有:基于小波變換的運行狀態評估方法、基于S變換的運行狀態評估方法等[7]。基于定量知識的方法不需要定量數學模型,利用人工智能技術實現運行狀態評估,典型代表有基于人工神經網絡的方法[8],基于支持向量機的方法和基于模糊邏輯的方法[9-10]。雖然基于人工神經網絡的方法在很多領域取得了較好的應用成果,但是在石化領域,面對數據維度多、種類單一及用于訓練的故障數據少等問題,基于統計分析的方法要優于神經網絡的方法。
基于大數據技術的加氫高壓換熱器運行狀態評估方法,主要從模型開發與系統建設兩方面入手。(1)模型開發:主要基于統計分析找出穩定狀態下的系統參數分布,并對需要評估的時間點逐一與健康模型對比,最終基于運行狀態評估算法估算出系統健康分值;(2)系統建設:主要搭建出滿足數據采集存儲、分析及展示的數據分析鏈路,解決工業數據量大、周期性作業的問題。
大數據模型主要基于統計方法進行運行狀態評估。在運行狀態評估之前,需要解決工業數據中因人為操作而造成的噪聲數據以及工業場景下大量傳感器產生不相關維度數據等問題。在運行狀態評估中,需要解決現有的數學模型輸出指標不直觀,沒有考慮到數據時間相關性等問題。
2.1.1 自動化噪聲區間檢測算法
針對人為操作、其他點位故障造成的傳感器數據波動,使用基于滑動窗口檢測的自動化噪聲區間檢測算法自動診斷出故障區間,并通過與日志文件對照的方法,區分出噪聲區間和真正關注的故障區間。
故障區間檢測首先通過一個滑動窗口算法進行判斷,如圖1所示。對于每一個檢測長度L1的區間,取前后一段時間L2和L3作為參考區間,對L1,L2和L3區間進行統計指標計算,最后對比L1和L2,L3的統計指標之比,如果大于閾值,則認為該驗證區間異常,記錄該異常區間后,整個窗口向后滑動L1步長。在使用滑動區間檢測出異常區間后,通過與操作日志及運行日志聯合分析,確定由泄漏導致的異常和人為操作造成的異常。清除噪聲數據,從而避免噪聲數據對后續建模造成影響。

圖1 噪聲檢測滑動區間示意
2.1.2 皮爾森系數的參數選擇算法
針對采集的傳感器數據維度高、大量參數與故障無關的問題,采用皮爾森系數的相關參數選擇算法挑選與故障相關的維度作為模型輸入。皮爾森系數描述兩個隨機變量的相關程度,取值在-1至1之間,兩個隨機變量的相關系數越接近-1或1即表明相關性越大,接近0即表示相關性小,公式描述如下:
該系統針對采集的122維參數算法,首先確定與泄漏故障直接相關的換熱器管口壓力、溫度以及瞬時流量三維關鍵參數,并計算剩余119維數據與關鍵參數的皮爾森相關系數絕對值,將相關系數絕對值按照大小排列,并取總體相關系數絕對值貢獻的前90%作為相關參數,最終得到22維與故障緊密相關的參數。
2.1.3 主成分分析的運行狀態評估算法
該算法首先基于主成分分析對模型輸入進行分解,并通過HotellingT2和Q統計檢驗方法進行健康診斷。但僅使用統計檢驗方法存在兩個缺點:(1)HotellingT2和Q是兩個獨立的指標,當兩個指標出現“一高一低”時,無法直接斷定系統健康狀況;(2)HotellingT2和Q僅僅檢驗了特定某一個時刻的系統指標分布,沒有從時間上考慮系統變化的情況,因此,需對統計檢驗結果進一步分析。綜合當天健康指標波動值和歷史健康值水平,提出健康診斷算法,整體算法流程見圖2。

圖2 運行狀態評估算法流程
主元分析法(PCA)又稱為主成分分析法,是目前主要的過程工業控制故障檢測與診斷方法。PCA的主要思想是將高維度空間轉化為低維度空間,并盡可能保留高維度的信息。假設當前數據集X包含了m個維度,n個時間點的觀測值,用矩陣表示如下。
通過變換矩陣P,可將矩陣X線性變換為得分矩陣T,表示如下:
在得分矩陣T中,T的列向量為得分向量,也稱作主成分;P稱為負載矩陣,P的列向量稱為負載向量。負載矩陣可以通過X的協方差矩陣特征分解得到。假設樣本矩陣X的協方差矩陣為:
由于樣本矩陣的協方差矩陣是一個方陣,對協方差矩陣進行特征分解即可得到特征向量p1p2…pm以及對應特征值λ1λ2…λm,特征分解如下:
式中:P=[p1p2…pm]即為所求負載矩陣P,且P為單位正交矩陣,即有下式成立:
PPT=I
從而不難得出得分矩陣T:
T=XP
最終可將矩陣X分解為如下兩個部分:


在對數據集X進行了主成分分析后,即得到了數據模型的數據分布。統計學上,可以通過建立統計量指標的假設檢驗來判斷當前過程是否符合模型數據分布。在PCA的假設檢驗中,通常通過HotellingT2和Q兩個統計量進行假設檢驗。其中,HotellingT2統計量表明每個待檢驗數據在變化趨勢和幅度上實際偏離模型的程度,可以通過計算檢驗數據在主元子空間的投影偏離程度得出;Q表明該時刻待檢驗數據到模型空間的距離,可以通過計算待檢驗數據在殘差空間的投影符合程度得出,其值越大,表示當前檢驗數據越不符合主元模型。
第i時刻觀測數據的HotellingT2統計量計算公式為:
第i時刻觀測數據Xi的Q統計量計算公式為:
對于每個觀測點數據,通過計算HotelingT2和Q值,可以定量表示觀測點與主模型的偏離程度以及與主模型的變化趨勢,也可以表示主模型變化幅度與主模型的偏離程度。
基于PCA,HotellingT2和Q檢驗得到每個時刻點的指標,并未考慮歷史數據和多指標存在潛在不一致性的問題。針對上述問題,該算法對HotellingT2和Q計算得到的統計量進行進一步處理。首先,該算法將HotellingT2值以及Q值從[0,+∞)映射至[0,100],對于任意時刻,對健康值進行映射的計算公式如下:

式中:M是健康閾值,對于大于該閾值的HotellingT2和Q值,通過類sigmoid函數進行平滑,分別計算出映射值,通過加權得到綜合映射值。綜合映射值計算公式如下:
g(x)=λggT2(x)+(1-λg)gQ(x)
對于健康的計算,該算法還考慮了一天內健康狀況值的方差帶來的影響,計算公式如下:
his(x)=g(x)-α·std
式中:x是當前時刻的輸入值,std是近一天內健康狀況的標準差,α是權重系數。
為了使系統對健康狀況的評估更加謹慎,增加了健康值平滑策略,計算公式如下:
health(x)=λ·his(xt)+(1-λ)·his(xt-1),his(xt)>his(xt-1)
his(xt),otherwise
式中:health(x)是最終分數,his(xt)是當前觀測時刻健康值,his(xt-1)是前一個觀測時刻的健康值,λ是權重系數。
在經過了平滑策略后,系統對健康的評估分數趨于“出現異常快速衰減,異常減輕緩慢恢復”的狀態,有助于現場人員謹慎關注系統狀況。
大數據系統架構如圖3所示。該架構主要分為數據存儲采集子系統、數據調度分析子系統和數據查詢展示子系統。其中,數據采集存儲子系統主要負責數據源獲取及持久化;數據調度分析子系統是大數據模塊的實現核心,主要負責基于原始數據的系統運行狀態評估分析;數據展示子系統主要負責讀取分析結果,為現場人員提供可視化的系統評估呈現。

圖3 大數據系統架構
2.2.1 數據采集存儲子系統
(1)數據采集模塊:該模塊的主要功能是周期性地從各種異構的數據庫讀數據。該模塊以時間為關鍵字,合并多行數據,并通過HTTP請求將傳感器采集數據發送給Hbase代理服務器。
(2)Hbase代理模塊:該模塊為其他模塊提供操作Hbase的RESTful的HTTP接口,并進行身份驗證。在寫入Hbase時,Hbase模塊會對寫入數據進行預處理,以符合平臺數據格式規范。在讀Hbase數據時,Hbase代理模塊直接向Hbase請求數據結果。
(3)Hbase數據庫:HBase是一個分布式的、面向列的數據庫。使用Hbase對數據進行按列存儲,并按時間戳存儲,能有效應對加氫大數據按時間存儲、參數指標多的特點。
2.2.2 數據調度分析子系統
(1)分析模塊:基于大數據模型,將數據處理流程抽象為數據預處理與清洗、健康模型生成和健康數據分數計算等3個計算任務。每個計算任務基于Hbase作為數據源,對相應的大數據模型進行實現。
(2)調度模塊:對于周期性采集的原始數據,先后執行預處理與清洗、健康分數計算等任務,并按照生產需要,執行健康模型生成計算任務,更新系統健康模型。
2.2.3 數據展示查詢子系統
數據展示查詢子系統主要負責獲取下層模塊數據,進行健康狀況展示。數據展示子系統包含數據展示模塊,主要基于Hbase讀入特定時刻系統健康狀況,實現可視化展示。
加氫高壓換熱器腐蝕預警系統開發完成后,在2017年3月開始在中國石化某公司2號柴油加氫裝置上運行。該系統在2017年5月17日對2號柴油加氫裝置發出腐蝕告警。通過對該系統腐蝕評估模型分析,定位了故障時間和位置,提醒企業提前進行處理。2017年5月23日,該裝置出現泄漏,與預估時間非常接近。泄漏設備拆解后發現,泄漏位置、腐蝕類型與評估結果相符合。
該預警系統的直接經濟效益主要來自于減少非計劃停工和減緩換熱器腐蝕等方面。
在減少非計劃停工方面,按照每年減少一次非計劃停工計算,可產生經濟效益約500萬元RMB;在減輕換熱器腐蝕進而節約設備更新費用方面,預計換熱器使用壽命可由1.2年提高至4年,一個檢修周期可節約更新費用約800萬元RMB。
(1)針對高壓換熱器的故障預警,探討了自動化異常區間檢測的滑動窗口算法;針對石油化工系統傳感器多,待分析參數維度高的特點,提出了基于關鍵參數的皮爾森相關系數選擇方法進行特征選擇。
(2)使用基于PCA的統計檢驗方法對系統健康狀況進行評估,并針對傳統統計檢驗方法評價指標不一致、未考慮健康數據事件相關性的問題,設計了一套運行狀態評估算法,能更直觀、全面地評估系統健康狀況。
(3)基于大數據技術對高壓換熱器的運行狀態進行評估,比傳統方法有較大優勢,能更準確地掌握該系統運行狀況,對故障預警有積極意義,從而降低事故發生率,提升系統的經濟效益和社會效益。