段彩麗,薛 義,辛勝偉,郝劍琴
(1.國(guó)家能源集團(tuán)國(guó)神技術(shù)研究院,陜西 西安 710065;2.神頭第二發(fā)電廠,山西 朔州 036000;3.國(guó)家能源集團(tuán)循環(huán)流化床技術(shù)研發(fā)中心,陜西 西安 710065)
《防止電力生產(chǎn)事故的二十五項(xiàng)重點(diǎn)要求》(國(guó)能安全[2014]161號(hào))8.3.4條規(guī)定,機(jī)組正常運(yùn)行時(shí),主、再熱蒸汽溫度在10分鐘內(nèi)突然下降50 ℃,應(yīng)立即打閘停機(jī)[1]。因主汽溫度突然下降50 ℃,可能是機(jī)組發(fā)生水沖擊的前兆,水沖擊將會(huì)引起整個(gè)機(jī)組的嚴(yán)重?fù)p壞[2]。同時(shí),汽溫急劇下降將對(duì)汽輪機(jī)部件造成急劇冷卻,產(chǎn)生很大的熱應(yīng)力和熱變形,嚴(yán)重時(shí)會(huì)引起汽輪機(jī)動(dòng)靜發(fā)生碰磨。目前,DCS分散控制系統(tǒng)未提供一種單位時(shí)間內(nèi)信號(hào)值變化幅度超限算法宏模塊,可以直接調(diào)用來實(shí)現(xiàn)主再熱汽溫10分鐘內(nèi)突降50 ℃自動(dòng)報(bào)警,一般均是通過調(diào)用工程應(yīng)用軟件中的延時(shí)算法快、高低比較算法塊、脈沖計(jì)時(shí)塊、加法塊等組合搭建組態(tài)邏輯,且組合出來的組態(tài)邏輯各不相同,影響組態(tài)效率和質(zhì)量。有些機(jī)組僅依靠運(yùn)行人員人為判斷進(jìn)行手動(dòng)打閘停運(yùn)汽輪機(jī),易造成誤判誤操作,影響機(jī)組的可靠性。所以在工程應(yīng)用中,研究一種算法來實(shí)現(xiàn)單位時(shí)間內(nèi)信號(hào)值變化幅度超限報(bào)警保護(hù)功能,是非常必要的。
目前,工程上DCS分散控制系統(tǒng)不能直接調(diào)用來實(shí)現(xiàn)主再熱汽溫10分鐘內(nèi)突降50 ℃自動(dòng)報(bào)警,部分技術(shù)人員設(shè)計(jì)的方案是指定范圍內(nèi)的終止時(shí)間點(diǎn)的信號(hào)值減去起始時(shí)間點(diǎn)信號(hào)值,差值和預(yù)先設(shè)定的變化幅度進(jìn)行比較,若大于指定變化幅度則系統(tǒng)發(fā)出報(bào)警(基本方案模型見圖1)。這種算法方案的最大缺點(diǎn)是,若出現(xiàn)中間點(diǎn)變化幅度超限,但是在指定時(shí)間段的起始點(diǎn)和終止點(diǎn)數(shù)值差未超限,則該算法無法判斷超限報(bào)警。存在的具體問題主要是:(1)分散控制系統(tǒng)組態(tài)軟件中無一種可以存儲(chǔ)10分鐘內(nèi)所有歷史數(shù)據(jù)的專用功能碼,需要利用現(xiàn)有功能碼組合實(shí)現(xiàn)10分鐘之內(nèi)的所有溫度歷史數(shù)據(jù),同時(shí)實(shí)現(xiàn)10分鐘內(nèi)溫度確實(shí)下降50 ℃的判斷邏輯,組態(tài)邏輯實(shí)現(xiàn)起來較為麻煩;(2)實(shí)現(xiàn)某一時(shí)刻溫度與10分鐘前的溫度值下降50 ℃,較為好實(shí)現(xiàn),但還需考慮10分鐘內(nèi)其他各時(shí)段如30秒、1分鐘、2分鐘……9分鐘等的溫度下降50 ℃的情況。
圖1 基本方案模型
基本思路1:每隔單位時(shí)間系統(tǒng)采樣一次信號(hào)數(shù)值,在指定的時(shí)間范圍內(nèi)采樣若干個(gè)信號(hào)值,然后進(jìn)行最大值和最小值判斷篩選。用最大值減去最小值的差值和預(yù)先設(shè)定的變化幅度進(jìn)行比較,若大于指定變化幅度則系統(tǒng)發(fā)出報(bào)警。這種算法方案設(shè)計(jì)容易理解,但適用于指定時(shí)間范圍較小的工程應(yīng)用。
基本思路2:用一種比較簡(jiǎn)單的算法,實(shí)現(xiàn)指定時(shí)間范圍內(nèi)信號(hào)變化幅度超過預(yù)先設(shè)定的范圍時(shí)的判別和報(bào)警功能。指定時(shí)間范圍內(nèi)的最大值減去當(dāng)前值,差值和預(yù)先設(shè)定的變化幅度進(jìn)行比較,若大于指定變化幅度則系統(tǒng)發(fā)出報(bào)警。這里的最大值是對(duì)于指定時(shí)間范圍內(nèi)的任一連續(xù)變化的數(shù)值。具體技術(shù)內(nèi)容包括:
(1)最大值和當(dāng)前值進(jìn)行比較。
(2)通過最大值判別邏輯比較記憶當(dāng)前出現(xiàn)的最大值。
(3)采用時(shí)間脈沖算法邏輯,當(dāng)信號(hào)變化趨勢(shì)有回頭跡象時(shí),時(shí)間脈沖功能塊可以重新計(jì)時(shí);當(dāng)時(shí)間脈沖計(jì)時(shí)期間信號(hào)變化未超限,可實(shí)現(xiàn)復(fù)位,重新開始下一周期的計(jì)時(shí)功能。
(4)可檢測(cè)鑒別以下兩種情況:指定時(shí)間范圍內(nèi),信號(hào)變化趨勢(shì)不變,幅度超限;指定時(shí)間范圍內(nèi),信號(hào)變化趨勢(shì)既有上升又有下降,且最大值和當(dāng)前值偏差超限。
監(jiān)測(cè)單位時(shí)間內(nèi)連續(xù)的信號(hào)數(shù)據(jù)為x1,x2,x3,x4,...,xn,xn+1,經(jīng)過延時(shí)存儲(chǔ)算法塊將這一組數(shù)據(jù)儲(chǔ)存為歷史數(shù)據(jù)xt-1,xt-2,xt-3,xt-4,...,xt-n,然后用當(dāng)前實(shí)時(shí)值與前一時(shí)刻的存儲(chǔ)的歷史值進(jìn)行比較[3-5],如:x2與xt-1比較,x3與xt-2比較,以此類推,xn+1與xt-n比較,進(jìn)行最大值或最小值判斷篩選,用最大值減去最小值的差值和預(yù)先設(shè)定的變化幅度進(jìn)行比較,若大于指定變化幅度則系統(tǒng)發(fā)出報(bào)警[6-7]。控制原理示意圖見圖2。
圖2 控制原理示意圖
監(jiān)測(cè)單位時(shí)間內(nèi)的信號(hào)數(shù)據(jù)x1,x2,x3,x4,...,xn,xn+1的變化趨勢(shì),并根據(jù)變化趨勢(shì)確定最值信號(hào);根據(jù)最值信號(hào)確定監(jiān)測(cè)時(shí)間范圍,獲取監(jiān)測(cè)時(shí)間范圍內(nèi)的x,得到xt-1,xt-2,xt-3,xt-4,...,xt-n;確定最值信號(hào)與當(dāng)前監(jiān)測(cè)信號(hào)之間的差值,判斷差值是否處于預(yù)定報(bào)警區(qū)間內(nèi);在差值超過預(yù)定報(bào)警區(qū)間內(nèi)的情況下,發(fā)出報(bào)警信號(hào)。控制原理示意見圖3。
圖3 控制原理示意圖
2.3.1 設(shè)計(jì)方案1
單位時(shí)間內(nèi)信號(hào)值變化幅度超限新算法設(shè)計(jì)方案1的基本模型見圖4。采集單位時(shí)間之內(nèi)的所有輸入x歷史數(shù)據(jù),是通過t秒、2t秒,...,n*t秒總計(jì)n/t個(gè)模擬量延時(shí)塊實(shí)現(xiàn)。t秒的模擬量延時(shí)塊的當(dāng)前輸出值為t秒前的數(shù)據(jù),2t秒的延時(shí)塊的當(dāng)前輸出值為2t秒前的數(shù)據(jù),依次類推,n*t秒的延時(shí)塊的當(dāng)前輸出值為n*t秒前的數(shù)據(jù)。故通過n/t個(gè)延時(shí)塊可以取出n*t/60分鐘內(nèi)間隔t秒的n/t個(gè)x的歷史數(shù)據(jù)。另外,為了精確度更高,可設(shè)置為間隔1秒的n個(gè)歷史數(shù)據(jù),但在保證誤差在允許范圍內(nèi),間隔可以適當(dāng)加大,以節(jié)約控制器內(nèi)存[8]。
11—輸入x;12a,12b,12c—模擬量延時(shí)模塊,用于對(duì)當(dāng)前信號(hào)值(即當(dāng)前值)延時(shí)后輸出,延時(shí)值可調(diào);13—大、小值比較保存模塊;14—加法塊,用于確定最大值(即最值信號(hào))與當(dāng)前值之間的差值;15—高低限比較模塊圖4 新算法設(shè)計(jì)方案1的基本模型
2.3.2 設(shè)計(jì)方案2
單位時(shí)間內(nèi)信號(hào)值變化幅度超限新算法設(shè)計(jì)方案2的基本模型見圖5。主要由大/小值判斷保持塊、超限比較塊、時(shí)間脈沖計(jì)時(shí)器、跟蹤選擇塊構(gòu)成。大/小值判斷保持塊將保存記憶的最大值與當(dāng)前值進(jìn)行比較,選擇最大值進(jìn)行保存。輸出最大值與當(dāng)前值的差值與設(shè)定的死區(qū)進(jìn)行比較,判斷是否有變化趨勢(shì)。若變化幅度超過死區(qū),則啟動(dòng)計(jì)時(shí)器。同時(shí)最大值與當(dāng)前值的差值與預(yù)先設(shè)定的變化幅度進(jìn)行比較,在計(jì)時(shí)器的計(jì)時(shí)時(shí)間段內(nèi)變化幅度超過限制值則發(fā)報(bào)警。若變化趨勢(shì)有反向變化時(shí),則計(jì)時(shí)器復(fù)位。若計(jì)時(shí)時(shí)間段內(nèi)變化幅度未超過設(shè)定值,通過切換器將最大值替換為當(dāng)前值,重新開始下一周期的檢測(cè)[9]。
21—模擬量延時(shí)模塊,用于對(duì)當(dāng)前信號(hào)值(即當(dāng)前值)延時(shí)后輸出,延時(shí)值可調(diào);22—模擬量切換模塊;23—大、小值比較保存模塊;24—加法塊,用于確定最大值(即最值信號(hào))與當(dāng)前值之間的差值;25a,25b—高低限比較模塊;26—脈沖計(jì)時(shí)模塊,當(dāng)輸入脈沖小于計(jì)時(shí)時(shí)間時(shí),輸出等于輸入脈沖的寬度;當(dāng)輸入脈沖大于計(jì)時(shí)時(shí)間時(shí),輸出等于計(jì)時(shí)時(shí)間的脈沖寬度;27—“與”門圖5 新算法設(shè)計(jì)方案2的基本模型
以某DCS分散控制系統(tǒng)舉例,實(shí)現(xiàn)火力發(fā)電廠主、再熱蒸汽溫度在單位時(shí)間內(nèi)超限報(bào)警。具體邏輯方案如下:
(1)溫度品質(zhì)判斷為壞質(zhì)量或速率超限時(shí)進(jìn)行二級(jí)報(bào)警1,提示運(yùn)行人員該測(cè)點(diǎn)已故障,需通知熱工人員處理;同時(shí)該測(cè)點(diǎn)的報(bào)警,不能作為打閘停機(jī)的依據(jù);
(2)1分鐘內(nèi)溫度下降10 ℃進(jìn)行二級(jí)報(bào)警2,提示運(yùn)行人員采取相應(yīng)調(diào)整措施,防止汽溫突降;
(3)采集主、再熱蒸汽溫度任一路信號(hào)10分鐘前任一間隔周期(1秒或5秒)的最大值,與該路溫度信號(hào)的實(shí)時(shí)值比較,若10分鐘前的歷史最大值比實(shí)時(shí)溫度值大于40 ℃進(jìn)行二級(jí)報(bào)警3,提示運(yùn)行人員密切關(guān)注偏差值,查看趨勢(shì)圖,繼續(xù)采取相應(yīng)調(diào)整措施,防止汽溫進(jìn)一步突降,同時(shí)做好打閘停機(jī)準(zhǔn)備;大于50 ℃進(jìn)行二級(jí)報(bào)警4,提示運(yùn)行人員。準(zhǔn)備打閘停機(jī)。其中10分鐘前歷史數(shù)據(jù)采集通過模擬量延時(shí)塊實(shí)現(xiàn),經(jīng)過大選模塊取得歷史數(shù)據(jù)的最大值;
(4)10分鐘前的歷史最大值比實(shí)時(shí)溫度值大于50 ℃且溫度信號(hào)正常(即無“溫度品質(zhì)判斷為壞質(zhì)量或速率超限”)進(jìn)行一級(jí)報(bào)警,提示運(yùn)行人員應(yīng)立即打閘停機(jī),防止汽輪機(jī)損壞。
應(yīng)用圖4所示方案1基本模型實(shí)現(xiàn)的汽溫突降報(bào)警邏輯組態(tài)方案見圖6。
圖6 汽溫突降報(bào)警邏輯組態(tài)方案
圖6中,采集10 分鐘之內(nèi)的所有溫度歷史數(shù)據(jù),是通過5秒、10秒、15秒、20秒、……585秒、590秒、595秒、600秒總計(jì)120個(gè)delay延時(shí)塊實(shí)現(xiàn)。5秒的delay延時(shí)塊的當(dāng)前輸出值為5秒前的數(shù)據(jù),10秒的delay延時(shí)塊的當(dāng)前輸出值為10秒前的數(shù)據(jù),依次類推,600秒的delay延時(shí)塊的當(dāng)前輸出值為600秒前的數(shù)據(jù)。故通過120個(gè)delay延時(shí)塊可取出10分鐘內(nèi)間隔5秒的120個(gè)溫度的歷史數(shù)據(jù)。另外,為了精確度更高,可設(shè)置間隔1秒的600個(gè)歷史數(shù)據(jù),但間隔5秒的歷史數(shù)據(jù),溫度誤差在0.5 ℃以下,故為了節(jié)約控制器內(nèi)存,設(shè)置為5秒間隔。
10分鐘內(nèi)各時(shí)段溫度確實(shí)下降50 ℃的判斷邏輯,是通過120個(gè)delay延時(shí)塊采集到的120個(gè)600秒內(nèi)的歷史數(shù)據(jù)取大值后,與當(dāng)前實(shí)時(shí)值比較,大于實(shí)時(shí)值50 ℃來實(shí)現(xiàn)的。
圖6所示中,實(shí)際使用中需在組態(tài)軟件中調(diào)用FC58功能碼(模擬量延時(shí)塊)、FC10功能碼(模擬量大選塊)、FC15功能碼(2輸入加法塊)、FC12功能碼(高/低比較器)、FC38功能碼(4輸入“與”門)、FC40功能碼(4輸入“或”門)、FC31功能碼(品質(zhì)檢測(cè))、FC30功能碼(模擬量例外報(bào)告)、FC45功能碼(數(shù)字量例外報(bào)告)等進(jìn)行組態(tài)。部分功能碼參數(shù)設(shè)置說明如下[10]:
FC58:實(shí)現(xiàn)5秒延的參數(shù)設(shè)置:S4=5,S5=1,實(shí)現(xiàn)10秒延時(shí)的參數(shù)設(shè)置:S4=10,S5=1;依次類推,實(shí)現(xiàn)600秒即10分鐘的參數(shù)設(shè)置:S4=600,S5=1。
FC15:實(shí)現(xiàn)“輸出=S1-S2”的參數(shù)設(shè)置:S3=1,S4=-1,實(shí)現(xiàn)“輸出=S2-S1”的參數(shù)設(shè)置:S3=-1,S4=-1。
FC31:實(shí)現(xiàn)對(duì)所有I/O模件輸入的模擬量和開關(guān)量信號(hào)的品質(zhì)判斷。4個(gè)輸入信號(hào)中的任一信號(hào)為壞點(diǎn),則輸出為1。
FC30:實(shí)現(xiàn)模擬量信號(hào)在DCS畫面的顯示和報(bào)警。實(shí)現(xiàn)“在DCS畫面顯示汽溫突降報(bào)警溫度偏差值”的組態(tài)設(shè)置:S2=4(單位索引,若規(guī)定 ℃的索引時(shí)4,則S2設(shè)置為4),S3=0(信號(hào)量程零位),S4=70(信號(hào)量程滿度),S5=40(信號(hào)高報(bào)值,若40 ℃報(bào)警,則S5設(shè)置為40),S6=0(信號(hào)低報(bào)值,若0 ℃報(bào)警,則S6設(shè)置為0;若不報(bào)警,S6設(shè)置為-9999。)。TAGNAME(標(biāo)簽名)和TAGDESC(標(biāo)簽描述)組態(tài)時(shí)編輯,為了便于在DCS畫面顯示。
FC45:實(shí)現(xiàn)開關(guān)量信號(hào)在DCS畫面的顯示和報(bào)警。實(shí)現(xiàn)“主汽溫10分鐘內(nèi)突降50 ℃報(bào)警”的組態(tài)設(shè)置:S2=2(不報(bào)警),S2=1(開關(guān)量信號(hào)為1時(shí)報(bào)警),S2=0(開關(guān)量信號(hào)為0時(shí)報(bào)警)。TAGNAME(標(biāo)簽名)和TAGDESC(標(biāo)簽描述)組態(tài)時(shí)編輯,為了便于在DCS畫面顯示。
應(yīng)用圖5所示方案2基本模型實(shí)現(xiàn)的汽溫突降50 ℃報(bào)警邏輯組態(tài)方案見圖7。
圖7中,Delay模塊用于采集溫度前一周期歷史數(shù)據(jù),通過T-AN切換器、大選模塊及脈沖計(jì)時(shí)模塊實(shí)現(xiàn)溫度最大值的采集記憶,減少控制器采集歷史數(shù)據(jù)太多而占用大量?jī)?nèi)存空間。
圖7所示中,實(shí)際使用中需在組態(tài)軟件中調(diào)用FC9功能碼(切換器)及3.1節(jié)所述功能碼,部分功能碼參數(shù)設(shè)置說明如下[10]:
FC9:根據(jù)布爾輸入
FC58:實(shí)現(xiàn)2秒延時(shí)的參數(shù)設(shè)置:S4=2,S5=1,實(shí)現(xiàn)2秒延時(shí)的參數(shù)設(shè)置。
其他功能碼參照3.1節(jié)。
圖7 汽溫突降50 ℃報(bào)警邏輯組態(tài)方案
(1)10分鐘內(nèi)數(shù)據(jù)持續(xù)下降驗(yàn)證如圖8和圖9所示。
圖8 10分鐘內(nèi)數(shù)據(jù)持續(xù)下降輸入曲線
圖9 10分鐘內(nèi)數(shù)據(jù)持續(xù)下降輸出報(bào)警
(2)10分鐘內(nèi)數(shù)據(jù)有波動(dòng)驗(yàn)證如圖10和圖11所示。
圖10 10分鐘內(nèi)數(shù)據(jù)有波動(dòng)輸入曲線
圖11 10分鐘內(nèi)數(shù)據(jù)有波動(dòng)輸出報(bào)警
數(shù)據(jù)壞點(diǎn)檢測(cè)報(bào)警驗(yàn)證如圖12和圖13所示。
圖12 信號(hào)速率變化超限和數(shù)據(jù)壞點(diǎn)輸入曲線
圖13 信號(hào)速率變化超限和數(shù)據(jù)壞點(diǎn)動(dòng)輸出報(bào)警
經(jīng)過仿真驗(yàn)證兩種設(shè)計(jì)方案均符合要求,均能實(shí)現(xiàn)汽溫突降報(bào)警功能,實(shí)現(xiàn)了單位時(shí)間內(nèi)信號(hào)值變化幅度超限報(bào)警功能。從實(shí)際應(yīng)用來看,方案2組態(tài)更簡(jiǎn)單一些。2020 年 11 月 10 日 17:00 某電廠機(jī)組汽輪機(jī)過熱汽溫10分鐘內(nèi)下降40 ℃提前報(bào)警,運(yùn)行人員調(diào)整無效,溫度繼續(xù)下降至50 ℃報(bào)警,運(yùn)行人員及時(shí)打閘停機(jī)[11],防止了事故進(jìn)一步擴(kuò)大,為汽輪機(jī)組的安全運(yùn)行提供了保證。
該文給出了兩種算法設(shè)計(jì)方案基本模型,實(shí)現(xiàn)了指定時(shí)間范圍內(nèi)信號(hào)變化幅度超過預(yù)先設(shè)定的范圍時(shí)的判別。通過兩種算法在實(shí)際工程中實(shí)現(xiàn)火電廠主再熱蒸汽溫度突降報(bào)警邏輯,對(duì)新算法設(shè)計(jì)方案模型的正確性進(jìn)行了充分驗(yàn)證。尤其新算法設(shè)計(jì)方案2,具有思路新穎、結(jié)構(gòu)簡(jiǎn)單、設(shè)計(jì)巧妙、使用的算法塊較少、幾乎不占用系統(tǒng)內(nèi)存的優(yōu)點(diǎn),對(duì)系統(tǒng)的運(yùn)算周期的影響可忽略不計(jì)[12-14]。在實(shí)際工程中應(yīng)用效果良好,實(shí)現(xiàn)了快速、準(zhǔn)確地判斷單位時(shí)間內(nèi)信號(hào)值變化幅度是否超限的技術(shù)問題,達(dá)到了預(yù)期效果。