劉紅明,孫 鐵,劉 嵩,王 亮,魏佳廣
(1. 遼寧石油化工大學 機械工程學院,遼寧 撫順 113001; 2. 安陽工學院 工程訓練中心,河南 安陽 455000;3. 中國石化滄州分公司,河北 滄州 061000; 4. 海洋石油工程股份有限公司,天津 塘沽 300452)
基于Visual Basic編程對離心泵性能曲線的擬合
劉紅明1,孫 鐵1,劉 嵩2,王 亮3,魏佳廣4
(1. 遼寧石油化工大學 機械工程學院,遼寧 撫順 113001; 2. 安陽工學院 工程訓練中心,河南 安陽 455000;3. 中國石化滄州分公司,河北 滄州 061000; 4. 海洋石油工程股份有限公司,天津 塘沽 300452)
在分析擬合離心泵性能曲線必要性的基礎上,以擬合離心泵流量和揚程性能曲線為例,介紹了利用最小二乘法使用visual Basic語言進行直接編程擬合曲線的方法;經實際使用本程序具有簡單、易用、求解效率高、適用范圍廣等特點,有效解決了石化行業中離心泵選型、試驗中曲線擬合的數據處理問題,可以在離心泵及容積泵性能曲線擬合中推廣應用。
離心泵;性能曲線;最小二乘法;擬合曲線;Visual Basic
離心泵是石油化工行業中廣泛使用的流體輸送設備。在對離心泵系統優化運行分析和節能改造過程中, 常遇到離心泵的性能測定、選型計算和優化調度等問題。這些問題我們都需要以離心泵性能曲線為基礎來解決。離心泵的性能曲線是在實驗的基礎上通過測定、繪制得到的。在繪制過程中由于實驗過程以及實驗設備存在誤差會使曲線不平滑,出現畸變點,為繪制出準確的性能曲線常需要進行曲線擬合。離心泵的性能曲線反映了離心泵各性能參數之間的關系與變化規律,一般由離心泵設計部門或廠家以隨機資料形式將采樣點數據表格及繪制曲線提供給用戶,但都沒有給出性能曲線的函數表達式[1-3]。在具體研究中,已知性能曲線的前提下,當想知道性能曲線上具體點的對應值時就只能采用在曲線上取點估讀的方法,這直接導致后續分析和研究的結果失真。因此為了得到更準確的結果,需要根據離心泵的試驗數據即采樣點數據表格中的數據進行性能曲線擬合以得到性能曲線的函數表達式從而得到準確的數據。
現以離心泵性能曲線中的流量和揚程曲線(Q-H曲線)為例,依據高斯馬爾可夫定理—在給定經典線性回歸的假定下,最小二乘估計量是具有最小方差的線性無偏估計量,所以運用最小二乘法擬合離心泵曲線。考慮到手工計算求解聯立方程組工作量大,費時費力。實際研究中,多采用計算機利用MATLAB、SPSS 等計算軟件進行求解,但這些軟件多價格不菲,需經過專門學習不宜使用,且編程后計算以及曲線繪制仍必須依托其軟件平臺[4-7];常用的C語言編程生成exe程序必須經過二次編譯。所以這里筆者采用Visual Basic語言直接編程生成可直接在window系統下運行的exe文件,以求解并得到擬合后的曲線。
1.1 確定流量和揚程曲線(Q-H曲線)的形式
在使用最小二乘法擬合曲線時,確定曲線為何種形式是是整個過程的第一步也最重要,最關鍵得一步。離心泵的流量—揚程曲線的函數表達式主要有以下幾種形式[1-4]:

式中:H ——離心泵揚程,m;
Q ——離心泵流量,m3/h;
a, k ——模型待定系數;
m ——列賓宗公式中指數。

式中:H ——離心泵揚程,m;
Q ——離心泵流量,m3/h;
k, m ——模型待定系數。

