于 在 甫
(華電金沙江上游水電開發(fā)有限公司蘇洼龍分公司,四川 成都 610041)
隨著我國水電建設(shè)的不斷發(fā)展,水電站監(jiān)控的發(fā)展也經(jīng)歷了人工監(jiān)控、電話調(diào)度和遠(yuǎn)動化監(jiān)控,以及以計算機(jī)為核心、以現(xiàn)代化數(shù)據(jù)通信為基礎(chǔ)的計算機(jī)監(jiān)控系統(tǒng)等階段。水電廠應(yīng)用計算機(jī)監(jiān)控系統(tǒng)對提高自動化水平,保證安全運(yùn)行,提高經(jīng)濟(jì)效益,改善勞動條件,促進(jìn)技術(shù)進(jìn)步都具有十分重要的意義。
根據(jù)電力行業(yè)相關(guān)標(biāo)準(zhǔn)要求,機(jī)組現(xiàn)地控制單元,即電站計算機(jī)監(jiān)控系統(tǒng)下位機(jī)的順序控制和調(diào)節(jié)需要具備機(jī)組正常開、停機(jī)順序控制及緊急停機(jī)順序控制[1]。在電站的實(shí)際應(yīng)用中,一般會根據(jù)機(jī)組事故等級,將機(jī)組緊急停機(jī)順序控制程序分為三類:電氣事故停機(jī)、機(jī)械事故停機(jī)、緊急事故停機(jī)。
同時,水電站各類輔助設(shè)備信息化、智能化越來越高,技術(shù)人才逐漸緊缺,都對水電站監(jiān)控系統(tǒng)的穩(wěn)定性、可靠性帶來一定影響。各個監(jiān)控設(shè)備廠家針對這一需求,也對各自的計算機(jī)監(jiān)控系統(tǒng)進(jìn)行了迭代升級。根據(jù)相關(guān)要求,對監(jiān)控系統(tǒng)軟件的修改,應(yīng)制定相應(yīng)的技術(shù)方案并經(jīng)技術(shù)管理部門審定后執(zhí)行。經(jīng)過模擬測試和現(xiàn)場試驗(yàn),合格后方可投入正式運(yùn)行。實(shí)施軟件改進(jìn)前,應(yīng)對當(dāng)前運(yùn)行的應(yīng)用軟件進(jìn)行備份并做好記錄。改進(jìn)實(shí)施完成后,應(yīng)做好最新應(yīng)用軟件的備份,及時更新軟件功能手冊及相關(guān)運(yùn)行手冊。若軟件改進(jìn)涉及到多臺設(shè)備,且不能一次完成時,宜采用軟件改進(jìn)跟蹤表,以便跟蹤記錄改進(jìn)的實(shí)施情況[2]。
在計算機(jī)監(jiān)控系統(tǒng)不斷升級的過程中,仍不可避免地會出現(xiàn)一些BUG。由于主、客觀原因,調(diào)試人員在升級完程序后進(jìn)行調(diào)試或者試驗(yàn)時,并不能完全真實(shí)地模擬機(jī)組所有狀態(tài),導(dǎo)致這些BUG不能得到及時的處理,給計算機(jī)監(jiān)控系統(tǒng)帶來隱藏的故障或缺陷。由于這類故障或缺陷的隱蔽性,在機(jī)組正常運(yùn)行時不會暴露出來,一旦出現(xiàn)往往會帶來極大的危害。本文描述的這類缺陷在計算機(jī)監(jiān)控系統(tǒng)缺陷中,屬于典型的程序邏輯錯誤,給機(jī)組控制流程帶來隱藏缺陷。因?yàn)樯婕暗綑C(jī)組緊急停機(jī)流程,一旦機(jī)組發(fā)生事故,就可能繼續(xù)擴(kuò)大,發(fā)生機(jī)組二級過速甚至飛逸事故。
四川某水電站,計算機(jī)監(jiān)控系統(tǒng)按照“無人值班(少人值守)”的原則設(shè)計,能受到現(xiàn)地控制單元(LCU)、 中控室、四川省電力調(diào)度中心的監(jiān)視和控制[3]。上位機(jī)采用北京中水科技水電科技開發(fā)有限公司開發(fā)的H9000水電廠計算機(jī)監(jiān)控系統(tǒng)結(jié)構(gòu)及配置:下位機(jī)LCU采用國電南京自動化股份有限公司供貨,以施耐德可編程控制器(PLC)為基礎(chǔ)構(gòu)成(在建的遠(yuǎn)程控制系統(tǒng)亦由國電南京自動化股份有限公司供貨及技術(shù)支持)。
該電站計算機(jī)監(jiān)控系統(tǒng)具有以下主要功能:
(1)數(shù)據(jù)采集和處理;
(2)安全運(yùn)行監(jiān)視;
(3)自動發(fā)電控制(AGC);
(4)自動電壓控制(AVC);
(5)人機(jī)接口及操作;
(6)設(shè)備運(yùn)行管理指導(dǎo);
(7)系統(tǒng)自動診斷與自動恢復(fù);
(8)系統(tǒng)通信。
在一次機(jī)組檢修過程中,開展機(jī)組監(jiān)控系統(tǒng)事故流程模擬試驗(yàn),發(fā)現(xiàn)當(dāng)模擬“機(jī)組轉(zhuǎn)速大于二級過速(145% Ne)”事故源,機(jī)組能夠按照要求啟動緊急停機(jī)流程,并“動作快速門”(緊急落門)。但是,當(dāng)同時模擬“調(diào)速器手動,且轉(zhuǎn)速大于115%”、“機(jī)組轉(zhuǎn)速大于二級過速(145%Ne)”時,機(jī)組并不能正常“動作快速門”。
該電站采用引水調(diào)壓式,通過壓力鋼管將水庫水源引致調(diào)壓室,經(jīng)過調(diào)壓室工作閘門控制將水源送至水輪機(jī)組。在機(jī)組正常運(yùn)轉(zhuǎn)時,只通過導(dǎo)葉控制機(jī)組轉(zhuǎn)速及機(jī)組狀態(tài)轉(zhuǎn)換過程。當(dāng)機(jī)組發(fā)生嚴(yán)重事故,導(dǎo)葉關(guān)閉失敗或者機(jī)組轉(zhuǎn)速過快(大于額定轉(zhuǎn)速145%),就要通過落下調(diào)壓室工作閘門來切斷水源,防止事故擴(kuò)大。
在監(jiān)控系統(tǒng)機(jī)組LCU控制程序中,對機(jī)組事故進(jìn)行了分類,分別有電氣事故、機(jī)械事故、緊急事故。對于緊急事故,根據(jù)事故原因的不同,動作結(jié)果分為落工作門與不落工作門兩種。經(jīng)過本次檢修測試發(fā)現(xiàn),當(dāng)同時發(fā)生導(dǎo)致落門與不落門的事故時,不落門的事故源會覆蓋需要落門的事故啟動源,導(dǎo)致工作門不再需要時及時落下,造成極大的安全隱患。
機(jī)組事故流程控制主要由計算機(jī)監(jiān)控系統(tǒng)下位機(jī)控制,主控為機(jī)組LCU,輔控為水機(jī)保護(hù)柜PLC。該電站下位機(jī)由國電南京自動化股份有限公司供貨,采用施耐德品牌可編程控制器。經(jīng)分析,此缺陷的原因主要是下位機(jī)PLC控制程序BUG導(dǎo)致。
該電站下位機(jī)LCU采用施耐德品牌昆騰系列PLC,調(diào)試軟件為UNITY Pro,主程序及程序段根據(jù)具體需求,采用以下語言編寫:
功能塊圖FBD、梯形圖(LD) 語言、指令列表IL、結(jié)構(gòu)化文本ST、序列控制SFC。
所有編程語言可在同一項(xiàng)目中混用,并符合IEC 61131-3標(biāo)準(zhǔn)。UNITY Pro附帶的擴(kuò)展功能塊庫中包含各種功能,從簡單布爾運(yùn)算的功能塊、進(jìn)行字符串和數(shù)組操作的功能塊到對復(fù)雜控制回路進(jìn)行控制的功能塊都有[4]。
一個完整的控制程序可由以下元素構(gòu)成:
主任務(wù)(MAST)、快速任務(wù)(FAST)、1~4個Aux任務(wù)、為其分配一項(xiàng)已定義任務(wù)的段、用于處理由時間控制的事件的段(Tlmerx)、用于處理由硬件控制的事件的段(EVTx)、 子程序段。
該電站下位機(jī)LCU控制程序有一個主程序 MAIN-PROC和許多子程序段構(gòu)成。機(jī)組運(yùn)行至今,機(jī)組LCU及水機(jī)保護(hù)PLC控制程序共進(jìn)行過“加裝機(jī)組運(yùn)行過程中主軸密封水中斷啟動事故停機(jī)流程”、“區(qū)分機(jī)組事故停機(jī)、緊急停機(jī)過程”、“將事故停機(jī)、緊急停機(jī)事故過程分優(yōu)先級”等多項(xiàng)修正和升級。
在機(jī)組LCU及水機(jī)保護(hù)PLC控制程序升級過程中,監(jiān)控廠家及業(yè)主單位都對監(jiān)控系統(tǒng)各項(xiàng)功能進(jìn)行了測試,并對機(jī)組流程進(jìn)行了試驗(yàn)。歷次試驗(yàn)中,均未發(fā)現(xiàn)監(jiān)控系統(tǒng)BUG出現(xiàn)故障。
經(jīng)查,此次BUG故障發(fā)生在幾種不同語言編寫的程序段中,其中機(jī)組緊急停機(jī)事故判定程序采用功能塊圖FBD語言編寫,程序段主要內(nèi)容見圖1。
如圖1所示,在機(jī)組開關(guān)量、中斷量同時報“機(jī)組轉(zhuǎn)速大于145%Ne故障”信號時(圖1中轉(zhuǎn)速大于145%信號滿足),且信號保持時長大于300毫秒(途中信號過濾),將會給事故啟動源中間變量“RESON”置值為3(圖1中啟動源置為3),然后經(jīng)綜合判定、上升沿觸發(fā)、流程閉鎖等一系列程序流,再分別對控制對象置值、對控制接受置值、對流程步驟置值、對啟動原因置值、對下位機(jī)LCU號置值,并執(zhí)行子程序調(diào)用。在此過程中,流程將機(jī)組控制流程控制接受值“RCEVIVE.CMMD”置為2。當(dāng)機(jī)組控制流程接受值“RCEVIVE.CMMD”等于“2”時,流程跳轉(zhuǎn)到另一組由結(jié)構(gòu)化文本ST語言編寫的程序段,此后將機(jī)組流程轉(zhuǎn)為緊急事故停機(jī)流程,再將機(jī)組工況轉(zhuǎn)換流程步驟跳轉(zhuǎn)到第200步,進(jìn)入機(jī)組緊急停機(jī)流程見圖2。
當(dāng)模擬“機(jī)組轉(zhuǎn)速大于二級過速”事故時,機(jī)組LCU監(jiān)控程序按照以上方式,觸發(fā)緊急停機(jī)流程,然后根據(jù)事故源中間變量REASON的值來判定動作快速門,即:當(dāng)“REASON”大于0且小于5時給落門控制零,并保持120秒確保工作門落門到位,然后繼續(xù)執(zhí)行投數(shù)固配壓閥、向電調(diào)柜發(fā)出緊急停機(jī)令、事故跳發(fā)電機(jī)出口斷路器DL2第1組跳閘線圈、事故跳發(fā)電機(jī)出口斷路器DL2第2組跳閘線圈、跳滅磁開關(guān)等一系列操作。當(dāng)“REASON”的值不是0~5之間時,不執(zhí)行落門程序,直接執(zhí)行投數(shù)固配壓閥、向電調(diào)柜發(fā)出緊急停機(jī)令、事故跳發(fā)電機(jī)出口斷路器DL2第1組跳閘線圈、事故跳發(fā)電機(jī)出口斷路器DL2第2組跳閘線圈、跳滅磁開關(guān)等一系列操作。
當(dāng)同時模擬“調(diào)速器手動且轉(zhuǎn)速大于115%”、“機(jī)組轉(zhuǎn)速大于二級過速(145% Ne)”時,存在兩個事故判定源。“調(diào)速器手動且轉(zhuǎn)速大于115%”事故將事故源中間變量REASON的值置為7,而“機(jī)組轉(zhuǎn)速大于二級過速(145%Ne)”將事故源中間變量REASON置為3。
根據(jù)施耐德編程手冊可知,F(xiàn)BD功能塊程序執(zhí)行的順序由信號流決定,并行功能塊執(zhí)行順序由功能塊的執(zhí)行編號指示,執(zhí)行編號數(shù)值代表執(zhí)行次序。由圖1可以看出,將事故源中間變量REASON置為3的功能塊執(zhí)行編號為16,將事故源中間變量REASON置為6的功能塊執(zhí)行編號為51。由此可知,當(dāng)這兩個事故源同時存在時,程序執(zhí)行過程中,中間變量REASON先被置為3,后被置為7,最后按照REASON置為7來執(zhí)行后續(xù)程序,此時,程序?qū)⑴卸C(jī)組緊急停機(jī)狀態(tài)為不落門的一種。這也是在本次檢修中,當(dāng)同時模擬的兩個事故源時,機(jī)組不能正常動作快速門的原因。而且,一旦進(jìn)入緊急停機(jī)流程,將按照當(dāng)前緊急停機(jī)流程啟動源執(zhí)行,即便事故擴(kuò)大至需要動作工作門的事故時,由于已經(jīng)在緊急停機(jī)流程中,新的事故源即便被識別也不會執(zhí)行。當(dāng)存在兩種情況會導(dǎo)致需要落工作門的事故時,工作門無法落下:

