專(zhuān)利名稱(chēng):一種用于全智能主控系統(tǒng)的安全控制冗余系統(tǒng)及冗余方法
技術(shù)領(lǐng)域:
本發(fā)明屬于工業(yè)控制領(lǐng)域,涉及一種用于全智能主控系統(tǒng)的安全控制冗余系統(tǒng)及冗余方法。
背景技術(shù):
容錯(cuò)技術(shù)是靠對(duì)資源的冗余利用和精心組織,通過(guò)冗余資源的線(xiàn)性增加來(lái)?yè)Q取可靠性和安全性指數(shù)增長(zhǎng)的技術(shù)。目前在容錯(cuò)計(jì)算機(jī)的冗余設(shè)計(jì)方面已經(jīng)有很多人關(guān)注和研究,也取得了很多研究成果,如雙機(jī)冷備份、雙機(jī)溫備份、雙機(jī)熱備份和雙機(jī)比較系統(tǒng)。但上述雙機(jī)(雙模)冗余方式的計(jì)算機(jī)系統(tǒng),都存在單點(diǎn)故障失效的缺點(diǎn)且很難克服,當(dāng)發(fā)生故障時(shí),都要中斷系統(tǒng)運(yùn)行,實(shí)時(shí)性不夠高,并且不能在線(xiàn)修復(fù)故障。而三模冗余容錯(cuò)計(jì)算機(jī)就可以消除這些缺點(diǎn),它能夠完全消除單點(diǎn)故障,并且具有在線(xiàn)修復(fù)故障的能力,提高了系統(tǒng)安全性。 三模冗余系統(tǒng)是最常用的一種容錯(cuò)設(shè)計(jì)技術(shù),利用三個(gè)相互冗余的計(jì)算機(jī)模塊,同時(shí)運(yùn)行相同功能的處理程序,同步地采集相同的輸入,通過(guò)三取二的表決方式作為該表決系統(tǒng)的正確輸出,這種采用少數(shù)服從多數(shù)的方法使故障檢測(cè)機(jī)制具有很高的檢測(cè)覆蓋率。當(dāng)設(shè)備故障(包括軟、硬件故障)時(shí)可能有錯(cuò)誤輸出,由于出現(xiàn)兩種同樣性質(zhì)錯(cuò)誤的概率一般非常小,因此系統(tǒng)中只要不出現(xiàn)兩個(gè)計(jì)算機(jī)模塊的錯(cuò)誤結(jié)果完全相同的情況,就能屏蔽單點(diǎn)故障,保證系統(tǒng)的正確輸出,從而有效地提高實(shí)時(shí)嵌入式系統(tǒng)的安全性與可靠性。在任何一個(gè)計(jì)算機(jī)模塊出現(xiàn)故障后,三模冗余系統(tǒng)會(huì)降級(jí)為雙機(jī)工作模式,不用中斷系統(tǒng)的正常運(yùn)行仍能輸出正確的處理結(jié)果,并且還能對(duì)故障機(jī)器進(jìn)行重構(gòu)恢復(fù)。重構(gòu)完成后,故障機(jī)器仍能正常工作,與在故障狀態(tài)下僅能將輸出導(dǎo)向安全值的雙機(jī)容錯(cuò)系統(tǒng)相比,它不僅保證了系統(tǒng)在單個(gè)故障狀態(tài)下的安全性,還確保了系統(tǒng)工作的連續(xù)性與穩(wěn)定性。
發(fā)明內(nèi)容
針對(duì)現(xiàn)有技術(shù)中存在的上述問(wèn)題,本發(fā)明的目的是為了解決一種采用雙機(jī)溫備份控制方式的分布式控制系統(tǒng)(DCS)的控制方案未完全考慮到控制結(jié)果準(zhǔn)確性、以及發(fā)生故障后不能實(shí)現(xiàn)自恢復(fù)的問(wèn)題,而提出一種用于全智能主控系統(tǒng)的安全控制冗余系統(tǒng)及冗余方法。所述的一種用于全智能主控系統(tǒng)的安全控制冗余系統(tǒng),其特征在于包括一組控制模板及一組I/o模板,所述的控制模板與I/O模板通過(guò)CAN總線(xiàn)通信,所述的控制模板包括主控制模板及分別設(shè)置在主控制模板兩側(cè)的兩個(gè)分控制模板,所述的主控制模板與分控制模板通過(guò)以太網(wǎng)通信,所述的I/O模板上設(shè)有一組I/O模塊,每個(gè)I/O模塊上設(shè)有3個(gè)I/O采集通道。所述的一種用于全智能主控系統(tǒng)的安全控制冗余系統(tǒng),其特征在于所述的CAN總線(xiàn)通信與以太網(wǎng)通信均采取雙冗余熱備份結(jié)構(gòu),由雙份網(wǎng)絡(luò)協(xié)議控制器和雙電纜構(gòu)成兩條網(wǎng)絡(luò)。
所述的一種用于全智能主控系統(tǒng)的安全控制冗余方法,其特征在于所述的主控制模板、分控制模板和I/o模板均為獨(dú)立的計(jì)算機(jī)系統(tǒng),包括電源、CPU、內(nèi)存、總線(xiàn)及接口邏輯。所述的一種用于全智能主控系統(tǒng)的安全控制冗余方法,其特征在于包括如下步驟
1)控制系統(tǒng)上電,系統(tǒng)初始化完成后,主控制模板按照各控制變量的采集周期,依次向各控制變量所在的I/o模板發(fā)送輪詢(xún)請(qǐng)求命令;
2)I/O模板接收到輪詢(xún)請(qǐng)求命令后,讀取該控制變量所對(duì)應(yīng)的I/O模塊的采樣值,I/0模板讀取與其連接的3個(gè)I/O采集通道上的采樣值后經(jīng)過(guò)三取二表決方式得出最終采樣值,并將其通過(guò)廣播方式發(fā)送給主控制模板和分控制模板;
3)主控制模板和兩個(gè)分控制模板同時(shí)接收到該采樣值后進(jìn)行任務(wù)同步,并進(jìn)行相同的 控制運(yùn)算,得出各自的運(yùn)算結(jié)果;
4)由主控制模板讀取分控制模板的運(yùn)算結(jié)果,將三個(gè)運(yùn)算結(jié)果通過(guò)三取二表決方式得出最終運(yùn)算值;
5)由主控制模板將最終運(yùn)算值發(fā)送給相應(yīng)的I/O模板,并將最終運(yùn)算值作為準(zhǔn)確值發(fā)送給兩個(gè)分控制模板。所述的一種用于全智能主控系統(tǒng)的安全控制冗余方法,其特征在于所述的主控制模板到I/o模板、分控制模板的通信模式均采用點(diǎn)對(duì)點(diǎn)方式,從I/O模板到主控制模板、分控制模板的通信模式采用廣播方式。所述的一種用于全智能主控系統(tǒng)的安全控制冗余方法,其特征在于所述的三取二表決方式基于少數(shù)服從多數(shù)的糾錯(cuò)原理,由軟件按三取二的原則,以多數(shù)相同的輸出作為該表決系統(tǒng)的正確輸出。所述的一種用于全智能主控系統(tǒng)的安全控制冗余方法,其特征在于所述的I/O模板采集到的采樣值包括數(shù)字量、模擬量和脈沖量。所述的一種用于全智能主控系統(tǒng)的安全控制冗余方法,其特征在于步驟4)中在表決過(guò)程中當(dāng)其中一個(gè)控制模板運(yùn)算結(jié)果與其他兩個(gè)不一致時(shí),則該控制模板發(fā)生故障,所述的故障分為瞬時(shí)故障,嚴(yán)重故障和永久故障。所述的一種用于全智能主控系統(tǒng)的安全控制冗余方法,其特征在于當(dāng)控制模板出現(xiàn)嚴(yán)重故障時(shí),系統(tǒng)對(duì)其降級(jí)重構(gòu),所述的降級(jí)重構(gòu)是指由主控制模板將其上電重啟;在該控制模板重新運(yùn)行正常之前,系統(tǒng)由其他兩個(gè)控制模板同時(shí)控制,系統(tǒng)對(duì)其斷電重啟后,若其工作正常則再對(duì)其升級(jí)重構(gòu),恢復(fù)其工作現(xiàn)場(chǎng)數(shù)據(jù),系統(tǒng)恢復(fù)為三模冗余控制方式。所述的一種用于全智能主控系統(tǒng)的安全控制冗余方法,其特征在于所述升級(jí)重構(gòu)是指發(fā)生嚴(yán)重故障的控制模板重啟正常后,重新參與控制,使系統(tǒng)恢復(fù)三模冗余控制方式的過(guò)程,升級(jí)重構(gòu)時(shí)由主控制模板對(duì)其發(fā)送工作現(xiàn)場(chǎng)數(shù)據(jù),使3個(gè)控制模板狀態(tài)同步,在升級(jí)重構(gòu)過(guò)程中通過(guò)將工作現(xiàn)場(chǎng)數(shù)據(jù)組織成合適的數(shù)據(jù)幀和對(duì)工作現(xiàn)場(chǎng)數(shù)據(jù)區(qū)的有效管理,并且只在主控制模板執(zhí)行控制任務(wù)的空閑時(shí)間傳送工作現(xiàn)場(chǎng)數(shù)據(jù),使重構(gòu)過(guò)程中系統(tǒng)不必中斷正常任務(wù)而連續(xù)工作。通過(guò)采用上述技術(shù),與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果如下本發(fā)明利用三模冗余方式,針對(duì)一種分布式控制系統(tǒng)(DCS),對(duì)其系統(tǒng)中的數(shù)據(jù)信息采集和處理采用了多次三取二的表決方式,同時(shí)針對(duì)傳統(tǒng)三模冗余方式中采用硬件表決模塊比較三機(jī)計(jì)算結(jié)果、輸出表決結(jié)果的方式,結(jié)合該分布式系統(tǒng),采用由主控制模板通過(guò)軟件方式實(shí)現(xiàn)三取二表決,通過(guò)對(duì)采集數(shù)據(jù)的三選二的表決方式保證了系統(tǒng)輸入的準(zhǔn)確性,通過(guò)對(duì)控制模板運(yùn)算結(jié)果的三選二的表決方式保證了系統(tǒng)計(jì)算的準(zhǔn)確性,通過(guò)動(dòng)態(tài)切換主控制模板的方式保證了健康狀況最優(yōu)的控制模板充當(dāng)主控制模板,進(jìn)一步提高系統(tǒng)準(zhǔn)確性,實(shí)現(xiàn)系統(tǒng)安全控制的目的,通過(guò)對(duì)故障控制模板的無(wú)縫重構(gòu),實(shí)現(xiàn)了控制模板故障狀況的自恢復(fù),保證了控制系統(tǒng)工作的連續(xù)性和穩(wěn)定性。
圖I為本發(fā)明的電路示意 圖2為本發(fā)明數(shù)據(jù)采集部分的結(jié)構(gòu)示意 圖3為本發(fā)明的的數(shù)據(jù)交換結(jié)構(gòu)示意圖; 圖4為本發(fā)明控制模板的任務(wù)同步結(jié)構(gòu)示意圖。圖中1-以太網(wǎng),2-控制模板,3-CAN總線(xiàn),4-1/0模板,5-1/0模塊,6-1/0采集通道。
具體實(shí)施例方式以下結(jié)合附圖對(duì)本發(fā)明做進(jìn)一步說(shuō)明。如圖1-4所示,一種用于全智能主控系統(tǒng)的安全控制冗余系統(tǒng),包括一組控制模板2及一組I/O模板4,所述的控制模板2與I/O模板4通過(guò)CAN總線(xiàn)3通信,所述的控制模板2包括主控制模板202及分別設(shè)置在主控制模板202兩側(cè)的兩個(gè)分控制模板201,所述的主控制模板202與分控制模板201通過(guò)以太網(wǎng)I通信,所述的I/O模板4上設(shè)有一組I/0模塊5,每個(gè)I/O模塊5上設(shè)有3個(gè)I/O采集通道6,每個(gè)I/O模塊5對(duì)應(yīng)一個(gè)控制變量,CAN總線(xiàn)3通信與以太網(wǎng)I通信均采取雙冗余熱備份結(jié)構(gòu),由雙份網(wǎng)絡(luò)協(xié)議控制器和雙電纜構(gòu)成兩條網(wǎng)絡(luò),兩種通信方式中的各自?xún)蓚€(gè)硬件通道硬件配置完全一樣,在正常情況下,各網(wǎng)絡(luò)節(jié)點(diǎn)可通過(guò)兩條總線(xiàn)同時(shí)進(jìn)行收發(fā)工作,若其中某一條通路多次發(fā)生通信錯(cuò)誤,則認(rèn)為此通路發(fā)生故障,將其關(guān)閉、隔離,把所有通信任務(wù)轉(zhuǎn)換到另一條通路進(jìn)行,每個(gè)控制模板102和I/O模板4都是獨(dú)立的計(jì)算機(jī)系統(tǒng),具有獨(dú)立的電源、CPU、內(nèi)存、總線(xiàn)、接口邏輯。如圖1-4所示,本發(fā)明的用于全智能主控系統(tǒng)的安全控制冗余方法,包括信息輸入、輸入信息的三取二表決、控制運(yùn)算、運(yùn)算結(jié)果的交換、輸出結(jié)果軟件三取二表決、輸出控制結(jié)果。具體包括如下步驟控制系統(tǒng)上電,系統(tǒng)初始化完成后,主控制模板202按照各控制變量的采集周期,依次向各控制變量所在的I/O模板4發(fā)送輪詢(xún)請(qǐng)求命令;I/O模板4接收到輪詢(xún)請(qǐng)求命令后,讀取該控制變量所對(duì)應(yīng)的I/O模塊5的采樣值,I/O模板5讀取與其連接的3個(gè)I/O采集通道6上的采樣值后經(jīng)過(guò)三取二表決方式得出最終采樣值,并將其通過(guò)廣播方式發(fā)送給主控制模板202和分控制模板201 ;主控制模板202和分控制模板201同時(shí)接收到該采樣值后進(jìn)行任務(wù)同步,并進(jìn)行相同的控制運(yùn)算,得出各自的運(yùn)算結(jié)果;主控制模板202讀取分控制模板201的運(yùn)算結(jié)果,將三個(gè)運(yùn)算結(jié)果通過(guò)三取二表決方式得出最終運(yùn)算值;由主控制模板202將最終運(yùn)算值發(fā)送給相應(yīng)的I/O模板4,并將最終運(yùn)算值作為準(zhǔn)確值發(fā)送給兩個(gè)分控制模板201,從主控制模板202到I/O模板4和分控制模板201的通信模式采用點(diǎn)對(duì)點(diǎn)方式,從I/O模板4到分控制模板102的通信模式采用廣播方式,各控制模板102通過(guò)同時(shí)接收到I/O模板4的采集數(shù)據(jù)作為任務(wù)同步的起點(diǎn),再通過(guò)以太網(wǎng)I相互通信實(shí)現(xiàn)任務(wù)級(jí)同步。 該安全控制冗余方法“三取二表決方式”的表決機(jī)制基于“少數(shù)服從多數(shù)”的糾錯(cuò)原理,由軟件按“三取二”的原則,以多數(shù)相同的輸出作為該表決系統(tǒng)的正確輸出,表決針對(duì)輸入數(shù)據(jù)的表決和輸出數(shù)據(jù)的表決。如圖2所示,系統(tǒng)輸入包括模擬量、數(shù)字量、脈沖量等狀態(tài)量,I/O模板4通過(guò)對(duì)各I/O模塊5的三個(gè)I/O采集通道6采集到的數(shù)據(jù)進(jìn)行三取二表決,屏蔽了采集過(guò)程出現(xiàn)的單點(diǎn)故障。表決完成后I/O模板4將表決結(jié)果通過(guò)CAN總線(xiàn)3廣播到主控制模板202和分控制模板201。如果系統(tǒng)采集的數(shù)據(jù)是模擬量,模擬量輸入的表決采用截?cái)嗾`差的方法來(lái)完成。通過(guò)設(shè)定表決精度,對(duì)輸入數(shù)據(jù)進(jìn)行表決處理當(dāng)三個(gè)I/O采集通道6的數(shù)據(jù)均在規(guī)定精度范圍內(nèi)時(shí),用三個(gè)I/O采集通道6數(shù)據(jù)的平均值作為采集結(jié)果;若有一個(gè)I/O采集通道6的數(shù)據(jù)與其它兩個(gè)I/O采集通道6的誤差超出了精度允許范圍,用其它兩個(gè)I/O采集通道6數(shù)據(jù)的平均值作為采集結(jié)果;若三個(gè)I/O采集通道6數(shù)據(jù)之間誤差都超出了精度規(guī)定,則認(rèn)為是誤差設(shè)置不合適,也用三個(gè)I/O采集通道6數(shù)據(jù)的平均值代替本機(jī)的數(shù)據(jù)值,當(dāng)需要表決的數(shù)據(jù)是開(kāi)關(guān)量或數(shù)字量時(shí),不能有任何誤差,當(dāng)三個(gè)I/O采集通道6采集的狀態(tài)不完全一致時(shí),通過(guò)軟件三取二表決得出結(jié)果。在圖3中,主控制模板202在某個(gè)控制變量的采樣周期到后,對(duì)該變量對(duì)應(yīng)的I/O模板4發(fā)送輪詢(xún)請(qǐng)求,I/O模板4收到請(qǐng)求命令后,將該變量對(duì)應(yīng)的采樣表決結(jié)果通過(guò)廣播方式發(fā)送到主控制模板202和另外兩個(gè)分控制模板201,主控制模板202、分控制模板201同時(shí)接收到I/O模板4的采樣數(shù)據(jù)后,進(jìn)行相同的控制運(yùn)算,主控制模板202運(yùn)算完成后,依次向另外兩個(gè)分控制模板201讀取控制結(jié)果,另外兩個(gè)分控制模板201接收到請(qǐng)求命令后發(fā)送控制結(jié)果到主控制模板202,再由主控制模板202對(duì)三機(jī)控制結(jié)果進(jìn)行三取二表決后,將控制表決結(jié)果發(fā)送到I/O模板4和另外兩個(gè)分控制模板201,此處控制結(jié)果的三取二表決是為了消除計(jì)算帶來(lái)的錯(cuò)誤,將控制表決結(jié)果作為準(zhǔn)確值發(fā)送給其他兩個(gè)分控制模板201,是為了使出現(xiàn)故障的控制模板在正確數(shù)據(jù)環(huán)境下繼續(xù)執(zhí)行。在上述控制系統(tǒng)完成控制任務(wù)的整個(gè)過(guò)程中,主控制模板202、分控制模板201工作要同步,同步是表決的基礎(chǔ),只有經(jīng)過(guò)三機(jī)同步,使采集到相同的輸入信號(hào),同時(shí)由主控制模板202進(jìn)行控制結(jié)果表決時(shí)所有主控制模板202、分控制模板201數(shù)據(jù)在同一個(gè)表決周期,才能真正完成三模冗余功能,屏蔽單點(diǎn)故障。若冗余模塊之間不能很好的同步,將使表決的結(jié)果處于紊亂狀況,系統(tǒng)不能正??煽康墓ぷ?。如圖4所示,本方案是根據(jù)以下方法使主控制模板202、分控制模板201達(dá)到同步的在圖4中,任務(wù)一開(kāi)始,由主控制模板202向I/O模板4發(fā)送輪詢(xún)請(qǐng)求,I/O模板4將采樣表決結(jié)果通過(guò)廣播方式發(fā)送到CAN總線(xiàn)3,因此主控制模板202、分控制模板201可以同時(shí)接收相同的輸入信號(hào),進(jìn)行相同的控制運(yùn)算,但運(yùn)算花費(fèi)的時(shí)間可能不同,主控制模板202、兩個(gè)分控制1吳板201分別在a、b、c時(shí)刻完成控制運(yùn)算,王控制|吳板202運(yùn)算完成后在時(shí)刻d向分控制模板201請(qǐng)求控制運(yùn)算結(jié)果,分控制模板201在時(shí)刻e接收到請(qǐng)求控制運(yùn)算結(jié)果命令,但此時(shí)分控制模板201并未完成控制運(yùn)算,因此暫時(shí)不予響應(yīng),主控制模板202將在最大時(shí)間限制內(nèi)等待其響應(yīng),若最大時(shí)間限制到則放棄此次請(qǐng)求,標(biāo)記任務(wù)同步異常信息,以主控制模板的運(yùn)算結(jié)果作為輸出結(jié)果。分控制模板201在時(shí)刻b完成控制運(yùn)算后,在時(shí)刻f向主控制模板202發(fā)送控制運(yùn)算結(jié)果。主控制模板202在時(shí)刻g接收返回的控制運(yùn)算結(jié)果并在時(shí)刻h向另一分控制模板201請(qǐng)求控制運(yùn)算結(jié)果,另一分控制模板201在時(shí)刻i接收到控制運(yùn)算結(jié)果請(qǐng)求后在時(shí)刻j向主控制模板202發(fā)送控制運(yùn)算結(jié)果,主控制模板202在時(shí)刻k接收返回的控制運(yùn)算結(jié)果后對(duì)三機(jī)控制結(jié)果進(jìn)行表決,表決結(jié)果在時(shí)刻I發(fā)送到I/O模板4和另外兩個(gè)分控制模板201。本發(fā)明任務(wù)同步的核心思想是通過(guò)三機(jī)之間的相互等待,在運(yùn)行較快的控制模板上的任務(wù)中插入一定的等待時(shí)間,使三機(jī)實(shí)現(xiàn)同步。針對(duì)三機(jī)數(shù)據(jù)不在同一個(gè)表決周期的情況,現(xiàn)用一個(gè)字節(jié)(0-255)來(lái)表示當(dāng)前任務(wù)所處的周期序號(hào),當(dāng)主控制模板202接收到的控制運(yùn)算結(jié)果中的周期序號(hào)跟自己的周期序號(hào)不同時(shí),以主控制模板202的運(yùn)算結(jié)果作為輸出結(jié)果,同時(shí)通知對(duì)方更改周期序號(hào)到主控制模板202當(dāng)前的周期序號(hào)。當(dāng)有一個(gè)分控制模板201不能正確同步、表決數(shù)據(jù)不正確或沒(méi)有控制運(yùn)算結(jié)果響應(yīng)時(shí),稱(chēng)其發(fā)生故障,本方案可容忍不同持續(xù)時(shí)間的故障,現(xiàn)將分控制模板201的故障按危 害大小分為瞬時(shí)故障、嚴(yán)重故障和永久故障,瞬時(shí)故障是指偶爾發(fā)生非連續(xù)的故障,當(dāng)發(fā)現(xiàn)某一分控制模板201故障時(shí),為避免因瞬時(shí)故障過(guò)早將其離線(xiàn),系統(tǒng)首先假設(shè)此時(shí)遇到的是瞬時(shí)故障,允許該分控制模板201采用經(jīng)過(guò)比較而確定為正確的數(shù)據(jù)進(jìn)行運(yùn)行,若該分控制模板201運(yùn)行正常且良好記錄達(dá)到可接納的門(mén)檻,則確定故障為瞬時(shí)故障,系統(tǒng)重新接納該分控制模板201 ;若發(fā)現(xiàn)該分控制模板201持續(xù)發(fā)送故障,且累計(jì)故障次數(shù)超過(guò)預(yù)先設(shè)定的值時(shí),認(rèn)為該分控制模板201遇到嚴(yán)重故障,此時(shí)由主控制模板202對(duì)其進(jìn)行上電重啟,在該分控制模板201重新運(yùn)行正常之前,系統(tǒng)由三模冗余自動(dòng)降級(jí)為雙模冗余繼續(xù)運(yùn)行,系統(tǒng)由另外兩個(gè)分控制模板201同時(shí)控制,在雙模冗余控制模式下,當(dāng)雙機(jī)計(jì)算結(jié)果不一致時(shí),應(yīng)馬上報(bào)警,此時(shí)輸出數(shù)據(jù)可以根據(jù)機(jī)器狀態(tài)選擇較健康控制模板即主控制模板202的數(shù)據(jù),也可以輸出強(qiáng)制為預(yù)設(shè)的安全值。當(dāng)故障的分控制模板201上電重啟后,系統(tǒng)進(jìn)行升級(jí)重構(gòu)恢復(fù)到三模冗余控制方式,由主控制模板202對(duì)故障控制模板發(fā)送工作現(xiàn)場(chǎng)數(shù)據(jù),使分控制模板201狀態(tài)同步。若故障分控制模板201重啟后不能正常運(yùn)行,則稱(chēng)為永久故障,需要報(bào)警人工修復(fù)或更換新的控制模板,在故障控制模板修復(fù)前系統(tǒng)保持雙模冗余控制。其中系統(tǒng)升級(jí)重構(gòu)主要包括故障修復(fù)、重構(gòu)識(shí)別、工作現(xiàn)場(chǎng)恢復(fù)、重新同步等步驟。故障分控制模板201上電重啟后,會(huì)在以太網(wǎng)I廣播“I am alive”信息,為了區(qū)分此次上電啟動(dòng)是系統(tǒng)初始上電還是升級(jí)重構(gòu)引起的單獨(dú)上電,若故障分控制模板201在一定時(shí)間內(nèi)收到另一個(gè)分控制模板201或主控制模板202的相同信息,則為初始上電,不申請(qǐng)重構(gòu);若在一定時(shí)間內(nèi)未收到另一個(gè)分控制模板201或主控制模板202的這一信息,則為單獨(dú)上電,向另一個(gè)分控制模板201或主控制模板202申請(qǐng)重構(gòu)。當(dāng)識(shí)別到重構(gòu)請(qǐng)求以后,系統(tǒng)將會(huì)進(jìn)入工作現(xiàn)場(chǎng)恢復(fù)狀態(tài),由主控制模板202對(duì)故障分控制模板201進(jìn)行工作現(xiàn)場(chǎng)恢復(fù)工作。工作現(xiàn)場(chǎng)恢復(fù)包括機(jī)器狀態(tài)與內(nèi)存數(shù)據(jù)區(qū)的恢復(fù),通過(guò)將主控制模板202的當(dāng)前狀態(tài)及內(nèi)存數(shù)據(jù)拷貝到故障分控制模板201上,使故障分控制模板201與主控制模板202的狀態(tài)一致后,從當(dāng)前點(diǎn)繼續(xù)運(yùn)行。但這種恢復(fù)方式需要在雙機(jī)之間交換大量的數(shù)據(jù),重構(gòu)時(shí)間與雙機(jī)數(shù)據(jù)交換速率及數(shù)據(jù)交換量密切相關(guān),本方案中采用IOOM波特率快速以太網(wǎng)I。常見(jiàn)的恢復(fù)方法是進(jìn)行集中數(shù)據(jù)恢復(fù),即恢復(fù)過(guò)程中系統(tǒng)停止控制任務(wù)的運(yùn)行。為了使系統(tǒng)在重構(gòu)過(guò)程中不中斷正常任務(wù),可以連續(xù)工作,識(shí)別到重構(gòu)請(qǐng)求以后,主控制模板202并不立即開(kāi)始進(jìn)行現(xiàn)場(chǎng)恢復(fù)。主控制模板202只是設(shè)置一個(gè)重構(gòu)標(biāo)志后,繼續(xù)運(yùn)行正常的任務(wù)程序,待重構(gòu)的故障分控制模板201則保持在重構(gòu)等待狀態(tài)。只有當(dāng)主控制模板202進(jìn)入空閑狀態(tài),并且通過(guò)時(shí)間片定時(shí)器讀取到的空閑時(shí)間滿(mǎn)足傳輸時(shí)間要求后,才將其關(guān)鍵數(shù)據(jù)區(qū)與關(guān)鍵狀態(tài)通過(guò)以太網(wǎng)I發(fā)送給要恢復(fù)的故障分控制模板201,故障分控制模板201對(duì)接收數(shù)據(jù)進(jìn)行正確性校驗(yàn)后,用它來(lái)恢復(fù)自身的執(zhí)行現(xiàn)場(chǎng)。當(dāng)主控制模板202空閑時(shí)間結(jié)束時(shí),無(wú)論重構(gòu)恢復(fù)是否全部完成,都會(huì)退出重構(gòu)恢復(fù)過(guò)程,進(jìn)入正常的任務(wù)執(zhí)行過(guò)程。主控制模板再次進(jìn)入空閑時(shí)間后,才會(huì)重新啟動(dòng)現(xiàn)場(chǎng)恢復(fù)的數(shù)據(jù)傳送過(guò)程?,F(xiàn)場(chǎng)恢復(fù)完成后,故障分控制模板201重新進(jìn)入一個(gè)正常的同步等待狀態(tài),主控制模板202發(fā)送當(dāng)前任務(wù)所處的周期序號(hào)給故障分控制模板201,然后一起開(kāi)始三模冗余的正常執(zhí)行過(guò)程。主控制模板202對(duì)故障分控制模板201進(jìn)行現(xiàn)場(chǎng)恢復(fù)時(shí),先將重構(gòu)恢復(fù)數(shù)據(jù)分成適當(dāng)大小的數(shù)據(jù)包,使一個(gè)數(shù)據(jù)包可以在主控制模板202的一般空閑時(shí)間范圍內(nèi)完成傳送。主控制模板202在傳送時(shí)先判斷空閑時(shí)間是否滿(mǎn)足傳輸時(shí)間要求,若剩余的空閑時(shí)間 不足,則禁止重構(gòu)數(shù)據(jù)的傳送。這樣就可以使得重構(gòu)數(shù)據(jù)傳送時(shí)間得到較為精確的控制,盡可能地減小重構(gòu)恢復(fù)模式下數(shù)據(jù)傳送對(duì)系統(tǒng)任務(wù)的影響,同時(shí)又能夠最大限度地利用系統(tǒng)的空閑時(shí)間進(jìn)行重構(gòu)恢復(fù)。其中存儲(chǔ)現(xiàn)場(chǎng)數(shù)據(jù)的內(nèi)存區(qū)域稱(chēng)為關(guān)鍵數(shù)據(jù)區(qū),一般由全局變量、靜態(tài)數(shù)據(jù)及任務(wù)堆棧等重要數(shù)據(jù)構(gòu)成,可以是一個(gè)連續(xù)的內(nèi)存區(qū)域,也可以由多個(gè)內(nèi)存數(shù)據(jù)塊組成。通過(guò)仔細(xì)選擇關(guān)鍵數(shù)據(jù)區(qū),可以大大減少系統(tǒng)重構(gòu)時(shí)的數(shù)據(jù)傳送量,降低對(duì)數(shù)據(jù)交換速率的要求,有效減少系統(tǒng)重構(gòu)時(shí)間。如果按照一般的方法按順序?qū)F(xiàn)場(chǎng)數(shù)據(jù)從主控制模板202發(fā)送到重啟后的故障分控制模板201或新增加的分控制模板201,關(guān)鍵數(shù)據(jù)區(qū)中某些數(shù)據(jù)在傳送后發(fā)生變化的話(huà),將導(dǎo)致重構(gòu)恢復(fù)的數(shù)據(jù)不正確。本方案采用單向鏈表方式按更新頻度對(duì)關(guān)鍵數(shù)據(jù)塊按隊(duì)列進(jìn)行管理。在重構(gòu)程序中,為每個(gè)關(guān)鍵數(shù)據(jù)塊設(shè)置一個(gè)包括數(shù)據(jù)塊地址范圍、恢復(fù)標(biāo)志及更新標(biāo)志等內(nèi)容的數(shù)據(jù)塊表項(xiàng),并將它們按加入的先后順序進(jìn)行排隊(duì)。數(shù)據(jù)恢復(fù)時(shí),從隊(duì)首到隊(duì)尾依次恢復(fù)所有的數(shù)據(jù)塊。初始時(shí),所有表項(xiàng)的恢復(fù)標(biāo)志均為0,更新標(biāo)志均為I。通過(guò)對(duì)恢復(fù)標(biāo)志及更新標(biāo)志的識(shí)別,來(lái)確定本數(shù)據(jù)塊的狀態(tài),以便于對(duì)其實(shí)行不同的處理措施。關(guān)鍵區(qū)數(shù)據(jù)管理方法如下
I)開(kāi)始恢復(fù)某一數(shù)據(jù)塊時(shí),將恢復(fù)標(biāo)志置為1,將更新標(biāo)志置為0,恢復(fù)完成后再將恢復(fù)標(biāo)志清為O?;謴?fù)過(guò)程中,若其更新標(biāo)志變?yōu)?,則認(rèn)為該數(shù)據(jù)塊已被更新,立即停止對(duì)它的恢復(fù),將恢復(fù)標(biāo)志重新置為0,并將其移至隊(duì)尾,再去恢復(fù)下一數(shù)據(jù)塊。2)某一數(shù)據(jù)包被更新時(shí),將更新標(biāo)志置為1,若恢復(fù)標(biāo)志不為1,說(shuō)明這一數(shù)據(jù)塊已經(jīng)恢復(fù)過(guò),也可能還沒(méi)輪到恢復(fù),不管哪種情況都將其移至隊(duì)列末尾。3)發(fā)送重構(gòu)結(jié)束命令幀之前,恢復(fù)程序需要重新檢查隊(duì)列中所有數(shù)據(jù)塊表項(xiàng)中的更新標(biāo)志,只有當(dāng)所有數(shù)據(jù)塊的更新標(biāo)志均為0時(shí),才能認(rèn)為數(shù)據(jù)恢復(fù)全部完成。若某一數(shù)據(jù)塊的更新標(biāo)志為1,需將其移至隊(duì)尾,重新開(kāi)始對(duì)它的恢復(fù)。
利用這一方法,可以將頻繁更新的數(shù)據(jù)塊放到隊(duì)尾,推后它們的恢復(fù)時(shí)間,可以有效地減少對(duì)頻繁更新的數(shù)據(jù)塊的傳輸次數(shù),從而有效地節(jié)省重構(gòu)耗費(fèi)的時(shí)間,也可以保證重構(gòu)時(shí)故障機(jī)器拷貝數(shù)據(jù)與正常機(jī)器的一致性。系統(tǒng)在完成上述工作過(guò)程中,三個(gè)控制模板中誰(shuí)是主控制模板202并不是絕對(duì)的,主控權(quán)可動(dòng)態(tài)切換。當(dāng)主控制模板202的故障次數(shù)超過(guò)其他兩個(gè)分控制模板201的故障次數(shù),或出現(xiàn)主控制模板202通訊異常或不工作的情況后,應(yīng)該切換主控權(quán),由故障次數(shù)最少的分控制模板201擔(dān)任主控制模板202。為了防止主控制模板202的反復(fù)切換,也可以設(shè)置一個(gè)緩沖次數(shù),即當(dāng)前主控制模板202發(fā)生故障次數(shù)比當(dāng)前最健康分控制模板201故 障次數(shù)超過(guò)緩沖次數(shù)時(shí)才切換主控權(quán)。
權(quán)利要求
1.一種用于全智能主控系統(tǒng)的安全控制冗余系統(tǒng),其特征在于包括一組控制模板(2)及一組I/O模板(4),所述的控制模板(2)與I/O模板(4)通過(guò)CAN總線(xiàn)(3)通信,所述的控制模板(2)包括主控制模板(202)及分別設(shè)置在主控制模板(202)兩側(cè)的兩個(gè)分控制模板(201),所述的主控制模板(202)與分控制模板(201)通過(guò)以太網(wǎng)(I)通信,所述的I/O模板(4)上設(shè)有一組I/O模塊(5),每個(gè)I/O模塊(5)上設(shè)有3個(gè)I/O采集通道(6)。
2.根據(jù)權(quán)利要求I所述的一種用于全智能主控系統(tǒng)的安全控制冗余系統(tǒng),其特征在于所述的CAN總線(xiàn)(3)通信與以太網(wǎng)(I)通信均采取雙冗余熱備份結(jié)構(gòu),由雙份網(wǎng)絡(luò)協(xié)議控制器和雙電纜構(gòu)成兩條網(wǎng)絡(luò)。
3.根據(jù)權(quán)利要求I所述的一種用于全智能主控系統(tǒng)的安全控制冗余方法,其特征在于所述的主控制模板(202)、分控制模板(201)和I/O模板(4)均為獨(dú)立的計(jì)算機(jī)系統(tǒng),包括電源、CPU、內(nèi)存、總線(xiàn)及接口邏輯。
4.一種用于全智能主控系統(tǒng)的安全控制冗余方法,其特征在于包括如下步驟 1)控制系統(tǒng)上電,系統(tǒng)初始化完成后,主控制模板(202)按照各控制變量的采集周期,依次向各控制變量所在的I/O模板(4)發(fā)送輪詢(xún)請(qǐng)求命令; 2)1/0模板(4)接收到輪詢(xún)請(qǐng)求命令后,讀取該控制變量所對(duì)應(yīng)的I/O模塊(5)的采樣值,I/O模板(5)讀取與其連接的3個(gè)I/O采集通道(6)上的采樣值后經(jīng)過(guò)三取二表決方式得出最終采樣值,并將其通過(guò)廣播方式發(fā)送給主控制模板(202 )和分控制模板(201); 3)主控制模板(202)和兩個(gè)分控制模板(201)同時(shí)接收到該采樣值后進(jìn)行任務(wù)同步,并進(jìn)行相同的控制運(yùn)算,得出各自的運(yùn)算結(jié)果; 4)由主控制模板(202)讀取分控制模板(201)的運(yùn)算結(jié)果,將三個(gè)運(yùn)算結(jié)果通過(guò)三取二表決方式得出最終運(yùn)算值; 5)由主控制模板(202)將最終運(yùn)算值發(fā)送給相應(yīng)的I/O模板(4),并將最終運(yùn)算值作為準(zhǔn)確值發(fā)送給兩個(gè)分控制模板(201)。
5.根據(jù)權(quán)利要求4所述的一種用于全智能主控系統(tǒng)的安全控制冗余方法,其特征在于所述的主控制模板(202)到I/O模板(4)、分控制模板(201)的通信模式均采用點(diǎn)對(duì)點(diǎn)方式,從I/O模板(4)到主控制模板(202)、分控制模板(201)的通信模式采用廣播方式。
6.根據(jù)權(quán)利要求4所述的一種用于全智能主控系統(tǒng)的安全控制冗余方法,其特征在于所述的三取二表決方式基于少數(shù)服從多數(shù)的糾錯(cuò)原理,由軟件按三取二的原則,以多數(shù)相同的輸出作為該表決系統(tǒng)的正確輸出。
7.根據(jù)權(quán)利要求4所述的一種用于全智能主控系統(tǒng)的安全控制冗余方法,其特征在于所述的I/O模板采集到的采樣值包括數(shù)字量、模擬量和脈沖量。
8.根據(jù)權(quán)利要求4所述的一種用于全智能主控系統(tǒng)的安全控制冗余方法,其特征在于步驟4)中在表決過(guò)程中當(dāng)其中一個(gè)控制模板運(yùn)算結(jié)果與其他兩個(gè)不一致時(shí),則該控制模板發(fā)生故障,所述的故障分為瞬時(shí)故障,嚴(yán)重故障和永久故障。
9.根據(jù)權(quán)利要求8所述的一種用于全智能主控系統(tǒng)的安全控制冗余方法,其特征在于當(dāng)控制模板出現(xiàn)嚴(yán)重故障時(shí),系統(tǒng)對(duì)其降級(jí)重構(gòu),所述的降級(jí)重構(gòu)是指由主控制模板將其上電重啟;在該控制模板重新運(yùn)行正常之前,系統(tǒng)由其他兩個(gè)控制模板同時(shí)控制,系統(tǒng)對(duì)其斷電重啟后,若其工作正常則再對(duì)其升級(jí)重構(gòu),恢復(fù)其工作現(xiàn)場(chǎng)數(shù)據(jù),系統(tǒng)恢復(fù)為三模冗余控制方式。
10.根據(jù)權(quán)利要求9所述的一種用于全智能主控系統(tǒng)的安全控制冗余方法,其特征在于所述升級(jí)重構(gòu)是指發(fā)生嚴(yán)重故障的控制模板重啟正常后,重新參與控制,使系統(tǒng)恢復(fù)三模冗余控制方式的過(guò)程,升級(jí)重構(gòu)時(shí)由主控制模板對(duì)其發(fā)送工作現(xiàn)場(chǎng)數(shù)據(jù),使3個(gè)控制模板狀態(tài)同步,在升級(jí)重構(gòu)過(guò)程中通過(guò)將工作現(xiàn)場(chǎng)數(shù)據(jù)組織成合適的數(shù)據(jù)幀和對(duì)工作現(xiàn)場(chǎng)數(shù)據(jù)區(qū)的有效管理,并且只在主控制模板執(zhí)行控制任務(wù)的空閑時(shí)間傳送工作現(xiàn)場(chǎng)數(shù)據(jù),使重構(gòu)過(guò)程中系統(tǒng)不必中斷正常任務(wù)而連續(xù)工作。
全文摘要
一種用于全智能主控系統(tǒng)的安全控制冗余系統(tǒng)及冗余方法,屬于工業(yè)控制領(lǐng)域。本發(fā)明針對(duì)一種采用雙機(jī)溫備份控制方式的分布式控制系統(tǒng)(DCS)的控制方案未完全考慮到控制結(jié)果準(zhǔn)確性、以及發(fā)生故障后不能實(shí)現(xiàn)自恢復(fù)的問(wèn)題,對(duì)其系統(tǒng)中的數(shù)據(jù)信息采集和處理采用了多次三取二的表決方式,通過(guò)對(duì)采集數(shù)據(jù)的三選二的表決方式保證了系統(tǒng)輸入的準(zhǔn)確性,通過(guò)對(duì)控制模板運(yùn)算結(jié)果的三選二的表決方式保證了系統(tǒng)計(jì)算的準(zhǔn)確性,通過(guò)動(dòng)態(tài)切換主控模板的方式保證了健康狀況最優(yōu)的控制模板充當(dāng)主控模板,進(jìn)一步提高系統(tǒng)準(zhǔn)確性,實(shí)現(xiàn)系統(tǒng)安全控制的目的。通過(guò)對(duì)故障控制模板的無(wú)縫重構(gòu),實(shí)現(xiàn)了控制模板故障狀況的自恢復(fù),保證了控制系統(tǒng)工作的連續(xù)性和穩(wěn)定性。
文檔編號(hào)G05B9/03GK102799104SQ20121022413
公開(kāi)日2012年11月28日 申請(qǐng)日期2012年7月2日 優(yōu)先權(quán)日2012年7月2日
發(fā)明者黃永忠, 沈?qū)W明, 許志釋 申請(qǐng)人:浙江正泰中自控制工程有限公司