(國電重慶恒泰發(fā)電有限公司,重慶 400805)
分散控制系統(tǒng)(distributed control system,DCS)是以微處理器及微型計算機為基礎,融合計算機技術、數(shù)據(jù)通信技術、CRT屏幕顯示技術和自動控制技術于一體的計算機控制系統(tǒng)。由于其具有分散控制、集中操作、分級管理、配置靈活、組態(tài)方便等特點,使其成為火力發(fā)電行業(yè)控制系統(tǒng)的標配而得到了全面、廣泛的應用。
筆者一直從事電廠DCS的維護工作。在工作中發(fā)現(xiàn),工程師在進行DCS邏輯組態(tài)時,對邏輯時序的處理問題通??紤]得比較少,這無形中對DCS邏輯的正確執(zhí)行埋下了隱患,最終可能導致事故發(fā)生。本文對DCS時序問題進行細致探討。
DCS的控制循環(huán)通常是指把DCS完成一次從信號輸入到控制運算再到控制信號輸出這個過程,稱之為一個控制循環(huán)。而完成一個控制循環(huán)所需要的時間,就是DCS的控制周期。在一個控制周期內,DCS將完成輸入數(shù)據(jù)采集、控制策略運算、控制信號輸出這一過程。
當然,較短的控制周期可以提高系統(tǒng)的可控性和控制精度,但這會增加控制器的硬件成本,同時也會加重硬件的運行負擔,不利于系統(tǒng)的穩(wěn)定。所以,工業(yè)生產(chǎn)控制領域在滿足生產(chǎn)過程控制對象要求的同時,會兼顧以上兩者,以得到最佳效果。
DCS控制器運行在實時操作系統(tǒng)上,控制器內的調度系統(tǒng)完成對任務的定時調度,可以認為DCS中控制器的控制過程是串行完成的,即在一個固定控制周期內,按順序完成數(shù)據(jù)采集、控制策略運算、控制信號輸出等過程。所以,時序也就是在DCS一個控制周期內完成一個控制循環(huán)時,各個環(huán)節(jié)執(zhí)行的先后順序。雖說DCS的這個工作順序是固定不變的,但工程師在DCS中進行邏輯組態(tài)時,如果不考慮這個時序問題,任何情況下都用同樣的邏輯算法塊,最終得到的結果將會相去甚遠。
圖1所示的算法塊是一個模擬量切換算法。該算法塊有模擬量A、模擬量B兩個輸入端,一個開關量D輸入端,一個模擬量C輸出端。模擬量切換算法塊的功能是:當D=“1”時,C=B;當D=“0” 時,C=A。
圖1 模擬量切換算法塊
圖2所示的算法塊是一個模擬量加法算法塊。該算法塊有模擬量A、模擬量B兩個輸入端,一個模擬量C輸出端。模擬量加法算法塊的功能是:A+B=C。
圖2 模擬量加法算法塊
圖3是一個由T1,T2,T3三個切換算法塊組成的模擬量選擇保持算法。為簡化分析,假設D1和D2始終等于“1”。
圖3 模擬量選擇保持算法塊
1)DCS由上往下按照正常時序,依次對T1→T2→T3切換算法塊進行運算,當D1=D2=D3=“1”時,則各切換算法塊T1,T2,T3的輸出分別為:
C1=C3′(T1當前時刻的輸出等于T3前一個時刻的輸出);
C2=C1(T2當前時刻的輸出等于T1當前時刻的輸出);
C3=C2(T3當前時刻的輸出等于T2當前時刻的輸出)。
由此得出C1=C2=C3=C3′,即切換器T3的輸出等于T3上個控制周期運算所得結果。
2)DCS按照T1→T3→T2的順序,對切換算法塊進行掃描運算,當D1=D2=D3=“1”,則各切換算法塊T1,T2,T3的輸出分別為:
C2=C1(T2當前時刻的輸出等于T1當前時刻的輸出);
C3=C2′(T3當前時刻的輸出等于T2前一時刻的輸出);
C1=C3′(T1當前時刻的輸出等于T3前一個時刻的輸出)。
由此可以得出,切換器T3的輸出等于T2上個控制周期運算所得結果,而切換器T1,T2的輸出相等,且等于切換器T3上個控制周期的運算結果。
3)由以上關系式,列出圖3邏輯組態(tài)中T1,T2,T3各切換算法塊的輸入/輸出關系表(假設DCS開始執(zhí)行運算時,輸入信號A由0變?yōu)?00,D1置“1”,保持該數(shù)值),見表1。
表1 各切換算法塊輸入/輸出關系表
由T1,T2,T3切換算法塊的輸入/輸出關系表不難看出,當時序為T1→T2→T3,所需要的輸出結果C3保持了輸入信號A的值;而當時序順序為T1→T3→T2時,輸出結果C3不僅沒有保持A=100這一數(shù)值,反而在0~100不斷跳變,致使輸出呈現(xiàn)等幅震蕩。
圖4所示為一個常用的,由3個加法算法塊組成的升速率算法。同樣,為簡化分析,假定給定值A=100。
1)DCS由上往下按照正常時序,依次對 ADD1→ADD2→ADD3各加法算法塊進行運算,則各加法塊的輸出分別為:
圖4 升速率算法塊
ADD1=ADD3′+A(ADD1的當前輸出等于ADD3前一時刻的輸出加上給定值A);
ADD2=ADD1(ADD2的當前輸出等于ADD1的當前輸出);
ADD3=ADD2(ADD3的當前輸出等于ADD2的當前輸出)。
由此得出ADD1=ADD2=ADD3=ADD3′+A,即加法塊ADD3的輸出等于ADD3上個控制周期的運算結果加上給定值A。
2)DCS按照ADD1→ADD3→ADD2的順序,對加法算法塊進行運算,則各加法算法塊的輸出分別為:
ADD1=ADD3′+A(ADD1的當前輸出等于ADD3前一時刻的輸出加上給定值A);
ADD2=ADD1(ADD2的當前輸出等于ADD1的當前輸出);
ADD3=ADD2′(ADD3的當前輸出等于ADD2前一時刻的輸出)。
3)由以上關系式,列出圖4邏輯組態(tài)中ADD1,ADD3,ADD2各加法算法塊輸入/輸出關系表(假設DCS開始執(zhí)行運算時,給定值A同時由0變?yōu)?00),見表2。
表2 各加法算法塊輸入/輸出關系表
由ADD1,ADD3,ADD2各加法算法塊輸入/輸出關系表容易看出,當時序為ADD1→ADD2→ADD3,輸出信號C是按照給定值A=100的速率遞增;當時序為ADD1→ADD3→ADD2時,輸出結果ADD3雖然也在增加,但其輸出速率遠沒有達到給定速率的要求,在第7個控制周期時,其輸出速率僅有設定速率的43%左右。
某電廠2#機組裝機容量300 MW, DCS采用了國電智深NT系統(tǒng),該系統(tǒng)通常情況下控制周期默認為1 s。2#機組自2006年投產(chǎn)發(fā)電后一直處于正常運行狀態(tài),但4年后出現(xiàn)了一次故障。當時2#機組滿負荷,處于協(xié)調控制方式,所有運行參數(shù)均正常。約在15:28:21時,其中1臺送風機跳閘,導致送風機RB動作,隨后鍋爐主控由自動切為手動方式,汽機閥門總指令則在15:28:21到15:28:22這1 s內從83.6%關至53.9%,最終導致鍋爐超壓,安全門動作,2#機組跳閘。當時的歷史曲線記錄見圖5。
正常情況下,送風機RB動作后,控制方式應由協(xié)調方式自動切換為汽機跟隨方式,即鍋爐主控手動,汽機主控自動,以期達到由鍋爐調節(jié)功率,汽機調節(jié)主汽壓力的目的,使負荷快速平穩(wěn)地由300 MW減至RB目標負荷150 MW。
圖5 歷史曲線記錄
從圖5中的歷史趨勢看出,15:28:21送風機RB動作,鍋爐主控及時切為手動,15:28:22協(xié)調方式的已切除信號才發(fā)出,從而實現(xiàn)汽機跟隨運行方式。也就是說協(xié)調方式延遲了1 s才切除,而此時汽機閥門總指令是送風機RB動作后,目標負荷自動給定150 MW,經(jīng)汽機主控PID輸出的結果。就是這1 s,導致汽機跟隨運行方式延后了1 s才實現(xiàn),最終造成了鍋爐超壓,機組保護跳閘。
事后通過進一步分析發(fā)現(xiàn),這次2#機組非停正是在2#機組DCS邏輯組態(tài)時,相關邏輯時序問題沒有做過多考慮而造成的一個嚴重后果。
由此可見, DCS邏輯組態(tài)中時序問題至關重要。很多人認為DCS控制周期足夠快,從而忽視了在DCS邏輯組態(tài)中對時序問題的細致考慮。通過以上分析發(fā)現(xiàn),同樣的算法塊,如果采用不同的時序會得到完全不同的運算結果。這樣造成的后果,輕者會使DCS的輸出信號滯后一個控制周期,重者則會導致DCS邏輯保護誤動、拒動,進而直接影響發(fā)電機組的安全運行。
為此,在進行DCS邏輯組態(tài)中,一定要對算法的時序問題引起足夠的重視。要清楚被控系統(tǒng)的運行方式和運行要求,并結合控制邏輯圖,知曉邏輯要實現(xiàn)的功能以及要達到的目的;同時,在DCS中進行邏輯組態(tài)時,同一邏輯圖中不同算法塊執(zhí)行的先后順序要合理排列,不同邏輯圖的位號在DCS中按照執(zhí)行流程要合理排序。尤其是在邏輯異動,需要在已有算法塊中新增算法時,更需謹慎。最后,就是要盡量創(chuàng)造條件,模擬被控系統(tǒng)或設備的實際運行狀況,做好相關試驗,以此驗證邏輯組態(tài)時序的正確性。
參考文獻:
[1] 國家能源局.火力發(fā)電廠分散控制系統(tǒng)驗收測試規(guī)程:DL/T 659—2016[S].北京:中國電力出版社,2016.
[2] 國家能源局.火力發(fā)電廠分散控制系統(tǒng)故障應急處理導則:DL/T 1340—2014[S]. 北京:中國電力出版社,2016.
[3] 何衍慶.集散控制系統(tǒng)原理及應用[M].2版.北京:化學工業(yè)出版社,2009.