高漢軍+劉培邦+曲鳴
摘 要 核電站DCS系統(tǒng)的驗(yàn)證調(diào)試技術(shù)對(duì)于我國(guó)核電技術(shù)的發(fā)展和核安全的保障具有重要的意義。在核電站DCS的調(diào)試驗(yàn)證系統(tǒng)中,通信接口作為數(shù)據(jù)驅(qū)動(dòng)引擎,對(duì)整個(gè)系統(tǒng)的性能和穩(wěn)定性起著至關(guān)重要的作用。本文以中核自主研制的DCS樣機(jī)為背景,設(shè)計(jì)了DCS樣機(jī)的整套通信接口軟件(數(shù)據(jù)流向從電廠模型至DCS系統(tǒng)過(guò)程控制層再至操作監(jiān)控層,并輪回形成閉環(huán)反饋)。該通信接口軟件目前已應(yīng)用于DCS系統(tǒng)的工程調(diào)試驗(yàn)證中,且工程應(yīng)用證明,本軟件具有較高的性能和可靠性。
關(guān)鍵詞 DCS系統(tǒng);驗(yàn)證調(diào)試;通信接口軟件
中圖分類號(hào) TP393.09 文獻(xiàn)標(biāo)識(shí)碼 A 文章編號(hào) 1674-6708(2016)163-0114-02
近年來(lái),國(guó)內(nèi)的核電站建設(shè)規(guī)模不斷增大,新建的核電廠均采用分布式控制系統(tǒng)(Distributed Control System, DCS)作為其生產(chǎn)控制系統(tǒng);因此,研究核電DCS系統(tǒng)的工程調(diào)試驗(yàn)證技術(shù),對(duì)于我國(guó)核電技術(shù)的發(fā)展和核安全的保障具有重要的意義[1]。
典型的DCS樣機(jī)的體系結(jié)構(gòu)分為3層:電廠模型層(DCS 0層)、過(guò)程控制層(DCS 1層)和操作監(jiān)控層[2] (DCS 2層),層級(jí)之間通過(guò)數(shù)據(jù)的流動(dòng)完成DCS系統(tǒng)的閉環(huán)控制。DCS 0層模擬了核電機(jī)組真實(shí)設(shè)備的模擬量和數(shù)字量信號(hào),它通過(guò)DCS 0-1層通信接口軟件和DCS 1層進(jìn)行信號(hào)數(shù)據(jù)交互。DCS 1層主要負(fù)責(zé)生產(chǎn)過(guò)程的數(shù)據(jù)采集,控制邏輯計(jì)算等功能,它通過(guò)DCS 1-2層通信接口軟件和DCS 2層進(jìn)行過(guò)程數(shù)據(jù)和指令的交互。DCS 2層主要面向現(xiàn)場(chǎng)操縱員。它收集DCS 1層的輸出數(shù)據(jù),進(jìn)行工藝流程圖的顯示、重要參數(shù)的趨勢(shì)監(jiān)測(cè),并根據(jù)操縱員的指令進(jìn)行系統(tǒng)控制。DCS 2層的操作指令則按照上述過(guò)程的反向反饋進(jìn)DCS 0層,由此形成整個(gè)DCS系統(tǒng)的信息閉環(huán)。
由此可知,DCS樣機(jī)是數(shù)據(jù)驅(qū)動(dòng)型系統(tǒng),數(shù)據(jù)相當(dāng)于系統(tǒng)的血液,而通信接口軟件則類似于系統(tǒng)血管。設(shè)計(jì)實(shí)現(xiàn)高性能、高可靠性的數(shù)據(jù)通信接口軟件是保證DCS樣機(jī)系統(tǒng)穩(wěn)定、高效運(yùn)行的關(guān)鍵環(huán)節(jié)之一。
1 DCS樣機(jī)通信接口軟件的系統(tǒng)架構(gòu)
在DCS樣機(jī)系統(tǒng)中,電廠模型層(DCS 0層)一般作為獨(dú)立的整體運(yùn)行在服務(wù)器中,它通過(guò)單一的通信接口向過(guò)程控制層的推送數(shù)據(jù)。過(guò)程控制層(DCS 1層)的控制系統(tǒng)工程非常復(fù)雜,一般采用分系統(tǒng)的方式對(duì)控制工程進(jìn)行劃分,并下裝至不同控制器中。因此一個(gè)核電控制過(guò)程一般包含多臺(tái)控制器,控制器之間通過(guò)局域網(wǎng)絡(luò)完成站間數(shù)據(jù)通信;而且,各個(gè)控制器作為獨(dú)立的個(gè)體向操作監(jiān)控層推送數(shù)據(jù)。操作監(jiān)控層(DCS 2層)作為面向操縱員的平臺(tái),根據(jù)作用也分為不同的子系統(tǒng),子系統(tǒng)之間也通過(guò)局域網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)的同步。因此,整個(gè)DCS樣機(jī)系統(tǒng)呈現(xiàn)為總-分-分的結(jié)構(gòu),接口通信軟件的系統(tǒng)架構(gòu)必須能夠適應(yīng)DCS樣機(jī)系統(tǒng)的結(jié)構(gòu),達(dá)到高可靠性、高性能的目標(biāo)。接口通信軟件的系統(tǒng)原理如圖1所示。
通信接口軟件包括:DCS 0-1層通信接口軟件、控制器站間通信服務(wù)程序,DCS 1-2層通信接口軟件、DCS2層通信中間件四部分。
1.1 DCS 0-1層通信接口軟件
DCS 0-1層通信接口軟件負(fù)責(zé)DCS 0層和DCS1層的數(shù)據(jù)交互,它采用C/S架構(gòu),分為服務(wù)器端和客戶端??蛻舳诉\(yùn)行在DCS 0層,它通過(guò)共享內(nèi)存從模型中獲取設(shè)備點(diǎn)數(shù)據(jù),將其發(fā)送至DCS 1層,并等待DCS 1層的命令響應(yīng)。
服務(wù)器端運(yùn)行在DCS 1層,它接收設(shè)備的模擬量和數(shù)字量數(shù)據(jù)。由于在DCS樣機(jī)系統(tǒng)中,DCS 1層由虛擬控制器和實(shí)物控制器混合構(gòu)成,因此,服務(wù)器端軟件也分為虛擬服務(wù)器端(VirUNO)和服務(wù)器端(UNO)兩部分。虛擬服務(wù)器端收到數(shù)字信號(hào)數(shù)據(jù),直接轉(zhuǎn)發(fā)至虛擬I/O通信板卡中,由I/O驅(qū)動(dòng)傳送至虛擬控制器中;對(duì)于收到的模擬信號(hào),則先進(jìn)行量程轉(zhuǎn)換,再送進(jìn)虛擬I/O通信板卡中。實(shí)物服務(wù)器端不再區(qū)分?jǐn)?shù)字和模擬量信號(hào),集中傳送至實(shí)物通信板卡中(實(shí)物通信板卡自帶量程轉(zhuǎn)換程序)。同理,DCS 1層下發(fā)指令進(jìn)行逆向處理,傳送至DCS 0層。
1.2 控制器站間通信服務(wù)程序
控制器站間通信服務(wù)程序主要負(fù)責(zé)虛擬控制器之間、虛擬控制器與實(shí)物控制器之間的數(shù)據(jù)傳輸。為了能夠?qū)崿F(xiàn)與實(shí)物控制器的通信協(xié)議兼容,虛擬控制器間采用實(shí)物控制器的站間通信協(xié)議(安全組播通信協(xié)議[3][4]),并按照配置文件的配置信息進(jìn)行站間數(shù)據(jù)發(fā)送,同時(shí)采用定周期方式發(fā)送。
站間通信的報(bào)文格式也遵循實(shí)物控制器的數(shù)據(jù)通信格式。站間通信報(bào)文內(nèi)容為組播傳輸數(shù)據(jù)列表里面指定點(diǎn)的質(zhì)量碼和點(diǎn)值。當(dāng)固定周期到來(lái)時(shí)(規(guī)定為100ms),根據(jù)組播數(shù)據(jù)列表中的指定點(diǎn)的位置信息,從實(shí)時(shí)數(shù)據(jù)庫(kù)中讀出相應(yīng)點(diǎn)的質(zhì)量碼和變量值,并發(fā)送至特定組中。通信組中控制器收到該報(bào)文時(shí),根據(jù)自身配置信息,判定是否讀取通信數(shù)據(jù)。如果是當(dāng)前控制器所需數(shù)據(jù),則將其保存至自身的實(shí)時(shí)數(shù)據(jù)庫(kù)中,供虛擬I/O設(shè)備驅(qū)動(dòng)讀取。
1.3 DCS 1-2層通信接口軟件
DCS 1-2層通信接口軟件負(fù)責(zé)DCS 1層和2層之間的數(shù)據(jù)交互。它主要完成以下工作:1)將DCS 1層的過(guò)程控制變量傳送至DCS 2層;2)接收DCS 2層的操作指令。
DCS 1-2層通信接口軟件也分為兩部分,一部分以線程的形式工作在控制器端,另一部分作為進(jìn)程的形式工作在DCS 2層。它同時(shí)兼容定周期發(fā)送和召喚發(fā)送兩種通信模式,DCS 1-2層通信接口軟件的狀態(tài)機(jī)模型如圖2所示。虛擬/實(shí)物DCS控制器啟動(dòng)后,控制器端通信接口線程便處于等待狀態(tài),等待DCS 2層端通信接口進(jìn)程的通信連接。當(dāng)收到連接請(qǐng)求時(shí),通信接口線程進(jìn)入應(yīng)答狀態(tài)。在此狀態(tài)下,通信接口線程根據(jù)DCS 2層的要求,進(jìn)入周期發(fā)送狀態(tài)狀態(tài)和召喚發(fā)送狀態(tài)。在召喚發(fā)送模式下,僅在收到DCS 2層的數(shù)據(jù)請(qǐng)求才向上推送數(shù)據(jù),且在任意時(shí)刻接收DCS 2層的下行指令數(shù)據(jù)。在周期發(fā)送模式下,每次上傳數(shù)據(jù)后等待DCS 2層的應(yīng)答信息,否則,每隔30ms進(jìn)行重傳,3次重傳失效后將關(guān)閉連接,回到等待狀態(tài)。由于控制器端的通信線程較多,如果采用TCP連接方式,將會(huì)建立較多的連接,而且對(duì)于系統(tǒng)的擴(kuò)展性不利(無(wú)法預(yù)先知道有多少連接)。因此,這里采用組播通信的方式,符合相同協(xié)議的控制器均可加入通信組進(jìn)行數(shù)據(jù)交互。
1.4 DCS 2層中間件
DCS 2層中間件通過(guò)共享內(nèi)存與DCS 1-2層通信接口軟件共享數(shù)據(jù)。它主要完成各個(gè)操縱員站OWP之間的數(shù)據(jù)同步,包括:過(guò)程數(shù)據(jù)的同步和指令的同等。在OWP的數(shù)據(jù)同步過(guò)程中,采用UDP廣播的數(shù)據(jù)發(fā)送方式來(lái)降低寬帶消耗,并通過(guò)應(yīng)用層主動(dòng)添加同步數(shù)據(jù)確認(rèn)包的方式來(lái)確保數(shù)據(jù)同步的可靠性。
DCS 2層中間件分為主控模塊、數(shù)據(jù)發(fā)送模塊和數(shù)據(jù)接收模塊。數(shù)據(jù)發(fā)送模塊通過(guò)訪問“同步數(shù)據(jù)區(qū)域”來(lái)獲取本節(jié)點(diǎn)需要同步到網(wǎng)絡(luò)上其它節(jié)點(diǎn)的數(shù)據(jù),該信息存儲(chǔ)設(shè)施是一段共享內(nèi)存。數(shù)據(jù)發(fā)送模塊在每個(gè)“數(shù)據(jù)同步周期”后,都向主控模塊發(fā)送數(shù)據(jù)同步的狀態(tài)信息,便于主控模塊對(duì)本模塊的管理維護(hù)。數(shù)據(jù)接收模塊接收到其它節(jié)點(diǎn)的同步數(shù)據(jù)后,更新到“同步數(shù)據(jù)區(qū)域”,此操作在“數(shù)據(jù)同步周期”內(nèi)完成,在接收同步數(shù)據(jù)完畢并對(duì)接收到的同步數(shù)據(jù)進(jìn)行檢查,如果發(fā)現(xiàn)丟包或者等待接收數(shù)據(jù)超時(shí),則要向?qū)Ψ交貜?fù)同步數(shù)據(jù)確認(rèn)包,索取未接收到的數(shù)據(jù)包,同時(shí)向主控模塊發(fā)送數(shù)據(jù)同步的狀態(tài)信息,便于主控模塊對(duì)本模塊的管理維護(hù)。
2 結(jié)論
針對(duì)自主研制的DCS樣機(jī)系統(tǒng),設(shè)計(jì)開發(fā)了相應(yīng)的通信接口軟件。該軟件根據(jù)DCS系統(tǒng)的層次架構(gòu)進(jìn)行設(shè)計(jì),能夠較好的適應(yīng)DCS樣機(jī)系統(tǒng)。本文闡述了通信接口軟件的設(shè)計(jì)思想和功能結(jié)構(gòu),并對(duì)各個(gè)層級(jí)的子系統(tǒng)進(jìn)行了簡(jiǎn)要介紹。目前通信接口軟件已應(yīng)用與DCS工程調(diào)試中,為DCS樣機(jī)系統(tǒng)的高性能和高可靠性提供了有力的保障。
參考文獻(xiàn)
[1]曲鳴,張玉峰,李姝,等.核電DCS仿真與設(shè)計(jì)驗(yàn)證[C].中國(guó)核科學(xué)技術(shù)進(jìn)展報(bào)告,2009(1):769-777.
[2]高漢軍,李青,曲鳴,等.核電站DCS系統(tǒng)操作監(jiān)控軟件的仿真技術(shù)研究[C].15屆全國(guó)仿真技術(shù)學(xué)術(shù)會(huì)議,2015:173-177.
[3]Wong C K,Gouda M,Lam S. Secure group communication using key graphs[C].IEEE ACM Transactions on Networking.2000.
[4]戴瓊海,覃毅力,張瑩.組播通信的訪問控制和密鑰管理[J].電子學(xué)報(bào),2002(12):2020-2023.