郝麗榮 王亞鳳 許 剛
(1. 中國石油吉林石化公司化肥廠,吉林 吉林 132021;2. 遼寧大唐國際阜新煤制天然氣有限責(zé)任公司,遼寧 阜新 123000)
該合成氨裝置采用兩臺氣化爐并行工作,共用一套氧氣放空調(diào)節(jié)系統(tǒng),正常生產(chǎn)時利用常規(guī)PID調(diào)節(jié)氧氣系統(tǒng)的壓力。在單爐跳車的情況下,啟動氧氣放空前饋控制功能,快速釋放富余的氧氣,有效控制氧氣系統(tǒng)壓力,確保另一臺氣化爐可安全、穩(wěn)定運行。裝置控制系統(tǒng)采用日本橫河電機公司CS3000 R3集散控制系統(tǒng),該系統(tǒng)功能完備,具有開放友好的人機界面,操作簡便靈活,對復(fù)雜控制完全能夠通過組態(tài)實現(xiàn)。
橫河電機CENTUM CS 3000 R3 集散控制系統(tǒng)是一個結(jié)構(gòu)真正開放的系統(tǒng),它由操作站、工程師站、現(xiàn)場控制站以及V-NET控制總線等部分構(gòu)成。
橫河電機CENTUM CS 3000采用全方位的冗余配置,控制站采用高速的RISC處理器VR5432,可進(jìn)行64位浮點運算,具有強大的運算和處理能力,可以實現(xiàn)諸如多變量控制、模型預(yù)測控制及模糊邏輯等多種高級控制功能。CPU冗余容錯技術(shù)實現(xiàn)了在任何故障和隨機錯誤產(chǎn)生的情況下進(jìn)行糾錯與連續(xù)不間斷地控制。V-NET控制總線可滿足用戶對實時性和大規(guī)模數(shù)據(jù)通信的要求。同時還提供系統(tǒng)接口和網(wǎng)絡(luò)接口用于與不同廠家的系統(tǒng)、產(chǎn)品管理系統(tǒng)、設(shè)備管理系統(tǒng)和安全管理系統(tǒng)進(jìn)行通信。操作站和工程師站采用Windows XP標(biāo)準(zhǔn)操作系統(tǒng),具有窗口分層、長趨勢保存、先進(jìn)報表和各種邏輯運算功能,可靠性高。
前饋調(diào)節(jié)是一種能對干擾量的變化進(jìn)行補償?shù)目刂葡到y(tǒng)。在本氣化爐氧氣放空調(diào)節(jié)系統(tǒng)中,最大的干擾量就是單爐跳車后氧氣系統(tǒng)壓力突然增大的量。如果只采用反饋控制,當(dāng)壓力增大,偏離給定值時,則通過PID運算進(jìn)行調(diào)節(jié),但由于其運算控制的特點,對于如此大的干擾,根本無法達(dá)到使氧氣系統(tǒng)壓力及時恢復(fù)到正常值的目的,因此經(jīng)常因為氧氣系統(tǒng)壓力控制不住而使另一臺氣化爐也跳車,進(jìn)而引起整個裝置跳車,給生產(chǎn)帶來巨大損失。針對這一點引入前饋控制,實現(xiàn)前饋-反饋調(diào)節(jié),既能及時補償因單爐跳車后氧氣系統(tǒng)壓力突然增大的量,又能通過PID調(diào)節(jié)精細(xì)地控制系統(tǒng)壓力,經(jīng)實際運行驗證,可有效保證在單爐跳車的情況下,另一臺氣化爐安全、平穩(wěn)地運行,合成氨氣化爐氧放空流程和控制方案如圖1所示。
FY-02009-3運算塊用來提取1#氣化爐跳車前5、4、3s的入爐氧氣流量,F(xiàn)Y-02101-5運算塊用來取平均值作為前饋調(diào)節(jié)的量。程序設(shè)計如下:
圖1 合成氨氣化爐氧放空流程和控制方案
program
* Program will provide special type of moving average
* It stores values following:
* P01 — X(n) Current Sample
* P02 — X(n-1) previous Sample
* P03 — X(n-2)
* P04 — X(n-3)
* P05 — X(n-4)
* P06 — X(n-5)
* The moving average will be calculated as following
* MOVAVRG=( X(n-3)+X(n-4)+X(n-5) )/3
* e. g. average three second period in 3 second pase
* We get a average O2 flow before trip
Alias CUR_FLOW RV ! Current Flow Value
Alias MOVAVRG CPV! Moving Average
P06=P05
P05=P04
P04=P03
P03=P02
P02=P01
P01= CUR_FLOW
MOVAVRG=( P04+ P05+ P06)/3
end
FY-02009-4運算塊用來提取2#氣化爐跳車前5、4、3s的入爐氧氣流量,F(xiàn)Y-02201-5運算塊用來取平均值作為前饋調(diào)節(jié)的量。程序設(shè)計如下:
program
* Program will provide special type of moving average
* It stores values following:
* P01 — X(n) Current Sample
* P02 — X(n-1) previous Sample
* P03 — X(n-2)
* P04 — X(n-3)
* P05 — X(n-4)
* P06 — X(n-5)
* The moving average will be calculated as following
* MOVAVRG=( X(n-3)+X(n-4)+X(n-5) )/3
* e. g. average three second period in 3 second pase
* We get a average O2 flow before trip
Alias CUR_FLOW RV ! Current Flow Value
Alias MOVAVRG CPV! Moving Average
P06=P05
P05=P04
P04=P03
P03=P02
P02=P01
P01= CUR_FLOW
MOVAVRG=( P04+ P05+ P06)/3
end
FY-02009-1運算塊引用氣化爐跳車信號,用來選擇跳車的氣化爐跳車前的入爐氧氣流量。程序設(shè)計如下:
Program
Alias PSTS_T1 〔UA-02107.PV.ON}! PO Reactor Status—Train 1; log.0—Normal, log.1—Fail
Alias PSTS_T2 〔UA-02207.PV.ON}! PO Reactor Status—Train 2; log.0—Normal, log.1—Fail
Alias F_RATE_1 RV1 ! The averaged flow rate before trip—Train 1
Alias F_RATE_2 RV2 ! The averaged flow rate before trip—Train 2
* P01 stores previous status of reactor (Train 1) to able to catch the trip
* P02 stores previous status of reactor (Train 2) to able to catch the trip
cpv=0
if (PSTS_T1==1) AND(P01==0) then
* sends the flow rate only once, it will preopen the valve
* and the controller take cake to close it
cpv= F_RATE_1
end if
* stores currect status of Train 1 for next scan cycle
P01= PSTS_T1
if (PSTS_T2==1) AND(P02==0) then
* sends the flow rate only once, it will preopen the valve
* and the controller take cake to close it
cpv= F_RATE_2
end if
* stores currect status of Train 2 for next scan cycle
P02= PSTS_T2
end
FY-02009-2運算塊將FY-02009-1運算塊送來的已跳車的氣化爐在跳車前的入爐氧氣流量除以量程實現(xiàn)流量與閥位值的轉(zhuǎn)換,并將此信號送到PIC-02009常規(guī)PID調(diào)節(jié)器的VN端進(jìn)行前饋補償。程序設(shè)計如下:
Program
Alias F_RATE RV ! Flow rate before train trips
#define LOWCUT 150.0 ! Below the 0.5% of scale ,we don’t open the valve, e.g.150
! and negative flow does not make any trouble
cpv=P01
* if we receive F_RATE at this variable,we must calculate the valve openness
* according to the valve flow curve.we assume that it is an parabolic function with scaling.
* Our valve curve is V[%]=F(F_RATE[kg/hr])=(FLOW_RATE)*(100%)/(33000kg/hr)
If (F_RATE>LOWCUT) then
* Feedforward signal
* CorrectedMV=CorrectedMV[n]+F(F_RATE)
P01= P01+100.0* F_RATE/33000.0
* To make it safer,we limit the signal to 100.0%
P01=dmin(P01,100.0)
P01=dmax(0,P01)
else
P01=0
end if
end
該前饋-反饋控制方案可以實現(xiàn)。當(dāng)單爐跳車后,總管氧氣系統(tǒng)壓力會突然增大,為使壓力盡快恢復(fù)到正常值,引入前饋控制,在DCS中通過運算取跳車前第5、4、3s的該爐氧氣流量的平均值進(jìn)行運算,用平均值除以33 000的氧氣流量表量程轉(zhuǎn)換成與閥位對應(yīng)的輸出值作為前饋控制的輸出值,與PIC-02009調(diào)節(jié)器的原輸出值進(jìn)行疊加,使閥快速開大,以及時釋放過多的氧氣,再通過PID調(diào)節(jié)使氧氣壓力穩(wěn)定在給定值上,保證另一臺氣化爐的正常生產(chǎn)。
因為前饋控制只在跳車情況下才執(zhí)行,同時考慮到UA-02107/UA-02207跳車信號和FY-02101-5/FY-02201-5入爐氧氣流量信號是通過與ESD通信獲得,存在一定的延時問題,所以取跳車前5、4、3s采樣周期的平均氧氣流量,以準(zhǔn)確反映跳車前的實際氧氣流量。
兩臺氣化爐共用一套氧氣放空調(diào)節(jié)系統(tǒng),系統(tǒng)加入前饋控制后,提高了裝置操作的平穩(wěn)性,在單爐跳車的情況下,能很好地控制氧氣系統(tǒng)壓力,保證另一臺氣化爐安全穩(wěn)定運行,經(jīng)過兩年的實際運行驗證,有效減少了非計劃停車,取得了顯著的經(jīng)濟效益。這種前饋-反饋控制綜合了前饋與反饋控制的優(yōu)點,既發(fā)揮了前饋控制及時克服主要干擾的優(yōu)點,又保持了反饋控制能克服多種干擾,始終保持被控變量等于給定值的優(yōu)點,對這種干擾突然增大的工況是較為理想的控制方式。