圖2 進(jìn)入機(jī)組緊急停機(jī)流程
(1)同時發(fā)生需要落門和不需要落門的緊急停機(jī)事故;
(2)先發(fā)生了不需要落門的緊急停機(jī)事故,然后事故擴(kuò)大發(fā)生了需要落門的緊急停機(jī)事故。
從圖1可以看出,不僅事故源“調(diào)速器手動,且轉(zhuǎn)速大于115%”存在時,會導(dǎo)致“機(jī)組轉(zhuǎn)速大于二級過速(145% Ne)”事故源無法觸發(fā),緊急停機(jī)的最后三個事故源存在時(分別將REASON置為5、6、7),都將閉鎖前四個需要動作事故門,使緊急停機(jī)流程無法觸發(fā)。如果最后三個事故源先滿足條件的話,也將占用緊急停機(jī)流程,導(dǎo)致前四個事故源無法觸發(fā)。
根據(jù)《NB /T 35004- 2013水力發(fā)電廠自動化設(shè)計技術(shù)規(guī)范》規(guī)定,當(dāng)機(jī)組發(fā)生下列事故時,應(yīng)關(guān)閉快速事故閘門或蝶閥、球閥、圓筒閥,并啟動水力機(jī)械事故停機(jī)流程:
(1)機(jī)組過速到最大瞬態(tài)轉(zhuǎn)速的規(guī)定值加3%額定轉(zhuǎn)速(二級過速)時,電氣轉(zhuǎn)速信號器動作;
(2)機(jī)組過速到最大瞬態(tài)轉(zhuǎn)速的規(guī)定值加5%額定轉(zhuǎn)速(二級過速)時,機(jī)械液壓過速保護(hù)裝置或機(jī)械過速開關(guān)動作。
機(jī)組在發(fā)生事故的時候,特別是過速事故時,都是從額定轉(zhuǎn)速增加到一級過速(115%Ne),然后發(fā)展到二級過速。如果監(jiān)控系統(tǒng)不能正確動作,將會給機(jī)組穩(wěn)定運(yùn)行帶來極大的安全隱患。
為了消除缺陷,修復(fù)機(jī)組監(jiān)控流程BUG,可以采取兩種方式:
第一種方式:將需要動作于落門的緊急停機(jī)事故與不動作落門緊急停機(jī)流程獨(dú)立開,即將緊急停機(jī)流程分為兩個,不動作于落門的一級緊急流程獨(dú)立動作,當(dāng)動作于落門的二級停機(jī)流程動作后,閉鎖一級緊急停機(jī)流程,執(zhí)行二級緊急停機(jī)流程,確保在事故擴(kuò)大時工作閘門能夠可靠動作。這樣修改的優(yōu)點(diǎn)是:不管兩事故同時發(fā)生、還是不需要動作落門的事故先發(fā)生,一旦需要動作落門事故發(fā)生,就會執(zhí)行落門的緊急停機(jī)事故。缺點(diǎn)是:程序改動較大,在程序改動的過程中,有帶來其他漏洞的風(fēng)險。
第二種方式:在緊急停機(jī)7個啟動源中,將需要落門的緊急停機(jī)事故啟動源程序塊(FBD功能塊)調(diào)整到不需要落門的緊急停機(jī)事故啟動源程序塊之后。這樣修改的優(yōu)點(diǎn)是:當(dāng)同時發(fā)生需要落工作門和不需要落工作門的緊急停機(jī)事故時,能夠保證機(jī)組緊急停機(jī)事故正常落門,程序改動較小。缺點(diǎn)是:如果不需要落門的緊急停機(jī)事故先發(fā)生,后續(xù)事故擴(kuò)大發(fā)生了需要落門的緊急停機(jī)事故時,工作門不能正常落下。
經(jīng)該電站與監(jiān)控系統(tǒng)供應(yīng)商共同協(xié)商后,計劃先按照方案2執(zhí)行,待后期改造時再處理遺留問題。檢修單位根據(jù)業(yè)主意見,將機(jī)組LCU及水機(jī)保護(hù)PLC控制程序根據(jù)方案2進(jìn)行了修改,并對機(jī)組重新進(jìn)行了流程試驗(yàn)。經(jīng)試驗(yàn)驗(yàn)證:當(dāng)發(fā)生機(jī)組緊急停機(jī)事故時(模擬事故信號),機(jī)組緊急流程能夠正常動作;當(dāng)同時發(fā)生需要落門的緊急停機(jī)事故以及不需要落門的緊急停機(jī)事故時,機(jī)組緊急停機(jī)流程能夠正常動作,并能夠正常地動作于落工作閘門。
根據(jù)計算機(jī)監(jiān)控系統(tǒng)試驗(yàn)驗(yàn)收規(guī)程要求,監(jiān)控系統(tǒng)試驗(yàn)驗(yàn)收工作中,需要通過各種人機(jī)接口設(shè)備(如現(xiàn)地/廠站,鍵盤/按鈕等)發(fā)出控制命令或模擬啟動條件啟動控制流程。各種命令或啟動條件所引發(fā)的控制操作(包括成功與失敗)、提示、登錄、報警及相應(yīng)處理等應(yīng)滿足受檢產(chǎn)品技術(shù)條件規(guī)定,且最終的控制流程及設(shè)置的有關(guān)參數(shù)應(yīng)與現(xiàn)場設(shè)備要求一致[5]。在水電站監(jiān)控系統(tǒng)設(shè)備調(diào)試過程中,需要模擬各類機(jī)組事故來驗(yàn)證機(jī)組事故流程能否正常啟動。然而,機(jī)組事故發(fā)生時存在很多不確定性,甚至可能多類事同時發(fā)生。在面對各類復(fù)雜情況下,怎樣驗(yàn)證監(jiān)控系統(tǒng)流程是否正常啟動,怎樣檢查各類設(shè)備動作情況,是監(jiān)控調(diào)試人員需要重點(diǎn)關(guān)注的事情。
為實(shí)現(xiàn)國家“碳達(dá)峰”和“碳中和”的總體目標(biāo),清潔能源必將迎來新的發(fā)展。而計算機(jī)監(jiān)控系統(tǒng)作為電站的大腦,如何在不斷的迭代發(fā)展中,保證電站的安全穩(wěn)定運(yùn)行,就顯得尤為重要。在電站建設(shè)中,特別是電站計算機(jī)監(jiān)控系統(tǒng)建設(shè)中,一定要大膽驗(yàn)證。同時,在電站檢修調(diào)試過程中,應(yīng)盡量模擬機(jī)組真實(shí)的故障現(xiàn)象,并以發(fā)展的眼光看待機(jī)組事故,讓機(jī)組安全穩(wěn)定運(yùn)行的各種保障措施真正發(fā)揮作用。