式中:H ——離心泵的揚程,m;
Q ——離心泵的流量,m3/h ;
ai——回歸系數, i =0,1,2,…,n。
式(1)為冪函數形式,式(2)為指數函數形式,最小二乘法擬合函數時必須首先將函數線性化[8-10],這在實際編程中,將使得變量定義及求解變得更復雜,工作量將變得較式(3)多項式形式更大;而由文獻[2]采用多項式函數形式為數學模型得到的擬合曲線在工作區內與實測特性曲線基本重合,而公式1的誤差則為2%左右。故本文選取離心泵的流量-揚程函數表達式的多項式形式建立數學模型,對求解從而得出離心泵的流量-揚程函數表達式。
1.2 確定采樣點數據數量即變量對應的數據
選定擬合曲線的形式為多項式形式后,則變量數據為流量Q,揚程H,確定需要擬合的采樣點數據數,采樣點不能少于5組。
1.3 確定所要擬合曲線所建立的法方程組
依據最小二乘法的一般提法[8-10]:對給定的一組數據(xi,yi)及權系數wi(i=0,1,2,…,m)在函數類中,則相當于求該函數的最小值問題,由多元函數求極小值的必要條件最終求解最即為所求。
1.4 使用Visual Basic語言編程實現曲線擬合及方程求解
當用多項式做最小二乘法時,用高次(一般大于等于7時),往往會使得法方程是病態方程組,這會使得方程組的解有較大誤差[8];而擬合次數為1次時,曲線為直線,這顯然不符合離心泵性能曲線的曲線形式。所以筆者在采用Visual Basic語言編程時將擬合次數限定于7次至2次擬合,并設計程序窗口使擬合次數可調,使用者可以根據自身需要以及繪圖框生成的擬合后曲線是否良態來選取適當的擬合次數。
1.4.1 編程過程
文中考慮到篇幅關系程序代碼從略。
(1) 在 VB 6.0環境中新建一個標準工程,然后對窗口進行設計。為滿足設計的基本目標,窗口分為繪圖框PictureBox、求解公式顯示框TextBox、求解次數選框ComboBox等。考慮到離心泵性能曲線的采樣點數據通常較多,將數據處理窗口設計為載入txt文件,采樣點數據顯示在MSFlexGrid框中。這樣每次試驗后,只需用txt文檔記錄數據,簡單易用、占用內存小而且便于數據處理。
(2)窗口設計好后,就需要依據已選定的函數形式建立數學模型,以設計程序代碼以求解數據。為使程序代碼盡可能簡潔,且減少對其他程序模塊的依賴性,程序核心的函數即算法部分筆者采用自己設定而不是調用其它程序中的函數及功能模塊。筆者對此程序中函數部分采取了如下編程思路:
a. 定義方程中各變量,形成法方程組中的各元素;
b. 寫出法方程組;
c. 求解法方程組并輸出至窗口。
(3)考慮到曲線是基于采樣點經方程求解后得出,筆者將采樣點的線寬設置為5且為綠色,而將曲線設置為1,這樣點在圖像中醒目且當曲線偏離采樣點時即說明誤差較大,可以考慮舍去不在線上的畸點。繪制曲線的具體代碼屬于VB語言中的picture命令,相對定義并求解法方程組代碼較為簡單。
1.4.2 輸出 exe文件
在結束上述編程過程后,對工程進行調試運行,對發現的問題進行修改,并對工程窗口界面進行仔細調整,設置程序圖標。最終輸出可執行exe文件。
2.1 對EH100-80-2315型離心泵的曲線擬合
2.1.1 全數據擬合
在對某石化廠常減壓裝置EH100-80-2315型離心泵進行節能改造過程中,為得到準確的Q,H值,現應用本程序對其性能曲線進行擬合并求解出方程。離心泵在工作轉速下實驗數據如表1。

表1 離心泵流量揚程采集值表Table 1 Centrifugal pump Q – H measured value table
使用程序載入txt格式原始數據文件,選取擬合次數為3次,4次,5次,6次;分別點擊曲線擬合按鍵,可直接得到擬合后的曲線及本型號離心泵流量和揚程曲線方程。由擬合曲線的形式我們可以看出3點為畸點,當擬合次數高于4次時,曲線畸形(圖1)。


圖1 擬合次數為3~6次后的程序界面Fig.1 Program interface fitted 3~6 times
2.1.2 去掉畸點擬合
去掉畸點3,再次對曲線進行擬合,重復上述步奏,可以看出曲線更加平滑且擬合次數直至7次,也沒有發生病態(圖2)。

圖2 去掉畸點后擬合7次的程序界面Fig.2 The program interface fitted 7times after removing the abnormal point
最終所得7次方程為:

