在自動(dòng)化的許多領(lǐng)域,有效性的要求越來(lái)越高,因而對(duì)自動(dòng)化系統(tǒng)的容錯(cuò)水平的要求也變得越來(lái)越高,尤其在設(shè)備停機(jī)代價(jià)非常大的場(chǎng)合。為了滿足這些嚴(yán)格的要求,在DCS系統(tǒng)中通常采用冗余技術(shù),這樣才能夠滿足這些領(lǐng)域所需要的安全性、可靠性和有效性的標(biāo)準(zhǔn)。
在DCS控制系統(tǒng)中,分布處理單元是系統(tǒng)關(guān)鍵的部分。當(dāng)前這些分布處理單元的控制器往往是基于86系列CPU建構(gòu)的,這種架構(gòu)目前被廣泛采用。但是由于86系列分布處理單元的特點(diǎn),導(dǎo)致現(xiàn)在的控制器處理單元存在很多的缺點(diǎn),如放熱量大等。而且在封閉的環(huán)境中,這些問(wèn)題始終很難解決。隨著很多低功耗技術(shù)的發(fā)展和低功耗控制器的出現(xiàn),分布處理單元的CPU可以有更多的選擇,尤其是低功耗的控制器產(chǎn)生很少的熱量,且可以使系統(tǒng)的集成度更高。
無(wú)論是國(guó)內(nèi)還是國(guó)外的DCS控制系統(tǒng)之間有多大區(qū)別,冗余技術(shù)在這些DCS控制系統(tǒng)中都被廣泛采用。DCS控制系統(tǒng)中主要采用了網(wǎng)絡(luò)冗余技術(shù)、分布處理單元冗余技術(shù)、IO卡件冗余技術(shù)、電源冗余技術(shù)等。
1、DCS系統(tǒng)的模型
DCS控制系統(tǒng)是控制技術(shù)、計(jì)算機(jī)技術(shù)、通信技術(shù)及圖形顯示技術(shù)相結(jié)合的產(chǎn)物,其一般的體系結(jié)構(gòu)見(jiàn)圖1。由圖1 DCS控制系統(tǒng)模型框圖可知,DPU指的是分布處理單元。DCS控制系統(tǒng)的體系結(jié)構(gòu)分為3層:過(guò)程控制層、監(jiān)控層和管理層。其中過(guò)程控制層是DCS系統(tǒng)控制的基礎(chǔ),其設(shè)備的主要功能是控制接口、現(xiàn)場(chǎng)控制單元、檢測(cè)儀表和執(zhí)行機(jī)構(gòu);監(jiān)控層主要由監(jiān)控計(jì)算機(jī)、高級(jí)操作站和接口裝置構(gòu)成,主要負(fù)責(zé)操作監(jiān)視、系統(tǒng)報(bào)警、趨勢(shì)顯示及系統(tǒng)診斷等功能;管理層主要由管理計(jì)算機(jī)組成,負(fù)責(zé)整個(gè)系統(tǒng)的管理工作。
DCS控制系統(tǒng)的冗余設(shè)置大部分都與過(guò)程控制層和監(jiān)控層有關(guān),因此大部分的冗余技術(shù)都與過(guò)程控制層相關(guān)。下面結(jié)合最新的基于ARM控制器的分布式處理單元,對(duì)DCS控制系統(tǒng)中采用的冗余技術(shù)中的分布處理單元冗余和網(wǎng)絡(luò)冗余進(jìn)行討論。
2、基于ARM的分布處理單元結(jié)構(gòu)
基于ARM的分布處理單元的結(jié)構(gòu)框圖見(jiàn)圖2,這和一般的分布處理單元的結(jié)構(gòu)非常相似。這里主要把處理單元分為6部分:ARM控制器、上層網(wǎng)絡(luò)模塊、電源管理模塊、存儲(chǔ)器模塊、低層網(wǎng)絡(luò)模塊和時(shí)鐘模塊。ARM控制器和存儲(chǔ)模塊組成了最基本的嵌入式系統(tǒng),整個(gè)DCS控制系統(tǒng)的數(shù)據(jù)處理和控制策略都是在這里處理的。上層網(wǎng)絡(luò)模塊主要是指和管理層通信的主/冗余網(wǎng)絡(luò)和一個(gè)實(shí)現(xiàn)主/冗余分布處理單元進(jìn)行數(shù)據(jù)交換的網(wǎng)絡(luò),這部分的主要功能是完成管理層對(duì)DCS控制系統(tǒng)的實(shí)時(shí)檢測(cè)和實(shí)現(xiàn)主/冗余分布處理單元的數(shù)據(jù)冗余。底層的網(wǎng)絡(luò)模塊是由分為主次的2條485網(wǎng)絡(luò)組成,此模塊主要實(shí)現(xiàn)ARM控制器的I/O卡件之間的數(shù)據(jù)通信。存儲(chǔ)器模塊可分為兩部分,一部分用來(lái)管理存放操作系統(tǒng),另一部分用來(lái)管理存放實(shí)時(shí)數(shù)據(jù)。電源模塊和時(shí)鐘模塊分別實(shí)現(xiàn)電源的管理和時(shí)鐘的管理。
3、控制器冗余
分布式處理單元的冗余根據(jù)冗余度可以分為冗余度為1∶1和1∶n兩種情況。這在每個(gè)DCS廠家的產(chǎn)品中是不同的。這兩種方式各有優(yōu)缺點(diǎn)。這里介紹的是冗余度為1∶1的冗余設(shè)置。
分布處理單元冗余度為1∶1,就是將2塊組態(tài)完全一樣的控制器設(shè)置成冗余方式。在投入運(yùn)行時(shí),若出現(xiàn)故障,兩分布處理單元之間能實(shí)現(xiàn)無(wú)擾動(dòng)切換,保證系統(tǒng)的正常運(yùn)行。
本系統(tǒng)所采用的分布處理單元均帶3個(gè)網(wǎng)絡(luò)接口,其中2個(gè)網(wǎng)口分別連接到A網(wǎng)和B網(wǎng),實(shí)現(xiàn)各工作站點(diǎn)間的數(shù)據(jù)通信,第3個(gè)網(wǎng)口通過(guò)對(duì)等網(wǎng)數(shù)據(jù)連接子分布處理單元間(對(duì)等網(wǎng)數(shù)據(jù)現(xiàn)可選用光纖作傳輸介質(zhì)),用來(lái)傳輸主、從分布處理單元之間的備份數(shù)據(jù);分布處理單元之間的狀態(tài)信息由串口傳輸。冗余分布處理單元與網(wǎng)絡(luò)的連接見(jiàn)圖3。
冗余分布處理單元的工作原理:兩個(gè)分布處理單元硬件配置完全相同,內(nèi)部裝有相同的操作系統(tǒng),相同的組態(tài)軟件, 相同的組態(tài)信息。在同一時(shí)刻只有1個(gè)分布處理單元通過(guò)雙機(jī)交換卡接受過(guò)程信息并進(jìn)行運(yùn)算處理,最后產(chǎn)生控制結(jié)構(gòu)去控制過(guò)程設(shè)備,此分布處理單元稱為主分布處理單元。同時(shí)冗余分布處理單元并沒(méi)有閑置,它在每一個(gè)工作周期都通過(guò)雙機(jī)之間的光纖對(duì)主分布處理單元所接受的過(guò)程信息和運(yùn)算結(jié)果進(jìn)行實(shí)時(shí)拷貝,這樣冗余分布處理單元始終與主分布處理單元同步。冗余分布處理單元同時(shí)檢測(cè)拷貝的信息是否完整,是否在所允許的容錯(cuò)度內(nèi)。一旦信息不完整或報(bào)錯(cuò),則說(shuō)明主分布處理單元工作不正常。在這種情況下,冗余分布處理單元通過(guò)光纖將主分布處理單元旁路,同時(shí)切換為主分布處理單元繼續(xù)工作。切換時(shí)間選用最短的運(yùn)算周期(幾十ms或更短),從而實(shí)現(xiàn)無(wú)擾動(dòng)切換。等到主分布處理單元恢復(fù)正常后,冗余分布處理單元自動(dòng)把控制權(quán)交還給主分布處理單元,轉(zhuǎn)為冗余備份狀態(tài)。
從圖3中可看出雙分布處理單元仲裁電路工作原理為將分布處理單元各自自身之診斷結(jié)果加到仲裁電路上,并讀取相應(yīng)的仲裁結(jié)果,以確定自身之主輔狀態(tài)。通過(guò)編程,確定各狀態(tài)的優(yōu)先級(jí),由于雙分布處理單元均根據(jù)仲裁之結(jié)果確定各自之主輔狀態(tài),故只要仲裁結(jié)果變化了,雙分布處理單元?jiǎng)t自動(dòng)進(jìn)行切換。
4、網(wǎng)絡(luò)冗余
在DCS控制系統(tǒng)中至少存在2個(gè)網(wǎng)絡(luò),一個(gè)是管理層和控制層之間的通信網(wǎng)絡(luò),另一個(gè)是過(guò)程控制層與底層I/O卡件層之間的485通信網(wǎng)絡(luò)。上層網(wǎng)絡(luò)主要的作用是實(shí)現(xiàn)管理層對(duì)控制層實(shí)時(shí)檢測(cè),和對(duì)下層控制器的配置設(shè)置等任務(wù)。下層網(wǎng)絡(luò)是為了把I/O卡件采集的數(shù)據(jù)傳送到過(guò)程控制層,然后把控制層的控制數(shù)據(jù)傳送給I/O卡件。這2個(gè)網(wǎng)絡(luò)在DCS控制系統(tǒng)中的重要性是不言而喻的。
針對(duì)上層網(wǎng)絡(luò)模塊的冗余,當(dāng)今的工業(yè)自動(dòng)化領(lǐng)域出現(xiàn)了各種各樣的支持鏈路冗余功能的工業(yè)以太網(wǎng)交換機(jī),它們解決了由節(jié)點(diǎn)故障導(dǎo)致網(wǎng)絡(luò)癱瘓的問(wèn)題。為提高數(shù)據(jù)通信的整體可靠性和容錯(cuò)性,本DCS控制系統(tǒng)也采用環(huán)形的網(wǎng)絡(luò)拓補(bǔ)結(jié)構(gòu)。但是由于環(huán)形網(wǎng)本身固有的缺點(diǎn)是節(jié)點(diǎn)故障引起全網(wǎng)故障,因此數(shù)據(jù)通信鏈路的冗余技術(shù)應(yīng)運(yùn)而生。為了保證2層網(wǎng)絡(luò)的順利工作,2個(gè)網(wǎng)絡(luò)都采用1∶1的冗余設(shè)置。分布處理單元檢測(cè)到主網(wǎng)出現(xiàn)故障時(shí),自動(dòng)放棄從主網(wǎng)的端口通信,同時(shí)啟用冗余網(wǎng)的端口,將數(shù)據(jù)轉(zhuǎn)由冗余網(wǎng)發(fā)送 和接受。此時(shí)冗余網(wǎng)進(jìn)入數(shù)據(jù)通信狀態(tài),主網(wǎng)及時(shí)進(jìn)行修補(bǔ)。雙環(huán)網(wǎng)技術(shù)實(shí)現(xiàn)了傳輸媒介的冗余,在TurboRing的基礎(chǔ)上進(jìn)一步提高了系統(tǒng)的可靠性。但雙環(huán)網(wǎng)的管理和切換都比較復(fù)雜,本系統(tǒng)采用了一種簡(jiǎn)單的方法。
對(duì)于網(wǎng)絡(luò)上的每1個(gè)節(jié)點(diǎn),可能處于下述5種情況之一:
(1)在線聯(lián)網(wǎng)運(yùn)行,系統(tǒng)至少有2個(gè)節(jié)點(diǎn)在運(yùn)行;(2)在線單機(jī)運(yùn)行,系統(tǒng)只有本地節(jié)點(diǎn)在運(yùn)行;(3)離線單機(jī)運(yùn)行,此節(jié)點(diǎn)的網(wǎng)卡存在且正常、但沒(méi)有上網(wǎng);(4)離線單機(jī)運(yùn)行,此節(jié)點(diǎn)的網(wǎng)卡存在,但出現(xiàn)故障;(5)離線單機(jī)運(yùn)行,此節(jié)點(diǎn)不存在網(wǎng)卡。
目前的網(wǎng)絡(luò)控制器都提供了命令、診斷、配置和狀態(tài)寄存器,通過(guò)讀寫(xiě)這些寄存器,便可以區(qū)分上述5種情況。當(dāng)系統(tǒng)運(yùn)行時(shí),各種因素都可能存在,為了在線反映網(wǎng)絡(luò)各節(jié)點(diǎn)的運(yùn)行狀態(tài),每個(gè)節(jié)點(diǎn)可以設(shè)置一張網(wǎng)絡(luò)狀態(tài)表,記錄各節(jié)點(diǎn)上每塊網(wǎng)卡的運(yùn)行狀態(tài)。當(dāng)某節(jié)點(diǎn)上1塊或2塊網(wǎng)卡的狀態(tài)改變時(shí),其他節(jié)點(diǎn)應(yīng)能在盡可能短的時(shí)間內(nèi)知道。為此,每個(gè)節(jié)點(diǎn)的2塊網(wǎng)卡需要定時(shí)廣播1個(gè)測(cè)試包,表明該節(jié)點(diǎn)的網(wǎng)卡存在。其他節(jié)點(diǎn)收到此包時(shí),修改網(wǎng)絡(luò)狀態(tài)表中此節(jié)點(diǎn)上相應(yīng)網(wǎng)卡的狀態(tài)。然而在運(yùn)行過(guò)程中,如果某節(jié)點(diǎn)的1塊網(wǎng)卡離線,它將既不能接收、也不能發(fā)送。而在此之前,它已在其他節(jié)點(diǎn)的網(wǎng)絡(luò)狀態(tài)表上登記了,其他節(jié)點(diǎn)將認(rèn)為該網(wǎng)卡存在且正常,顯然沒(méi)有反映網(wǎng)卡運(yùn)行的真正狀態(tài)。為了準(zhǔn)確反映網(wǎng)卡的狀態(tài),每個(gè)節(jié)點(diǎn)的2塊網(wǎng)卡定時(shí)廣播測(cè)試包的同時(shí),將本節(jié)點(diǎn)的網(wǎng)絡(luò)狀態(tài)表中所有網(wǎng)卡狀態(tài)計(jì)數(shù)加1,直到最大值LIMIT。每當(dāng)收到某節(jié)點(diǎn)的測(cè)試包時(shí),將該節(jié)點(diǎn)相應(yīng)網(wǎng)卡的狀態(tài)計(jì)數(shù)清為0。這樣,保證狀態(tài)數(shù)小于最大值LIMIT和定時(shí)廣播周期就可以在線實(shí)時(shí)監(jiān)視網(wǎng)絡(luò)的運(yùn)行,準(zhǔn)確反映節(jié)點(diǎn)所處的狀態(tài)。在2個(gè)網(wǎng)絡(luò)之間還可以添加具有路由功能的網(wǎng)間傳輸設(shè)備,當(dāng)2個(gè)網(wǎng)絡(luò)同時(shí)出現(xiàn)故障時(shí),網(wǎng)間傳輸設(shè)備也能自動(dòng)尋找可行路徑,組成1個(gè)環(huán)路,保持系統(tǒng)的正常通信。
對(duì)于測(cè)試包的廣播,只要本節(jié)點(diǎn)上的網(wǎng)卡在線運(yùn)行,即從相應(yīng)的鏈路發(fā)送,測(cè)試包發(fā)送完畢之后,根據(jù)網(wǎng)絡(luò)狀態(tài)表,可以選擇一條正常運(yùn)行的節(jié)點(diǎn)數(shù)較少的,負(fù)荷較輕的鏈路,用于數(shù)據(jù)包發(fā)送。雙網(wǎng)的工作流程見(jiàn)圖4。