[摘 要] 本文重點介紹了流程工業實時預警系統設計中采用的數據處理算法。經過處理后的生產實時數據進入預警模型,預警的準確性和穩定性得到顯著提高。參照本文設計的預警系統應用在新疆油田陸梁作業區的油氣處理裝置上,取得良好的使用效果。
[關鍵詞] 實時; 預警; 算法; 設計; 應用
[中圖分類號] TP301.6 [文獻標識碼] A [文章編號] 1673 - 0194(2013)17- 0059- 03
1 概 述
原油開采、煉油、化工等流程工業,其典型特征是晝夜生產,生產過程多采用管道、容器等設備,物料在流動過程完成物理和化學加工過程。流程工業通常采用集散控制系統,對生產過程進行連續控制和調整。大規模的流程企業,控制系統復雜、參數繁多,給監視和調整帶來一定的難度。
實時預警是建立在裝置實時數據基礎之上的在線計算和分析系統,能夠對裝置所有的參數進行連續分析和診斷,發現隱患,及時給出指導意見。尤其是在夜間和特殊氣候條件下,預警系統能夠最大限度地彌補人工巡檢的不足,提高裝置的安全性。
實時預警是一種高效能的輔助控制系統,對生產數據有很強的依賴性。受電磁干擾、環境變化等因素的影響,從控制系統直接獲得的實時生產數據帶有一定程度的不確定性,進入預警模型,需要進行數據預處理,否則會影響預警的效果。
本文討論流程工業實時預警系統建設中涉及的部分數據處理方法。
2 算法設計
實時預警的架構是將預警系統建立在實時數據庫之上,即對生產過程進行連續監視。因此實時預警涉及生產數據采集方面的壓縮和解壓縮算法,數據進入預警引擎之前的、以提高數據有效性為目的的預處理算法,以及預警引擎中的規則推理算法。限于篇幅,本文討論數據預處理過程中的幾個典型算法。
2.1 變化速率計算
工藝參數的變化速率計算是預警系統較為常見的計算方法之一,由于實時數據變化的幅度和頻率沒有規則,故采用多點平均算法計算的斜率會出現嚴重的不穩定性。經測試,在油氣處理裝置上,采用最小二乘法(LINEST)能有有效地解決該問題。
LINEST 函數可通過使用最小二乘法計算與現有數據最佳擬合的直線,來計算某直線的統計值,然后返回描述此直線的數組。也可以將 LINEST 與其他函數結合使用來計算未知參數中其他類型的線性模型的統計值,包括多項式、對數、指數和冪級數。因為此函數返回數值數組,所以必須以數組公式的形式輸入。
直線的公式為:
y = mx + b
或:
y = m1x1 + m2x2 + … + b(如果有多個區域的x 值)
式中,因變量 y 是自變量 x 的函數值。m 值是與每個 x 值相對應的系數,b 為常量。注意,y、x 和 m 可以是向量。LINEST 函數返回的數組為 {mn,mn - 1,…,m1,b}。LINEST 函數還可返回附加回歸統計值。
語法
LINEST(known_y’s, [known_x’s], [const], [stats])
LINEST 函數語法具有以下參數:
Known_y’s 必需。關系表達式 y = mx + b 中已知的 y 值集合。
如果 known_y’s 對應的單元格區域在單獨一列中,則 known_x’s 的每一列被視為一個獨立的變量。
如果 known_y’s 對應的單元格區域在單獨一行中,則 known_x’s 的每一行被視為一個獨立的變量。
Known_x’s 可選。關系表達式 y = mx + b 中已知的 x 值集合。
known_x’s 對應的單元格區域可以包含一組或多組變量。如果僅使用一個變量,那么只要 known_y’s 和 known_x’s 具有相同的維數,則它們可以是任何形狀的區域。如果使用多個變量,則 known_y’s 必須為向量(即必須為一行或一列)。
如果省略 known_x’s,則假設該數組為 {1,2,3,…},其大小與 known_y’s 相同。
const 可選。一個邏輯值,用于指定是否將常量 b 強制設為 0。
如果 const 為 TRUE 或被省略,b將按通常方式計算。
如果 const 為 FALSE,b 將被設為 0,并同時調整 m 值使 y = mx。
stats 可選。一個邏輯值,用于指定是否返回附加回歸統計值。
如果 stats 為 TRUE,則 LINEST 函數返回附加回歸統計值,這時返回的數組為 {mn,mn - 1,…,m1,b;sen,sen - 1,…,se1,seb;r2,sey;F,df;ssreg,ssresid}。
如果 stats 為 FALSE 或被省略,LINEST 函數只返回系數 m 和常量b。
以大型貯罐的液位為例,圖1為采用多點移動平均算法計算的液位變化結果。
圖2為采用最小二乘法計算的液位變化結果。
結果顯示,最小二乘法能最大限度地剔除噪聲,反映真實規律。進入預警系統的液位預警模型中,最小二乘法處理后的數據,能夠顯著降低預警系統的誤報率。
2.2 參數不變計算
參數因傳輸故障,或傳感器故障而發生數據不變是非常常見的儀表現象,不變持續時間過長,會導致操作人員無法觀察到已發生的變化或隱患。
經比較和測試,采用方差計算參數不變,比較適合油氣處理工藝。
計算基于給定樣本方差的方法如下。
語法
VAR(number 1,number 2,…)
Number 1,number 2,… 為對應于總體樣本的 1 到 255 個參數。
注解
函數 VAR 假設其參數是樣本總體中的一個樣本。如果數據為整個樣本總體,則應使用函數 VARP 來計算方差。
參數可以是數字或者是包含數字的名稱、數組或引用。
邏輯值和直接鍵入到參數列表中代表數字的文本被計算在內。
如果參數是一個數組或引用,則只計算其中的數字。數組或引用中的空白單元格、邏輯值、文本或錯誤值將被忽略。
如果參數為錯誤值或為不能轉換為數字的文本,將會導致錯誤。
如果要使計算包含引用中的邏輯值和代表數字的文本,請使用 VARA 函數。
函數 VAR 的計算公式如下:
■
式中,x 為樣本平均值 AVERAGE(number 1,number 2,…),n 為樣本大小。
實際應用中,以10秒為采樣間隔,樣本數量為10,則在2分鐘之內,預警系統可以發現參數處于不變狀態,如貯罐的液位計卡殼、鍋爐液位傳感器故障。
2.3 均值計算
由于擾動的存在,液位、溫度等參數的平均值會出現大幅變化,失去實際使用價值,工程研究表明,當數據中小概率數值去除后,數組的平均值出現顯著平穩傾向,實用價值增強。正態分布用于平均值計算,將小概率數據剔除后,數據均值的有效性得到顯著提高。
正態分布返回指定平均值和標準偏差的正態累積分布函數的反函數。
語法
NORMINV(probability,mean,standard_dev)
Probability 正態分布的概率值。
Mean 分布的算術平均值。
Standard_dev 分布的標準偏差。
注解
如果任一參數為非數值型,函數 NORMINV 返回錯誤值 #VALUE!。
如果 probability < 0 或 probability > 1,函數 NORMINV 返回錯誤值 #NUM!。
如果 standard_dev ≤ 0,函數 NORMINV 返回錯誤值 #NUM!。
如果 mean = 0 且 standard_dev = 1,函數 NORMINV 使用標準正態分布(請參閱函數 NORMSINV)。
如果已給定概率值,則 NORMINV 使用 NORMDIST(x, mean, standard_dev, TRUE) = probability 求解數值 x。因此,NORMINV 的精度取決于 NORMDIST 的精度。NORMINV 使用迭代搜索技術。如果搜索在 100 次迭代之后沒有收斂,則函數返回錯誤值 #N/A。
實際應用中,5%~10%(視需要進行調整)的小概率樣本從樣本集中剔除,計算對象的均值能夠比較真實地反映參數的變化規律。
3 算法組合及鍋爐預警
3.1 算法組合
狀態判斷算法用于識別生產過程、設備或參數的當前的狀態是否穩定,為其他計算提供參考,或作為啟動相應算法的開關。
狀態判斷的極端情況是數據連續不變,導致方差為“0”而無法計算出結果,而這種情況恰好可以判斷出數據是否發生了不變的情況。故狀態判斷首先對方差進行計算,方差不為“0”時進行狀態判斷計算,其結果即分為“不變”、“穩態”、“非穩態” 3種情況。
其中“不變”轉入不變預警,而“穩態”則降低預警的可信度,“非穩態”則提高預警可信度。
輸入:最新10個樣本點(按10秒取樣一次,可判斷出2分鐘的不變情況)。
輸出:“不變”、“穩態”、“非穩態”。
預警對象:不變預警。
調節參數:狀態判斷計算的容忍度(穩態與非穩態之間平衡點的調節)。其過程見圖1。
3.2 鍋爐預警示例
鍋爐是油氣處理裝置的重要設備,鍋爐預警模型涉及鍋爐系統所有的運行參數,以及鍋筒、供水泵等設備的運行狀態。模型的主要描述如下:
設備投用:狀態位號值為1;
檢測參數:鍋筒液位、供水泵頻率;
鍋筒液位:超高、超低、不變;
供水頻率:不變;
相關算法:最小二乘法計算速率;方差計算不變。
通過對鍋筒液位不變的檢測可以預防鍋爐干燒事故,當液位計故障時,導致供水泵不能得到有效的反饋,從而不能及時補充供水,鍋爐會在20分鐘左右發生干燒事故。預警系統會在3分鐘內觸發鍋筒液位不變預警,操作工有足夠的時間判斷原因和采取相應的措施,避免干燒事故的發生。其檢測過程見圖2。
4 結 論
新疆油田“油氣處理實時預警系統”于2010年10月并網運行,至2011年11月,預警系統載入陸梁處理站和石南21處理站兩個模型,系統加載的模型、設備、參數和規則均調試通過,計算參數調至合理范圍。
經過嚴格的測試和試用,“油氣處理實時預警系統”目前已經為陸梁作業區的陸梁處理站和石南21處理站提供直接的裝置預警服務,同時為陸梁作業區的相關管理部門提供預警信息服務。從使用情況來看,預警系統對控制系統形成了一個有益的補充,對操作水平的提高、設備故障的預防、故障的預警起到了預期的作用。