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