基于VxWorks的核電DCS系統(tǒng)控制器軟件的設(shè)計(jì)與實(shí)現(xiàn)
北京廣利核系統(tǒng)工程有限公司 劉剛林,王曉偉,王萬青
隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展和日漸成熟,數(shù)字化控制系統(tǒng)(DCS)在核電領(lǐng)域得到了越來越廣泛的應(yīng)用。本文介紹了一種基于VxWorks的核電DCS系統(tǒng)控制器軟件的設(shè)計(jì)與實(shí)現(xiàn),能夠?qū)崿F(xiàn)數(shù)據(jù)的快速采集、運(yùn)算和輸出,滿足了核電DCS系統(tǒng)對(duì)高可靠性和實(shí)時(shí)性的要求,已在多個(gè)核電站得到應(yīng)用,同時(shí)對(duì)其它嵌入式實(shí)時(shí)軟件的設(shè)計(jì)與實(shí)現(xiàn)也具有很好的借鑒意義。
核電;控制器;VxWorks;DCS系統(tǒng);設(shè)計(jì)與實(shí)現(xiàn)
DCS(Digital Control System)的應(yīng)用越來越廣泛,在整個(gè)DCS系統(tǒng)中處于核心地位的是現(xiàn)場(chǎng)控制站,而控制器是現(xiàn)場(chǎng)控制站的大腦,它的可靠性、高效性和實(shí)時(shí)性對(duì)整個(gè)DCS系統(tǒng)有著至關(guān)重要的影響。
圖1是DCS系統(tǒng)架構(gòu)圖。
圖1 DCS系統(tǒng)架構(gòu)圖
操作員站主要功能是通過人機(jī)界面監(jiān)控和顯示來自現(xiàn)場(chǎng)控制站的數(shù)據(jù)信息。主要負(fù)責(zé)畫面顯示、歷史曲線和實(shí)時(shí)曲線的查詢、實(shí)時(shí)數(shù)據(jù)的接收與存儲(chǔ)、歷史數(shù)據(jù)的存儲(chǔ)與轉(zhuǎn)存、數(shù)據(jù)動(dòng)態(tài)更新、日志顯示及報(bào)表打印等。
工程師站主要工作是對(duì)系統(tǒng)進(jìn)行組態(tài)并將編譯好的組態(tài)文件下載到控制器中執(zhí)行。
現(xiàn)場(chǎng)控制站中的控制器是DCS系統(tǒng)的控制核心,負(fù)責(zé)整個(gè)工業(yè)生產(chǎn)過程的數(shù)據(jù)采集、運(yùn)算、輸出以及實(shí)時(shí)監(jiān)控功能??刂破魍ㄟ^I/O網(wǎng)和I/O板卡進(jìn)行數(shù)據(jù)通信,通過系統(tǒng)網(wǎng)和上位機(jī)(如操作員站)進(jìn)行數(shù)據(jù)交互,控制器的穩(wěn)定性直接影響到整個(gè)DCS系統(tǒng)的穩(wěn)定性。
對(duì)于控制器,筆者選用VxWorks操作系統(tǒng)來進(jìn)行設(shè)計(jì)和開發(fā),控制器的系統(tǒng)層次結(jié)構(gòu)如圖2所示。
圖2 控制器的系統(tǒng)層次結(jié)構(gòu)
VxWorks以其良好的可靠性和卓越的實(shí)時(shí)性被廣泛地應(yīng)用在通信、軍事、航空、航天等高精尖技術(shù)及實(shí)時(shí)性要求極高的領(lǐng)域中。VxWorks作為一款優(yōu)秀的實(shí)時(shí)多任務(wù)操作系統(tǒng),有如下特點(diǎn):
(1)可靠性
操作系統(tǒng)的用戶希望在一個(gè)穩(wěn)定、可以信賴的環(huán)境中工作,所以操作系統(tǒng)的可靠性是用戶首先要考慮的問題。而穩(wěn)定、可靠一直是VxWorks的一個(gè)突出優(yōu)點(diǎn)。
(2)實(shí)時(shí)性
實(shí)時(shí)性是指能夠在限定時(shí)間內(nèi)執(zhí)行完規(guī)定的功能并對(duì)外部的異步事件做出響應(yīng)的能力。實(shí)時(shí)性的強(qiáng)弱是以完成規(guī)定功能和做出響應(yīng)的時(shí)間長(zhǎng)短來衡量的。
VxWorks的實(shí)時(shí)性做得非常好,其系統(tǒng)本身的開銷很小,進(jìn)程調(diào)度、進(jìn)程間通信、中斷處理等系統(tǒng)公用程序精練而有效,它們?cè)斐傻难舆t很短。VxWorks 提供的多任務(wù)機(jī)制中對(duì)任務(wù)的控制采用了優(yōu)先級(jí)搶占(Preemptive Priority Scheduling)和輪轉(zhuǎn)調(diào)度(Round-Robin Scheduling)機(jī)制,也充分保證了可靠的實(shí)時(shí)性,使同樣的硬件配置能滿足更強(qiáng)的實(shí)時(shí)性要求,為應(yīng)用的開發(fā)留下更大的余地。
(3)高效性
VxWorks由一個(gè)體積很小但很高效的實(shí)時(shí)內(nèi)核Wind及一些可以根據(jù)需要進(jìn)行定制的系統(tǒng)模塊組成。VxWorks 內(nèi)核最小為8kB,即便加上其它必要模塊,所占用的空間也很小,且不失其實(shí)時(shí)、多任務(wù)的系統(tǒng)特征。由于它的高度靈活性,用戶可以很容易地對(duì)這一操作系統(tǒng)進(jìn)行定制或作適當(dāng)開發(fā),來滿足自己的實(shí)際應(yīng)用需要。
2.1 設(shè)計(jì)方案
控制器通過系統(tǒng)網(wǎng)接收服務(wù)器發(fā)來的指令,并根據(jù)該指令的內(nèi)容通過消息隊(duì)列發(fā)送給對(duì)應(yīng)的模塊去處理。如果是診斷命令,則發(fā)送到診斷模塊,由診斷模塊去獲取診斷信息。如果是采集指令,則發(fā)送到I/O通信服務(wù)模塊,由I/O通信服務(wù)模塊去獲取相關(guān)采集信息。如果是對(duì)點(diǎn)項(xiàng)的讀寫等相關(guān)命令, 則發(fā)送到算法處理模塊,由算法模塊完成相關(guān)點(diǎn)項(xiàng)讀寫任務(wù)。這些模塊完成各自的任務(wù)后,會(huì)將結(jié)果數(shù)據(jù)通過共享內(nèi)存反饋給系統(tǒng)網(wǎng)服務(wù)模塊,最后由系統(tǒng)網(wǎng)服務(wù)模塊通過系統(tǒng)網(wǎng)發(fā)送到服務(wù)器。
控制器通過運(yùn)行在其上的VxWorks操作系統(tǒng)采用優(yōu)先級(jí)調(diào)度算法,每一個(gè)任務(wù)根據(jù)其相對(duì)于程序運(yùn)行的重要性而被分配一個(gè)唯一的優(yōu)先級(jí)。當(dāng)有中斷退出或者事件發(fā)生使一個(gè)比當(dāng)前運(yùn)行任務(wù)優(yōu)先級(jí)高的任務(wù)進(jìn)入就緒狀態(tài)時(shí),優(yōu)先級(jí)更高的任務(wù)占用CPU使用權(quán),當(dāng)前任務(wù)處于被掛起狀態(tài)。通過VxWorks操作系統(tǒng)以及應(yīng)用程序的各個(gè)任務(wù)之間的協(xié)調(diào)來共同完成數(shù)據(jù)通信、組態(tài)算法下傳、控制策略的實(shí)現(xiàn)和與其他站的數(shù)據(jù)傳輸?shù)取?/p>
圖3是某核電廠控制器結(jié)構(gòu)。
圖3 某核電廠主控制器軟件結(jié)構(gòu)
按照控制器應(yīng)用程序功能,劃分為以下幾個(gè)主要子模塊:
2.1.1 系統(tǒng)網(wǎng)服務(wù)模塊
系統(tǒng)網(wǎng)服務(wù)模塊負(fù)責(zé)控制器與操作員站、工程師站及其他功能站之間的通信,能在50ms內(nèi)得到快速響應(yīng)。該模塊將啟動(dòng)兩個(gè)并行的任務(wù),系統(tǒng)網(wǎng)接收任務(wù)和系統(tǒng)網(wǎng)發(fā)送任務(wù)。系統(tǒng)網(wǎng)接收任務(wù)主要完成接收以太網(wǎng)的數(shù)據(jù)請(qǐng)求,并通過消息隊(duì)列發(fā)送給相應(yīng)的軟件模塊;系統(tǒng)網(wǎng)發(fā)送任務(wù)主要從消息隊(duì)列接收其他軟件模塊發(fā)過來的消息,如算法點(diǎn)項(xiàng)讀寫、周期上傳采集數(shù)據(jù)等并且通過系統(tǒng)網(wǎng)協(xié)議發(fā)送出去。
圖4 系統(tǒng)網(wǎng)通信模塊發(fā)送任務(wù)流程圖
圖5 系統(tǒng)網(wǎng)通信模塊接收任務(wù)流程圖
2.1.2 I/O通信服務(wù)模塊
I/O通信服務(wù)模塊可以啟動(dòng)兩個(gè)并行的任務(wù),發(fā)送任務(wù)和接收任務(wù)。發(fā)送任務(wù)根據(jù)上位機(jī)要求更新I/O板卡配置信息,若板卡配置成功,則以50ms周期向I/O板卡發(fā)送數(shù)據(jù)采集請(qǐng)求。接收任務(wù)以50ms周期輪詢的方式,根據(jù)I/O板卡返回命令的不同進(jìn)行不同的處理,若I/O板卡返回的是上傳采集數(shù)據(jù)的命令,則該任務(wù)將采集數(shù)據(jù)從接收緩沖區(qū)移到專用的數(shù)據(jù)存儲(chǔ)區(qū)域。
圖6 發(fā)送任務(wù)流程圖
圖7 接收任務(wù)流程圖
2.1.3 算法處理模塊
控制器的算法模塊接收采集板卡采集上來的數(shù)據(jù),并對(duì)采集到的數(shù)據(jù)進(jìn)行分析和運(yùn)算處理,之后將要輸出的信息發(fā)送給輸出板卡,這一系列動(dòng)作能夠在50ms周期內(nèi)完成,這樣控制器的算法處理模塊就實(shí)現(xiàn)了數(shù)據(jù)的快速采集、運(yùn)算和輸出。
圖8 算法任務(wù)流程圖
2.1.4 自診斷模塊
安全是發(fā)展核電的前提條件,自診斷模塊通過監(jiān)視系統(tǒng)中各模塊的運(yùn)行狀態(tài),設(shè)置控制器的指示燈,自動(dòng)故障診斷、自動(dòng)存儲(chǔ)和上報(bào)診斷信息。在線的自動(dòng)故障診斷,能夠協(xié)助運(yùn)行人員判斷設(shè)備狀態(tài)和事故狀況,簡(jiǎn)化規(guī)程,減少人員工作量和工作難度,從而減低人因失誤,加快事故處理速度,并為機(jī)組運(yùn)行的自動(dòng)控制和安全分析提供有效的信息輸入。
圖9 任務(wù)管理模塊流程圖
本文介紹的基于VxWorks的核電DCS系統(tǒng)已經(jīng)開發(fā)完成,它使用了基于任務(wù)優(yōu)先級(jí)的搶占式調(diào)度算法,能夠快速響應(yīng)系統(tǒng)及用戶請(qǐng)求,任務(wù)間通信采用了消息隊(duì)列、信號(hào)量等機(jī)制,實(shí)現(xiàn)了數(shù)據(jù)的快速采集、運(yùn)算和輸出,具有很高的實(shí)時(shí)性。通過測(cè)試,系統(tǒng)響應(yīng)時(shí)間平均為50ms,上下浮動(dòng)不超過10ms,具有很高的快速響應(yīng)能力,實(shí)時(shí)性比原系統(tǒng)提高了一倍以上。已經(jīng)進(jìn)行了長(zhǎng)期不間斷驗(yàn)證,系統(tǒng)運(yùn)行穩(wěn)定。通過系統(tǒng)網(wǎng)服務(wù)上傳的數(shù)據(jù)點(diǎn)的時(shí)標(biāo)精度,模擬量達(dá)到500ms,是原有系統(tǒng)所需時(shí)間的1/3;開關(guān)量達(dá)到50ms,是原有系統(tǒng)所需時(shí)間的1/2。控制器冗余切換(如圖10,以鋸齒波為例,T1至T2時(shí)刻為控制器發(fā)生切換的時(shí)間段)時(shí)間,即T2-T1小于500ms,是以前的1/2。
圖10
本文描述的基于VxWorks的核電DCS系統(tǒng)控制器軟件,實(shí)現(xiàn)了數(shù)據(jù)的快速采集、運(yùn)算和輸出,能夠快速響應(yīng)系統(tǒng)及用戶請(qǐng)求,具備很高的實(shí)時(shí)性。該系統(tǒng)的在線自診斷功能,加快了故障處理速度,并為機(jī)組運(yùn)行的自動(dòng)控制和安全分析提供有效的信息輸入。目前已經(jīng)成功投入到陽江核電站3、4號(hào)核電機(jī)組的實(shí)際工程應(yīng)用中,經(jīng)過驗(yàn)證,該DCS系統(tǒng)能長(zhǎng)期穩(wěn)定無故障運(yùn)行,順利通過了核電現(xiàn)場(chǎng)的可靠性考核。可以預(yù)見,基于VxWorks的核電DCS系統(tǒng)控制器軟件以后的應(yīng)用將會(huì)越來越廣泛。
[1] 王常力,羅安.分布式控制系統(tǒng)(DCS)設(shè)計(jì)與應(yīng)用實(shí)例[M].北京:電子工業(yè)出版社,2004.
[2] 曹桂平.VxWorks設(shè)備驅(qū)動(dòng)開發(fā)詳解[M].北京:電子工業(yè)出版社,2011.
AMS ARESTM設(shè)備管理平臺(tái)
近日,艾默生推出AMS ARES?設(shè)備管理平臺(tái),為用戶提供資產(chǎn)和設(shè)備健康數(shù)據(jù)并確定優(yōu)先級(jí)別,從而做出維護(hù)決策,提高運(yùn)營(yíng)和資產(chǎn)可用性。無論工廠內(nèi)外,用戶可以通過傳統(tǒng)臺(tái)式電腦、筆記本電腦、智能手機(jī)和平板電腦查看設(shè)備資產(chǎn)健康狀況信息,隨時(shí)隨地安全訪問和共享關(guān)鍵數(shù)據(jù)。
AMS ARES平臺(tái)的推出代表著一種新的、現(xiàn)代化的AMS技術(shù)和服務(wù)組合的演變,提供數(shù)字智能并幫助客戶更有效地運(yùn)營(yíng)工廠和設(shè)備資產(chǎn)。作為艾默生Plantweb?數(shù)字生態(tài)系統(tǒng)的一部分,AMS ARES平臺(tái)收集來自多種傳感技術(shù)的數(shù)據(jù),提供關(guān)于工廠資產(chǎn)當(dāng)前健康狀況的整體情況?;诼毮艿男畔⒃L問可以確保正確的人員隨時(shí)訪問與其職責(zé)相關(guān)的設(shè)備資產(chǎn)健康狀況數(shù)據(jù)。簡(jiǎn)化的操作面板和嵌入式工具用于根據(jù)關(guān)鍵程度設(shè)定優(yōu)先級(jí),允許用戶快速確定問題的緊急程度,加快工作流程,以提高工廠績(jī)效。
工廠人員需要知道什么時(shí)候要去了解設(shè)備的健康狀況。艾默生致力于提供解決方案,為相關(guān)工作人員所提供的信息是能夠幫助他們?cè)谠O(shè)備出現(xiàn)問題之前就將其解決。通過提供安全、靈活、易于部署,而且能夠與多種類型的設(shè)備資產(chǎn)進(jìn)行通信的平臺(tái),工廠人員可以輕松、快速地獲得并使用設(shè)備資產(chǎn)健康狀況信息。
AMS ARES平臺(tái)標(biāo)志著從管理數(shù)據(jù)向提供可執(zhí)行信息的巨大轉(zhuǎn)變。更多的資產(chǎn)可見性不一定意味著要接收更多的數(shù)據(jù)。AMS ARES平臺(tái)會(huì)根據(jù)不同的工作職責(zé),僅向相關(guān)人員提供與其工作相關(guān)的信息。
作為一個(gè)隨過程行業(yè)的演變而發(fā)展的平臺(tái),AMS ARES平臺(tái)采用了OPC UA開放式架構(gòu),為用戶提供HMI和歷史數(shù)據(jù)庫接口,客戶還可以訪問業(yè)務(wù)分析和報(bào)告工具,使設(shè)備資產(chǎn)健康真正成為業(yè)務(wù)績(jī)效的一部分。
Design and Implementation of DCS System Controller Software Based on VxWorks
With the continuous development of computer technologies, digital control system (DCS) has been more and more widely used in the field of nuclear power. In this paper, we introduce the design and implementation of nuclear power DCS controller software system based on VxWorks for fast data acquisition, operation and output. This software can meet the requirements of nuclear power DCS system in terms of high reliability and real-time performance. It has been applied in a number of nuclear power plants. Meanwhile, it also has certain reference signifcance for the design and implementation of other embedded real-time softwares.
Nuclear power; Controller; VxWorks; DCS; Design and implementation
劉剛林(1980-),男,河北人,工程師,本科,現(xiàn)就職于北京廣利核系統(tǒng)工程有限公司,從事核電DCS設(shè)計(jì)工作。