本發(fā)明涉及等離子體控制系統(tǒng),尤其涉及一種用于冗余控制系統(tǒng)實(shí)時(shí)同步和在線切換的方法。
背景技術(shù):
1、等離子體控制系統(tǒng)是聚變裝置的關(guān)鍵系統(tǒng)之一,控制等離子體放電的全過程并實(shí)時(shí)檢測處理異常保證裝置的安全運(yùn)行,具有高實(shí)時(shí)性、高可靠性和高可用性的特點(diǎn)。為了提高系統(tǒng)的可靠性和可用性,一般會(huì)配置一套備用控制系統(tǒng),當(dāng)主控制系統(tǒng)發(fā)生故障時(shí),離線完成切換,使用備用控制系統(tǒng)進(jìn)行等離子體放電控制。這種主備冗余離線切換的方式無法做到系統(tǒng)100%的可靠和可用,即在切換時(shí)無法繼續(xù)等離子體放電控制,需要終止本次脈沖放電,從而對(duì)裝置安全運(yùn)行造成一定的隱患。面向未來聚變堆穩(wěn)態(tài)安全運(yùn)行需求,需要以天為單位進(jìn)行放電運(yùn)行控制,同時(shí)也提出了更高的安全可靠性要求。
2、面向未來聚變堆穩(wěn)態(tài)安全運(yùn)行需求,通過時(shí)間、數(shù)據(jù)、控制過程和狀態(tài)的同步實(shí)現(xiàn)主備控制系統(tǒng)的在線同步運(yùn)行,并在設(shè)備或進(jìn)程異常時(shí)完成系統(tǒng)的在線切換和異常報(bào)警,可以提高等離子體實(shí)時(shí)控制系統(tǒng)的可靠性和可用性,保障裝置的安全運(yùn)行。
3、作為聚變裝置的關(guān)鍵系統(tǒng),等離子體控制系統(tǒng)由軟硬件基礎(chǔ)架構(gòu)和裝置特定的控制功能構(gòu)成。為了滿足控制系統(tǒng)實(shí)時(shí)性和可擴(kuò)展性要求,硬件上采用集群架構(gòu),主節(jié)點(diǎn)運(yùn)行非實(shí)時(shí)的應(yīng)用,一個(gè)或者多個(gè)計(jì)算節(jié)點(diǎn)運(yùn)行實(shí)時(shí)等離子體控制算法。為降低系統(tǒng)硬件故障對(duì)裝置運(yùn)行的影響,一般配置等離子體控制的備用控制系統(tǒng),該備用控制系統(tǒng)采用相同的硬件配置,與主控制系統(tǒng)構(gòu)成冗余。目前,在裝置運(yùn)行過程中,由于等離子體控制系統(tǒng)與外系統(tǒng)需要通過一些設(shè)備進(jìn)行數(shù)據(jù)通訊,很難滿足主備系統(tǒng)同時(shí)接入,因此主備冗余系統(tǒng)是離線備用,即當(dāng)主控制系統(tǒng)發(fā)生故障時(shí),需要終止本次脈沖放電,然后離線完成硬件連接的切換,在下一次放電運(yùn)行時(shí)使用備用控制系統(tǒng)進(jìn)行等離子體控制。這種主備冗余只是硬件的備份,不考慮運(yùn)行同步問題,故障發(fā)生后離線切換無法保證在穩(wěn)態(tài)運(yùn)行時(shí)等離子體控制系統(tǒng)100%的可靠和可用。
4、要實(shí)現(xiàn)系統(tǒng)的高可靠和可用,必須實(shí)現(xiàn)主備冗余的同步運(yùn)行及在線切換。同步運(yùn)行包括主備系統(tǒng)的時(shí)間同步、與外系統(tǒng)通訊的數(shù)據(jù)同步、控制計(jì)算過程的同步,以及故障系統(tǒng)修復(fù)后重新接入時(shí)運(yùn)行狀態(tài)的同步。在線切換是基于主備系統(tǒng)同步運(yùn)行基礎(chǔ)上的,主備冗余切換器實(shí)時(shí)監(jiān)測控制系統(tǒng)的運(yùn)行狀態(tài),在設(shè)備或進(jìn)程異常時(shí),在不停機(jī)不影響等離子體控制的前提下完成主備系統(tǒng)的切換和異常報(bào)警。因此,本技術(shù)提出一種用于冗余控制系統(tǒng)實(shí)時(shí)同步和在線切換的方法。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的目的是針對(duì)背景技術(shù)中存在現(xiàn)有的離子體控制系統(tǒng)不能滿足穩(wěn)態(tài)運(yùn)行下系統(tǒng)高可靠要求的問題,提出一種用于冗余控制系統(tǒng)實(shí)時(shí)同步和在線切換的方法。
2、本發(fā)明的技術(shù)方案:一種用于冗余控制系統(tǒng)實(shí)時(shí)同步和在線切換的方法,包括以下步驟:
3、系統(tǒng)交互,冗余控制系統(tǒng)與外系統(tǒng)通過控制網(wǎng)、時(shí)鐘同步網(wǎng)、中央聯(lián)鎖網(wǎng)和實(shí)時(shí)通訊網(wǎng)實(shí)現(xiàn)交互;
4、時(shí)間同步,主備計(jì)算節(jié)點(diǎn)服務(wù)器同步接收觸發(fā)信號(hào)并設(shè)置運(yùn)行時(shí)間初值,每周期讀取外部時(shí)鐘信號(hào)按公式計(jì)算運(yùn)行時(shí)間、主控制系統(tǒng)將運(yùn)行時(shí)間共享、備用控制系統(tǒng)定期同步,重復(fù)至結(jié)束;
5、數(shù)據(jù)同步,運(yùn)行準(zhǔn)備階段主控制系統(tǒng)、備用控制系統(tǒng)讀取并存儲(chǔ)預(yù)設(shè)數(shù)據(jù),運(yùn)行中解析配置參數(shù)、插值計(jì)算、獲取采集數(shù)據(jù)完成控制計(jì)算,并經(jīng)主備冗余切換器輸出;
6、控制過程及運(yùn)行狀態(tài)同步,通過多級(jí)狀態(tài)機(jī)管理,主控制系統(tǒng)讀取并發(fā)送同步數(shù)據(jù),備用控制系統(tǒng)按需讀取、解析、寫入并根據(jù)信號(hào)跳轉(zhuǎn)狀態(tài)執(zhí)行控制流程;
7、在線切換及報(bào)警,主備冗余切換器監(jiān)控系統(tǒng)在異常時(shí)進(jìn)行在線切換和報(bào)警,聯(lián)鎖決策模塊獲取參數(shù)、進(jìn)行信號(hào)轉(zhuǎn)換和切換選擇,主控制系統(tǒng)、備用控制系統(tǒng)根據(jù)決策結(jié)果確認(rèn)狀態(tài)和角色,且異常系統(tǒng)修復(fù)后恢復(fù)同步。
8、可選地,所述系統(tǒng)交互中:
9、所述控制網(wǎng)為以太網(wǎng),主要用于傳輸放電信息、配置參數(shù)等非實(shí)時(shí)數(shù)據(jù);
10、所述時(shí)鐘同步網(wǎng)為光纖網(wǎng)絡(luò),用于傳輸時(shí)鐘脈沖信號(hào)和同步觸發(fā)信號(hào);
11、所述中央聯(lián)鎖網(wǎng)由光纖或者硬件連線組成,用于傳輸系統(tǒng)狀態(tài)以實(shí)現(xiàn)聯(lián)鎖保護(hù);
12、所述實(shí)時(shí)通訊網(wǎng)由高速低延時(shí)光纖網(wǎng)絡(luò)構(gòu)成,按照通訊傳輸方向分為實(shí)時(shí)通訊輸入網(wǎng)絡(luò)和輸出網(wǎng)絡(luò),用于傳輸實(shí)時(shí)數(shù)據(jù)。
13、可選地,所述時(shí)間同步包括:
14、計(jì)算節(jié)點(diǎn)服務(wù)器在完成設(shè)備初始化后,等待外部t0時(shí)刻觸發(fā)信號(hào),接收到觸發(fā)信號(hào)后將控制系統(tǒng)初始運(yùn)行時(shí)間設(shè)置為t0;
15、讀取外部時(shí)鐘信號(hào)進(jìn)行計(jì)數(shù),每檢測到一個(gè)脈沖變化,運(yùn)行時(shí)間相應(yīng)增加,從起始時(shí)間開始不斷累加時(shí)間增量得到當(dāng)前的系統(tǒng)運(yùn)行時(shí)間,計(jì)算公式為:
16、tcurrent=t0+(n-n0)*tcycle??(1)
17、tcurrent表示控制系統(tǒng)當(dāng)前運(yùn)行時(shí)間,t0是系統(tǒng)初始運(yùn)行時(shí)刻,n表示當(dāng)前時(shí)鐘信號(hào)計(jì)數(shù),n0是起始時(shí)刻的計(jì)數(shù),tcycle表示時(shí)鐘脈沖信號(hào)的周期;
18、主控制系統(tǒng)計(jì)算得到當(dāng)前運(yùn)行時(shí)間后寫入共享內(nèi)存,并將這個(gè)時(shí)間發(fā)送到實(shí)時(shí)通訊網(wǎng)絡(luò)上;
19、備用控制系統(tǒng)需要定期與主控制系統(tǒng)同步,若當(dāng)前運(yùn)行周期需同步,備用控制系統(tǒng)首先從實(shí)時(shí)通訊網(wǎng)絡(luò)上讀取主控制系統(tǒng)的當(dāng)前運(yùn)行時(shí)間t,將t賦值給t0,并將n賦值給n0,并根據(jù)公式(1)計(jì)算調(diào)整自身運(yùn)行時(shí)間完成與主控制系統(tǒng)的時(shí)間同步。
20、可選地,所述數(shù)據(jù)同步包括以下步驟:
21、運(yùn)行準(zhǔn)備階段,主控制系統(tǒng)、備用控制系統(tǒng)的配置管理服務(wù)從控制網(wǎng)讀取相同的界面預(yù)設(shè)數(shù)據(jù),界面預(yù)設(shè)數(shù)據(jù)包括靜態(tài)配置數(shù)據(jù)和動(dòng)態(tài)配置數(shù)據(jù),靜態(tài)配置數(shù)據(jù)在整個(gè)運(yùn)行過程中保持不變,動(dòng)態(tài)配置數(shù)據(jù)是隨時(shí)間變化的波形數(shù)據(jù),將靜態(tài)數(shù)據(jù)及波形拐點(diǎn)數(shù)據(jù)存入實(shí)時(shí)計(jì)算節(jié)點(diǎn)內(nèi)存中;
22、在運(yùn)行過程中,各個(gè)實(shí)時(shí)進(jìn)程按設(shè)定的周期運(yùn)行,在每個(gè)周期,先將配置參數(shù)根據(jù)類型進(jìn)行解析,對(duì)于動(dòng)態(tài)配置參數(shù)的波形拐點(diǎn)數(shù)據(jù),根據(jù)當(dāng)前系統(tǒng)運(yùn)行時(shí)間進(jìn)行線性插值計(jì)算,結(jié)果存入數(shù)據(jù)引擎;
23、周期性通過實(shí)時(shí)通訊網(wǎng)獲取采集數(shù)據(jù),結(jié)合預(yù)設(shè)參數(shù)完成控制計(jì)算,并將計(jì)算結(jié)果轉(zhuǎn)換成控制命令后輸出到主備冗余切換器,該設(shè)備根據(jù)主控制系統(tǒng)、備用控制系統(tǒng)的運(yùn)行狀態(tài)進(jìn)行輸出選擇,并最終將命令數(shù)據(jù)輸出到實(shí)時(shí)通訊網(wǎng)上。
24、可選地,控制過程及運(yùn)行狀態(tài)同步包括:
25、控制系統(tǒng)的運(yùn)行由多級(jí)狀態(tài)機(jī)管理,總體執(zhí)行流程由第一級(jí)狀態(tài)機(jī)完成,第一級(jí)狀態(tài)機(jī)包括等待、運(yùn)行準(zhǔn)備、運(yùn)行中、結(jié)束幾個(gè)狀態(tài),在“運(yùn)行中”階段各實(shí)時(shí)控制進(jìn)程通過第二級(jí)狀態(tài)機(jī)管理,即每個(gè)進(jìn)程對(duì)應(yīng)一個(gè)執(zhí)行調(diào)度狀態(tài)機(jī),執(zhí)行調(diào)度狀態(tài)機(jī)主要包括啟動(dòng)、同步、正常運(yùn)行、異常處理、結(jié)束幾個(gè)狀態(tài)。
26、可選地,在第一級(jí)狀態(tài)機(jī)進(jìn)入“運(yùn)行中”狀態(tài)后,第二級(jí)狀態(tài)機(jī)隨即進(jìn)入啟動(dòng)狀態(tài);當(dāng)各進(jìn)程進(jìn)入結(jié)束狀態(tài)后會(huì)觸發(fā)第一級(jí)狀態(tài)機(jī)進(jìn)入結(jié)束狀態(tài);完成相應(yīng)的設(shè)備關(guān)閉、內(nèi)存釋放或清理后,第一級(jí)狀態(tài)機(jī)回到等待狀態(tài),等待下一次放電;
27、第一級(jí)狀態(tài)機(jī)各階段執(zhí)行流程如下:
28、等待階段:主節(jié)點(diǎn)與中央控制系統(tǒng)通訊,當(dāng)收到有效放電炮號(hào)和放電時(shí)長數(shù)據(jù)后,進(jìn)入運(yùn)行準(zhǔn)備階段;
29、準(zhǔn)備階段:分為初步鎖定和最終鎖定兩個(gè)步驟,在初步鎖定階段,停止接收界面預(yù)設(shè)修改,檢查各進(jìn)程所需內(nèi)存并完成初始化,并將界面預(yù)設(shè)參數(shù)放入相應(yīng)的內(nèi)存中;在界面上通過強(qiáng)制解鎖對(duì)預(yù)設(shè)參數(shù)修改,并重新進(jìn)入鎖定;當(dāng)所有進(jìn)程完成初始化后進(jìn)入最后鎖定,實(shí)時(shí)計(jì)算節(jié)點(diǎn)上的控制進(jìn)程完成設(shè)備初始化后等待外部觸發(fā),至此完成運(yùn)行準(zhǔn)備;
30、運(yùn)行中階段:不同的控制內(nèi)容歸屬到不同的類別,每個(gè)控制類可以有多個(gè)執(zhí)行序列,每個(gè)執(zhí)行序列定義了一系列算法段,每個(gè)算法段對(duì)應(yīng)了具體的控制算法及控制參數(shù),這些控制類按照設(shè)定的周期運(yùn)行在相應(yīng)的cpu處理核上,多個(gè)cpu核并行運(yùn)行,對(duì)于部署在同一個(gè)cpu核上的不同控制類,則按預(yù)先的配置順序執(zhí)行;
31、結(jié)束階段:完成相應(yīng)的設(shè)備關(guān)閉、內(nèi)存釋放或清理,之后第一級(jí)狀態(tài)機(jī)回到等待狀態(tài),等待下一次放電;
32、可選地,第二級(jí)狀態(tài)機(jī)各階段執(zhí)行流程如下:
33、啟動(dòng)階段:完成設(shè)備初始化、內(nèi)存申請(qǐng)及初始化,預(yù)設(shè)參數(shù)寫入內(nèi)存;
34、同步階段:用于備用控制系統(tǒng)的運(yùn)行狀態(tài)同步,當(dāng)需要同步時(shí),同步事件觸發(fā)狀態(tài)機(jī)進(jìn)入該狀態(tài),完成同步后進(jìn)入與主控制系統(tǒng)一致的運(yùn)行狀態(tài);
35、正常運(yùn)行階段:實(shí)時(shí)控制進(jìn)程順序執(zhí)行在該cpu核上配置的控制類的主要執(zhí)行序列,即根據(jù)當(dāng)前系統(tǒng)運(yùn)行時(shí)間,運(yùn)行主執(zhí)行序列相應(yīng)的控制算法對(duì)等離子體的參數(shù)進(jìn)行實(shí)時(shí)控制;
36、異常處理階段:當(dāng)控制系統(tǒng)的監(jiān)測模塊發(fā)現(xiàn)任何異常時(shí),異常包括外部系統(tǒng)異常、關(guān)鍵參數(shù)超過安全運(yùn)行閾值、等離子體狀態(tài)異常,進(jìn)程調(diào)度狀態(tài)機(jī)進(jìn)入異常處理狀態(tài),切換相關(guān)控制類的執(zhí)行序列,即改變控制算法或者控制參數(shù),控制等離子體回到正常狀態(tài)或者在不可避免破裂的情況下停止本次放電;
37、結(jié)束階段:進(jìn)入結(jié)束狀態(tài)的條件是放電時(shí)長達(dá)到設(shè)定值或者異常處理結(jié)果需要終止放電;完成相應(yīng)的設(shè)備關(guān)閉、內(nèi)存釋放或清理;
38、可選地,所述主控制系統(tǒng)的同步進(jìn)程執(zhí)行以下步驟:
39、1)從共享內(nèi)存中讀取各進(jìn)程調(diào)度狀態(tài)機(jī)狀態(tài)和關(guān)鍵中間計(jì)算結(jié)果;
40、2)按照約定的順序匯總整理數(shù)據(jù);
41、3)通過實(shí)時(shí)通訊網(wǎng)發(fā)送整理后的同步狀態(tài)數(shù)據(jù);
42、備用控制系統(tǒng)的同步過程如下:
43、a、判斷是否需要同步,判斷依據(jù)是達(dá)到設(shè)定同步時(shí)間或者備用控制系統(tǒng)故障修復(fù)后接入,如需同步則進(jìn)入步驟b,否則跳過本周期,等待下個(gè)周期;
44、b、從實(shí)時(shí)通訊網(wǎng)讀取主控制系統(tǒng)發(fā)送的同步數(shù)據(jù);
45、c、解析后將數(shù)據(jù)寫入相應(yīng)的共享內(nèi)存,發(fā)送同步標(biāo)志信號(hào),用于各進(jìn)程調(diào)度狀態(tài)機(jī)進(jìn)入同步狀態(tài);
46、d、當(dāng)狀態(tài)機(jī)處于同步狀態(tài)時(shí),控制系統(tǒng)完成同步數(shù)據(jù)在相應(yīng)內(nèi)存位置的覆蓋寫入,完成后狀態(tài)機(jī)根據(jù)解析的狀態(tài)數(shù)據(jù)從同步態(tài)跳轉(zhuǎn)進(jìn)入與主控制系統(tǒng)一致的狀態(tài),執(zhí)行一致的控制流程。
47、可選地,所述主備冗余切換器包括聯(lián)鎖決策模塊、光電轉(zhuǎn)換及輸出切換模塊、報(bào)警模塊,該切換器實(shí)時(shí)監(jiān)測控制系統(tǒng)關(guān)鍵設(shè)備及進(jìn)程的運(yùn)行狀態(tài),在設(shè)備或進(jìn)程異常時(shí),完成主控制系統(tǒng)、備用控制系統(tǒng)在線切換和異常報(bào)警;其中,
48、聯(lián)鎖決策模塊獲取主控制系統(tǒng)和多個(gè)備用控制系統(tǒng)的詳細(xì)參數(shù),包括但不限于cpu負(fù)載率、內(nèi)存占用率、硬盤占用率、進(jìn)程心跳,依據(jù)上述參數(shù)分析做出切換決策,并將結(jié)果作用于切換模塊,同時(shí)通過報(bào)警模塊發(fā)送錯(cuò)誤信息到監(jiān)控終端并用短信通知相關(guān)人員;
49、光電轉(zhuǎn)換及輸出切換模塊完成控制命令電信號(hào)和光信號(hào)之間的轉(zhuǎn)換,并根據(jù)決策信號(hào)完成主控制系統(tǒng)、備用控制系統(tǒng)控制命令到輸出口的切換,最終控制命令以光信號(hào)傳輸至實(shí)時(shí)通訊網(wǎng);
50、主備冗余切換器支持上述自動(dòng)判斷模式,也提供外部指定強(qiáng)制切換模式,即指定輸出切換到外部設(shè)置系統(tǒng)a或者系統(tǒng)b,上述控制方式可以采用光纖信號(hào)或硬線信號(hào)控制。
51、可選地,主控制系統(tǒng)、備用控制系統(tǒng)狀態(tài)確認(rèn)及恢復(fù)過程包括:
52、主控制系統(tǒng)、備用控制系統(tǒng)讀取聯(lián)鎖決策結(jié)果,確認(rèn)當(dāng)前自己的工作狀態(tài)和角色,包括主控制系統(tǒng)、備用控制系統(tǒng)、異常系統(tǒng),但每個(gè)時(shí)刻只有一個(gè)主控制系統(tǒng);
53、主控制系統(tǒng)、備用控制系統(tǒng)根據(jù)自己的角色完成定期同步工作,當(dāng)有異常系統(tǒng)修復(fù)后重新接入時(shí),首先讀取配置信息,并通過與主控制系統(tǒng)的時(shí)間、數(shù)據(jù)、運(yùn)行過程及狀態(tài)同步完成角色轉(zhuǎn)換,即異常系統(tǒng)變更為備用系統(tǒng),恢復(fù)主備冗余狀態(tài)。
54、與現(xiàn)有技術(shù)相比,本技術(shù)包括以下至少一種有益技術(shù)效果:
55、本發(fā)明的等離子體控制系統(tǒng)實(shí)時(shí)同步和在線切換方法,通過時(shí)間、數(shù)據(jù)、控制過程和運(yùn)行狀態(tài)的同步實(shí)現(xiàn)主備控制系統(tǒng)的同步運(yùn)行,并實(shí)時(shí)監(jiān)測控制系統(tǒng)關(guān)鍵設(shè)備及進(jìn)程的運(yùn)行狀態(tài),用于聯(lián)鎖決策模塊判斷主從冗余系統(tǒng)的有效性,在設(shè)備或進(jìn)程異常時(shí)完成系統(tǒng)的在線切換和異常報(bào)警,并通過控制系統(tǒng)關(guān)鍵運(yùn)行信息的實(shí)時(shí)發(fā)布共享,實(shí)現(xiàn)離線系統(tǒng)接入后的狀態(tài)同步和在線冗余系統(tǒng)的恢復(fù)運(yùn)行,從而提高實(shí)時(shí)控制系統(tǒng)長時(shí)間穩(wěn)態(tài)運(yùn)行的可靠性。