2.2 擬合值與測定值誤差計算
對擬合后的H值與測定值進行比較計算,誤差如表2。
綜上,除去畸點3后,擬合曲線方程求解值與實測值誤差全部在10的負4次冪以下,即便是畸點3驗證后誤差也僅為1.23×10-3,這說明本程序的求解值是較精確的。

表2 離心泵流量揚程采集值與擬合值誤差表Table 2 Centrifugal pump Q - H acquisition and fitted values error table
通過上述基于VB 語言開發的程序,最終實現了最小二乘法擬合曲線這一復雜的數值計算以及繪圖過程,輕松解出了離心泵流量和揚程曲線性能曲線的表達式。本程序具有如下優點:
(1)程序簡單、易用、求解效率高;
(2)程序小巧、獨立、占用內存小,對數據形式無特殊要求;
(3)程序適用范圍廣。由于本程序所采用的數學模型為多項式形式,所以本程序還可用于擬合各種容積泵的特性曲線方程,實際使用過程中只需要對變量進行相應的替換即可;
(4)擬合次數可由用戶自選,人機交互界面友好;
(5)將擬合次數控制在多項式方程組多數良態以內,且擬合次數可由用戶依據實際情況自選,擬合誤差小,計算精度比較高。
[1]石一民. 離心泵性能曲線多項式擬合的一種簡單方法[J]. 石油庫與加油站, 2005, 14( 2): 40- 42.
[2]宋生奎,齊永生,等. 快速擬合離心泵性能曲線的兩種方法[J] . 油氣儲運,2000,19 (7):49-51: 57.
[3]商建平,俞樹榮,等. 基于矩陣運算的離心泵性能曲線擬合方法[J].蘭州石化職業技術學院學報, 2008, 8( 3):14-15.
[4]陳乃祥,吳玉林. 離心泵[M]. 北京:機械工業出版社, 2003.
[5]魏佳廣, 孫鐵, 趙志海. 基于MATLAB GUI 技術的離心泵裝置特性繪制軟件二次開發[J]. 計算技術與自動化, 2010, 39(3):27-30.
[6]王宏偉,王蕊,商德勇,于治福. 基于VB和Matlab混合編程的離心泵測試數據分析[J]. 煤礦機械, 2008, 29(5):192-193.
[7]肖燕,孫崇浩,袁宗明,鞠蘭. 離心泵流量-揚程性能曲線的擬合方法探討[J]. 石油機械, 2006, 34(5):68-69.
[8]宋岱才, 路永潔, 劉國志, 陳明明. 數值計算方法[M]. 北京:中國經濟出版社,2006.
[9]李慶揚,王志超,易大義. 數值分析[M].第三版. 武漢:華中科技大學,1986.
[10]Burden,R.L. and Fairces J.D. Numerical Analysis Prindle[M]. Boston Weder Schmidt,1989.
Fitting Centrifugal Pump Performance Curve Based on Visual Basic
LIU Hong-ming1,SUN Tie1,LIU Song2,WANG Liang3,WEI Jia-guang4
(1. College of Mechanical Engineering,Liaoning Shihua University,Liaoning Fushun 113001,China;2. Engineering Training Center,Anyang Institute of Technology,Henan Anyang 455000,China;3. China Petroleum & Chemical Corporation Cangzhou Branch,Hebei Cangzhou 061000,China;4. COOEC Offshore Oil Engineering Co,.Ltd.,Tianjin 300452,China)
Centrifugal pump performance curve is the basis of measuring the performance, type selection calculation and optimal operation of the centrifugal pump. After the test,in order to get more accurate data based on the sampling point, curve of experimental data needs to be fitted. In this paper, taking fitting flow and head curve of centrifugal pump as an example, the method to fit the curve by programming based visual basic with the least square method was introduced. The practical application has proved that the method has many advantages, and can effectively solve data processing problems in centrifugal pump type selection and curve fitting in petrochemical industry.
Centrifugal pump;Performance curve;Least square method;Fitting curve;Visual Basic
TQ 018
: A
: 1671-0460(2014)04-0648-04
遼寧省教育廳科技基金項目,項目號:L2010250。
2013-10-10
劉紅明(1986-),男,河北滄州人,碩士研究生,研究方向:離心泵及管路系統節能優化。E-mail:hope-victory@163.com。