呂秦,楊惠德
(四川染料廠,重慶 401256)
關(guān)鍵字:標準;天然氣;壓縮因子;密度;Octave軟件;IEC 61131-3
根據(jù)ISO 12213-2國際標準,我國對天然氣壓縮因子的計算頒布了相應(yīng)的國家標準,即GB/T 17747.2[1]。該標準等效采用ISO國際標準,但刪除了國際標準中附錄F的有關(guān)程序?qū)崿F(xiàn)部分。經(jīng)與國際標準的程序?qū)φ眨梢园l(fā)現(xiàn),國家標準中的(B.6)公式中累加項前的系數(shù)為1,而對照國際標準ISO 12213-2:2009[2]附錄F的程序,其系數(shù)為2,因此,有必要確定其系數(shù)實際值,即需要對天然氣壓縮因子的計算進行仿真,確定其系數(shù)值。
國際標準ISO 12213-2附錄F提供了Fortran編程語言的程序,但目前大多數(shù)科學計算都采用MATLAB實現(xiàn)。由于美國對我國有關(guān)單位使用MATLAB的限制,因此,需要有對應(yīng)的仿真軟件用于對天然氣壓縮因子計算進行仿真。為此,本文采用Octave軟件進行天然氣壓縮因子的計算仿真。Octave軟件是開源軟件,其源于MATLAB。為檢驗其可替代性,本文將MATLAB程序和Octave程序進行了比較,實際結(jié)果顯示,大多數(shù)MATLAB的語言可直接用于Octave程序,其主要區(qū)別是MATLAB程序中,一些關(guān)鍵字可用縮寫,而Octave程序中,雖然可以使用,但會提示警告。例如,fonts關(guān)鍵字,在Octave程序中應(yīng)列出全稱fontsize。此外,MATLAB程序中的for…end循環(huán)語句,在Octave程序中應(yīng)表示為for…endfor等。而且程序執(zhí)行速度也比MATLAB的程序執(zhí)行要慢些。
根據(jù)國際標準附錄F提供的Fortran程序編寫了Octave程序,該程序采用友好的用戶界面,可根據(jù)天然氣的壓力和溫度以及各組分的體積百分比,計算該工況下天然氣的壓縮因子和密度。圖1是采用標準提供的1#樣氣組分和有關(guān)溫度和壓力,計算天然氣壓縮因子和密度的顯示畫面。
圖1中,天然氣入口溫度為-3.15℃,入口絕壓為6 MPa,采用標準1#樣氣的組分值,見圖中各組分值。計算結(jié)果是該工況下天然氣的壓縮因子是0.840 5。該計算采用(B.6)公式的累加項前的系數(shù)是2。
圖1 仿真計算天然氣壓縮因子的顯示畫面Fig.1 Simulation calculation of display screen of compressibility factor of LNG
表1列出標準所提供樣氣和規(guī)定溫度下的壓縮因子和仿真計算結(jié)果的比較。樣氣的組分見國家標準的表C.1。
表1中的比較結(jié)果,第一行數(shù)據(jù)是標準所提供的壓縮因子數(shù)據(jù)。第二行數(shù)據(jù)是(B.6)公式的累加項前的系數(shù)是2的仿真結(jié)果及與標準數(shù)據(jù)的相對誤差。第三行是(B.6)公式的累加項前的系數(shù)是1的結(jié)果及與標準數(shù)據(jù)的相對誤差??梢钥吹剑藰託?、5和6的部分仿真數(shù)據(jù),第三行的數(shù)值優(yōu)于第二行外,其他情況下,其與標準數(shù)據(jù)的誤差都要更大。說明國際標準和國家標準中(B.6)公式的累加項前的系數(shù)擬應(yīng)是2,它與國際標準中附錄F提供的程序是一致的。
表1 標準樣氣和規(guī)定溫度下的壓縮因子和仿真計算結(jié)果的比較Tab.1 Comparison of compression factor and simulation results between standard sample gas and specified temperature
(續(xù)表1)
在DCS系統(tǒng)中,天然氣壓縮因子的計算采用專門的計算模塊,例如,Emerson公司的Delta V集散控制系統(tǒng)中有AGA-SI模塊。其內(nèi)部除了有壓縮因子計算的AGA-8算法外,還包括AGA-7(渦輪流量計)算法和AGA-3(孔板流量計)算法。其結(jié)構(gòu)框圖見圖2。
圖2 Emerson公司的AGA-SI模塊的內(nèi)部結(jié)構(gòu)圖Fig.2 The internal structure diagram of AGA-SI module of Emerson Company
采用渦輪流量計時,不采用AGA-8算法,采用差壓式流量計時,需采用AGA-8算法和AGA-3算法。因此,實際應(yīng)用時主要用于標準孔板等差壓式流量計測量天然氣的流量。采用AGA-8算法,需要購買SI模塊,這將增加成本。為解決實際應(yīng)用,可采用DCS的有關(guān)算法自行搭建。例如,采用DCS提供的符合IEC 61131-3標準的功能塊圖編程語言實現(xiàn)AGA-8算法[3]。
與Octave軟件仿真編程程序的不同點是,DCS的程序充分利用IEC 61131-3編程語言中功能塊編程語言的迭代功能,即它先設(shè)置密度的初值,然后計算對應(yīng)的壓縮因子,再計算出該工況下的密度。然后,以該密度值作為下一次迭代的初值,并進行下次壓縮因子的計算等,直到兩者相等。而Octave軟件采用牛頓求根法。即在給定區(qū)間內(nèi),如果區(qū)間內(nèi)兩個函數(shù)值之積小于零(表示它們是異號),則區(qū)間被縮小,直到區(qū)間縮小到規(guī)定的范圍,則該值就是函數(shù)的根[4]。
圖3顯示某天然氣處理廠的壓縮因子和密度計算的顯示畫面。圖中,溫度為常溫,壓力為常壓,其輸入是兩個AI的輸出,其中,一個是天然氣溫度變送器信號經(jīng)AI模塊的輸出,它作為t1輸入。另一個是絕對壓力變送器信號經(jīng)AI模塊的輸出,它作為p1輸入。
圖3 用IEC61131-3編程語言編寫的天然氣計算程序和結(jié)果顯示Fig.3 LNG calculation program written in IEC61131-3 programming language and the results show
當用于標準孔板計算天然氣流量時,本程序的輸出(天然氣壓縮因子和密度)將作為流量計算的輸入,與常規(guī)的差壓式流量計計算方法相同,此處不多述。
圖3顯示的天然氣壓縮因子Z1和密度rum1的值與Octave程序的結(jié)果是一致的。該廠的實驗測試數(shù)據(jù)是:壓縮因子0.998 64(圖3顯示值0.997 57,相對誤差-0.107%),密度0.041 627(圖3顯示值0.041 672,相對誤差0.108%)。
同樣,如果(B.6)公式中的累加項系數(shù)用1時,計算結(jié)果為:壓縮因子是0.975 73,密度是0.041 672。
根據(jù)仿真結(jié)果,本文認為,雖然標準中(B.6)公式的累加項前系數(shù)采用1仍可滿足應(yīng)用要求,但采用2更為合適。仿真結(jié)果也顯示,隨天然氣組分中甲烷含量的增加,采用系數(shù)2的結(jié)果具有較高精度。目前,由于國家標準將附錄F刪除,讀者根據(jù)(B.6)公式只能采用系數(shù)1。因此,建議國家標準再版時進行修改。
為降低成本,可以用功能塊圖編程語言編寫天然氣壓縮因子計算程序,其實施方法簡單。此外,采用功能塊圖編程語言實現(xiàn)的迭代方法可簡化程序,不需要購買SI模塊,降低了成本。