張明惠,董勝剛
(南京國電南自維美德自動化有限公司,南京 210032)
分散控制系統(tǒng)(DCS)包括了過程控制站及上位監(jiān)控系統(tǒng),是操作員與就地設(shè)備之間的橋梁和紐帶。實(shí)時控制系統(tǒng)要求能實(shí)時采集現(xiàn)場數(shù)據(jù),并對所采集的數(shù)據(jù)進(jìn)行及時處理,進(jìn)而自動地控制相應(yīng)的執(zhí)行機(jī)構(gòu),使某些(個)參數(shù)(如溫度、壓力、方位等)能按預(yù)定的規(guī)律變化,以保證產(chǎn)品的質(zhì)量和提高產(chǎn)量。DCS 能夠正常工作,關(guān)鍵在于DCS 的安全性、穩(wěn)定性和可靠性[1-5]。隨著DCS 在火力發(fā)電站以及化工、煤礦、船舶等的廣泛應(yīng)用和覆蓋面的不斷擴(kuò)展,對其性能以及可靠性的要求越來越高。
當(dāng)前,絕大多數(shù)火電廠過程控制站的控制器均采用冗余配置[6],即過程控制站中的控制器分為主控制器和備控制器,主備控制器中運(yùn)行了相同的邏輯組態(tài)。當(dāng)主控制器運(yùn)行出現(xiàn)問題時,備控制器能夠及時接管控制,從而保證現(xiàn)場被控設(shè)備的可靠安全運(yùn)行[7]。主備控制器模塊之間通過心跳線收發(fā)同步脈沖,當(dāng)備機(jī)連續(xù)未收到主機(jī)發(fā)送的脈沖,就切換為主機(jī),原主機(jī)復(fù)位后切換為備機(jī),從而實(shí)現(xiàn)冗余切換。主控制器模塊將組態(tài)運(yùn)算的結(jié)果同步到備控制器。采用冗余技術(shù)可以明顯提高系統(tǒng)的可靠性,其可靠性的上升呈指數(shù)趨勢,如系統(tǒng)兩個可靠性為80%的子系統(tǒng)并聯(lián)為一個完整系統(tǒng),則系統(tǒng)可靠性將上升至96%[8]。
在系統(tǒng)設(shè)計(jì)階段或者調(diào)試階段,對DCS 控制系統(tǒng)的冗余性能進(jìn)行測試,了解冗余性能是否能夠滿足要求,及時發(fā)現(xiàn)系統(tǒng)存在的問題和隱患,并提出改進(jìn)意見,有利于提高DCS 控制系統(tǒng)的穩(wěn)定性、安全性和可靠性。
冗余控制器的冗余性能主要體現(xiàn)在切換發(fā)生時的切換時間和同步時間。主控制器發(fā)生故障時,過程控制器的輸出保持,當(dāng)備用控制器接管后,數(shù)據(jù)繼續(xù)輸出。故障發(fā)生后,過程控制站數(shù)據(jù)輸出保持的時間即為控制器的切換時間。備用控制器接管后,同步的數(shù)值為最新一次主控制器同步過來的數(shù)值,該數(shù)值與主控制器故障時最后一次輸出的數(shù)值之差所需的運(yùn)行時間,即為控制器的同步時間。
當(dāng)主控制器異常,控制器發(fā)生切換,冗余控制器的切換時間和同步時間會影響整個系統(tǒng)功能的執(zhí)行。如果同步時間長,數(shù)據(jù)還沒來得及同步,切換時間又較長,可能會對系統(tǒng)造成較大的擾動。如果是數(shù)字量輸出還沒來得及同步,那么數(shù)字量輸出開關(guān)狀態(tài)就會與切換前不一致。如果模擬量輸出沒來得及同步,現(xiàn)場模擬量輸出將發(fā)生明顯波動。如果切換時間較長,數(shù)據(jù)的輸入和輸出脫離控制的時間越長,在切換時間內(nèi)過程控制站的輸出處于保持狀態(tài)。當(dāng)數(shù)據(jù)輸入發(fā)生大的改變時,備用控制器接管正常后,數(shù)據(jù)輸出對系統(tǒng)的沖擊較大。
所以,冗余控制器的切換時間和同步時間是控制器冗余性能的重要影響因素。切換時間和同步時間越短,過程控制器的冗余性能越好。
控制器的冗余有多種實(shí)現(xiàn)方式,為了保證切換時不發(fā)生上述擾動,目前主流廠家均采用雙機(jī)熱備模式。主備過程控制器之間通過專用網(wǎng)絡(luò)連接,此專用網(wǎng)絡(luò)既用來實(shí)現(xiàn)控制邏輯以及各種變量數(shù)據(jù)的同步,同時還傳遞主控制器正常工作的心跳信號[9]。
不同的廠家,冗余控制器的切換和同步的實(shí)現(xiàn)方式也有不同,從而體現(xiàn)出來的冗余性能也有差異。目前,主要在3 個方面影響同步時間和切換時間。
其一,控制器重邏輯組態(tài)功能塊是否能夠在線增刪及同步。為了實(shí)現(xiàn)控制邏輯組態(tài)功能塊的在線增刪,需要將主控制器的邏輯組態(tài)實(shí)時地同步到備控制器。當(dāng)在線修改控制器的邏輯組態(tài)時,首先修改的是主控制器的邏輯組態(tài),而后將在線修改的內(nèi)容同步到備控制器,從而使主備控制器內(nèi)運(yùn)行的控制邏輯組態(tài)保持一致。這一在線修改的同步過程,會導(dǎo)致中間變量的同步時間變長,如果控制器的輸出值是需要中間變量運(yùn)算而來的,那么切換后過程控制站的輸出將受到影響。目前,有的廠家可以實(shí)現(xiàn)在線增刪功能塊,有的廠家不可以。無法實(shí)現(xiàn)在線修改的主備控制器,組態(tài)需要離線修改后下載到主備控制器,這樣就省去了組態(tài)冗余同步對時間和空間的占用,但同時也犧牲了在線修改功能。
其二,主備控制器是否能夠同時獲得IO 總線的數(shù)據(jù)。有的廠家在設(shè)計(jì)總線時備控制器是無法訪問IO 總線的,只有當(dāng)發(fā)生切換后備控制器才能取得對IO 總線的控制權(quán)。主控制器每輪執(zhí)行控制邏輯前,將所有的輸入變量數(shù)據(jù)通過專用冗余網(wǎng)絡(luò)拷貝到備控制器,從而導(dǎo)致控制器的輸入數(shù)據(jù)是同步值而非實(shí)時值,從而影響切換后過程控制站的輸出。有的廠家在總線設(shè)計(jì)時主控制器對IO 總線的控制權(quán)是既可以讀取也可以寫入,備用控制器對IO 總線只可以讀取不可以寫入。這樣既能夠保證主備控制器均能實(shí)時采集到IO 卡件的數(shù)據(jù),同時保證IO 卡件的控制只受主控制器影響,不會出現(xiàn)雙主控制器的情況。當(dāng)控制器發(fā)生切換時,備用控制器可以直接采用實(shí)時IO 總線上的數(shù)據(jù)進(jìn)行邏輯運(yùn)算,從而提高了輸入數(shù)據(jù)的實(shí)時性。
其三,備用控制器是否同步進(jìn)行邏輯運(yùn)算。有的廠家主控制器在進(jìn)行邏輯運(yùn)算的同時,備控制器也在進(jìn)行邏輯運(yùn)算,有的廠家備控制器不進(jìn)行同步邏輯運(yùn)算。且備控制器不同步進(jìn)行運(yùn)算時,發(fā)生切換時備用控制器先進(jìn)行初始化。若備控制器同步進(jìn)行運(yùn)算時,發(fā)生切換時備控制器就省去了初始化的時間,從而備用控制器能夠快速接管進(jìn)行邏輯控制,從而減小了切換時間。
上述說明表示,控制器的切換和同步時間因?yàn)樵O(shè)計(jì)方式不同而受影響,從而對火電廠一些實(shí)時性要求較高的設(shè)備的控制產(chǎn)生影響。所以,對控制器的切換時間和同步時間的測量顯得愈發(fā)重要,目前對不同控制系統(tǒng)控制器的切換和同步時間的測量還沒有一個統(tǒng)一標(biāo)準(zhǔn)。因此,對于使用分散控制系統(tǒng)的火電站或者企業(yè)來說,需要一個指導(dǎo)方法、設(shè)備來檢測此參數(shù)。
主備控制器切換時間和同步時間為毫秒級,歷史數(shù)據(jù)記錄的時間分辨率通常為幾百毫秒級到秒級,通過控制器數(shù)據(jù)的歷史趨勢是無法準(zhǔn)確判斷主備控制器的切換時間和同步時間的??刂破髋cIO 總線的通訊波特率為兆級,輸出卡件的輸出分辨率為幾毫秒級,故采用輸出卡件的通道輸出來測量切換時間和同步時間是實(shí)現(xiàn)測試的方向之一。
首先,搭建一個控制邏輯使控制器每個執(zhí)行周期產(chǎn)生斜坡信號,且將此斜坡信號連接到模擬量輸出卡件(AO)輸出。輸出的斜坡信號與高速數(shù)據(jù)采集器連接,高速數(shù)據(jù)采集器的采集分辨率可達(dá)到0.1 ms。
冗余控制器未發(fā)生切換時,AO 通道會周期性地輸出斜坡信號。當(dāng)冗余控制器發(fā)生切換時,假定切換時間為Ttakeover,則表示備控制器需要花費(fèi)Ttakeover 的時間長度來檢測并確定主控制器故障并執(zhí)行控制邏輯的接管,進(jìn)行控制邏輯的再輸出。假定同步時間為Tsync,則表示備控制器中的數(shù)據(jù)同步值為主控制器Tsync 時間之前的,主控制器中的同步值需要花費(fèi)Tsync的時間傳遞到備控制器。
在控制器正常運(yùn)行時,AO 通道持續(xù)輸出斜坡信號,此時通過手動切換方式使得冗余控制器發(fā)生切換。高速數(shù)據(jù)采集器采集到冗余控制器切換前后的AO 通道輸出,通過分析切換前后的斜坡波形變化來計(jì)算冗余控制器的切換時間和同步時間。高速數(shù)據(jù)采集器采集的波形大致如圖1。
圖1 中Ttakeover為冗余控制器的切換時間,T1 為冗余控制器切換前最后一個輸出的斜坡數(shù)值的起始時間,T2 為冗余控制器切換后第一個輸出的斜坡數(shù)值的起始時間。在切換時間內(nèi),AO 通道的輸出值始終保持不變,且數(shù)值為冗余控制器切換前最后一個輸出的斜坡數(shù)值。當(dāng)備控制器接管后,AO 通道的輸出值立即發(fā)生改變,且第一個輸出值為斜坡信號的同步到備用控制器的最新同步值。故可認(rèn)為切換后第一個斜坡數(shù)值的起始時間與切換前最后一個斜坡數(shù)值的起始時間的時間差值,即為切換時間,即Ttakeover=T2-T1。
圖1 中Δt 為冗余控制器的最小運(yùn)算周期,X1 為冗余控制器切換前最后一個斜坡數(shù)值,X2 為冗余控制器切換后第一個斜坡數(shù)值,ΔX 為每個最小運(yùn)算周期斜坡信號的增量。當(dāng)主控制器發(fā)生切換時,冗余控制器切換前最后一個斜坡數(shù)值的AO 通道輸出保持不變。當(dāng)備控制器接管后,AO 信號首次輸出值為備控制器從主控制器獲得的最后一個同步值。切換前最后一個斜坡數(shù)值卻比該同步值更新。X2變化到X1 所要經(jīng)歷的時間,即為冗余控制器的同步時間。由于每Δt 的時間斜坡增量ΔX,故從X2 變化到X1 需要經(jīng)歷(X2-X1)/ΔX 個最小運(yùn)算周期。故Tsync=Δt×(X2-X1)/ΔX。
如果X2=X1,則Tsync=0,即主備控制器的同步時間為0,主控制器與備控制器的中間變量始終保持一致。當(dāng)備用控制器接管后,第一個輸出值與切換期間的保持值一致。故第一個輸出值的這段時間并不包括在冗余切換時間內(nèi)。此時的Ttakeover=T2-T1-Δt,即計(jì)算切換時間時,需要將備控制器接管后的第一個周期的運(yùn)行時間減去。
按照上述原理分析,現(xiàn)采用如下方法來測量冗余控制器的冗余性能,即冗余控制器的切換時間和同步時間。
按圖2 搭建硬件測試平臺。一對冗余的控制處理單元包含有CPU-A 和CPU-B,其中一個為主控CPU 負(fù)責(zé)控制策略計(jì)算及控制輸出,另一個為輔控CPU,進(jìn)行熱機(jī)備用。輔控CPU 在主控CPU 故障、重啟或者停機(jī)時,即刻接管成為主控CPU,原主控CPU 在恢復(fù)后,會變?yōu)檩o控CPU 進(jìn)行冗余熱備。主輔CPU 之間通過同步專線進(jìn)行狀態(tài)和數(shù)據(jù)同步。
AO 模件為模擬量輸出卡件,輸出為電流值。CPU-A和CPU-B 分別有通訊總線與AO 卡件相連。冗余控制器通過IO 總線僅擴(kuò)展1 塊AO 模件,這樣做的目的是為了提高控制器對此塊IO 卡件的通訊速度。該速度目前已可以達(dá)到1 ms/次,能實(shí)現(xiàn)CPU 中邏輯快速輸出到卡件。
高速數(shù)據(jù)采集器為獨(dú)立于控制系統(tǒng)之外的設(shè)備,可對任意信號源進(jìn)行數(shù)據(jù)采集。高速數(shù)據(jù)采集器可接收AO 的輸出信號,可實(shí)現(xiàn)0.1 ms 分辨率的數(shù)據(jù)采集。由于高速數(shù)據(jù)采集器采樣頻率高,故顯示出來的斜坡信號為階梯狀。
在冗余控制器內(nèi)搭建斜坡信號輸出至按周期運(yùn)行的邏輯AO 模塊,斜坡信號和AO 模塊等邏輯模塊的運(yùn)算周期均設(shè)置為控制器可達(dá)到的最小值。當(dāng)前廠家的最小周期已可達(dá)到20 ms、10 ms 甚至5 ms。AO 輸出的斜坡信號為每計(jì)算周期累加固定值Δx,一般設(shè)置Δx=1。
圖1 切換時間和同步時間計(jì)算原理示意圖Fig.1 Schematic diagram of the calculation principle of switching time and synchronization time
圖2 測試硬件配置Fig.2 Test hardware configuration
在上位監(jiān)控切換按鈕或控制器上按鈕實(shí)現(xiàn)控制器切換。采用某廠家的分散控制系統(tǒng)進(jìn)行實(shí)際測試,按照圖2 連接好電路。假如設(shè)置最小運(yùn)算周期為10 ms,每運(yùn)算周期斜坡信號增加1。當(dāng)控制器未發(fā)生切換時,高速數(shù)據(jù)采集器采集到每10 ms 斜坡數(shù)據(jù)增加1,斜坡信號很平滑。當(dāng)發(fā)生切換時,斜坡信號根據(jù)冗余性能的不同出現(xiàn)不同程度不平滑的情況,放大后可看到大致如圖1 的斜坡形態(tài)。根據(jù)高速數(shù)據(jù)采集器中的時標(biāo)和數(shù)值階梯,可計(jì)算出冗余控制器的切換時間Ttakeover和同步時間Tsync。由于切換時間和同步時間不是固定值,故需要進(jìn)行多次測量,獲取平均值來作為測試結(jié)果。
首先,不同廠家的分散控制系統(tǒng)均自帶AO 模件,此方法可廣泛應(yīng)用于各廠家的冗余控制器的測量;其次,該方法可以一次測量冗余控制器的切換時間和同步時間兩個性能,可以綜合評判冗余控制器的冗余性能。本檢測方法在廠家的設(shè)計(jì)過程中和電廠DCS 系統(tǒng)每年的可靠性檢測中都被實(shí)際應(yīng)用。
DCS 的冗余性能是確保系統(tǒng)長期、可靠、穩(wěn)定運(yùn)行的一種有效手段和監(jiān)督機(jī)制。通過DCS 冗余性能測試,廠家可以及時了解冗余控制器的冗余性能,以具體數(shù)值橫向?qū)Ρ绕渌麖S家或者縱向?qū)Ρ刃吕舷到y(tǒng)的切換時間和同步時間指標(biāo),對不滿足需求的指標(biāo)對標(biāo)影響因素進(jìn)行軟硬件的重新配置和升級改造,從而滿足機(jī)組的安全、穩(wěn)定、可靠運(yùn)行的要求。