摘 要:介紹了一個(gè)基于.NET的核電廠設(shè)備失效報(bào)告系統(tǒng)的設(shè)計(jì)。由于使用了基于組件的開發(fā)方法,使得系統(tǒng)具有易擴(kuò)展、維護(hù)成本低的特點(diǎn)。使用本系統(tǒng)能夠進(jìn)一步提高核電站設(shè)備運(yùn)行數(shù)據(jù)的采集和統(tǒng)計(jì)分析工作的效率及核安全管理水平。
關(guān)鍵詞:核電站;N一層體系結(jié)構(gòu);概率安全分析;可靠性數(shù)據(jù)
Application of.NET technique in the invalid report system of nuclear power plant equipment
XU Li ,ZHENG Wei,LI He ,HAo Bao—shui ,WANG Qi
(1.Beijing Information Technology Institute,Beijing 100085,China;
2.Guang Dong Dayabay Nuclear Power Station,Shenzhen of Guangdong Prov.518124,China;
3.China Istitute of Atomic Energy,Beijing 102413,China)
Abstract:The paper gives a description to the design of an invalid report system of nuclearpower station equipment based upon.NET.This system possesses the characteristicsof easy expansion and lower cost of maintenance due to the application developed frommodule,and furthermore improves the efficiency for the collection of the running data ofnuclear power plant devices and the statistic analysis,as well as the administrative levelof nuclear safety.
Keywords:nuclear power plant;N—leve lsystem structure;probability safety assessment;reliable data
由于核事故后果的嚴(yán)重性,各國的核能開發(fā)無不把核安全放在首位。根據(jù)我國的核安全法規(guī),對(duì)不同核設(shè)施的建造和運(yùn)行實(shí)行嚴(yán)格的許可證制度,核電站的選址、設(shè)計(jì)建造、運(yùn)行直到退役均置于國家核安全當(dāng)局的嚴(yán)格監(jiān)督管理之下[1]。美國三里島核電站事故后,概率安全分析(probability safety assessment一PSA)方法得到了廣泛應(yīng)用。隨著PSA 技術(shù)在核電站的深入應(yīng)用,涌現(xiàn)出 Living PSA、Risk Monitor、RCM (Reliability Centred Maintenance)等PSA應(yīng)用研究成果。 Living PSA是在PSA的基礎(chǔ)上,及時(shí)反映核電站當(dāng)前設(shè)計(jì)及運(yùn)行的特征和參數(shù)的一種PSA研究[2]。當(dāng)核電站運(yùn)行一段時(shí)間以后,原來的PSA模型中使用的可靠性數(shù)據(jù)需要根據(jù)積累的設(shè)備失效記錄進(jìn)行相應(yīng)的更新。為了保證核電站運(yùn)行期內(nèi)的各種信息的完整性和可追溯性,避免重復(fù)勞動(dòng),節(jié)約人力資源,提高工作效率及核安全管理水平,我們根據(jù)以往為PSA研究中做可靠性數(shù)據(jù)采集報(bào)告的經(jīng)驗(yàn),采用現(xiàn)代計(jì)算機(jī)技術(shù)、數(shù)據(jù)庫技術(shù)和網(wǎng)絡(luò)通訊技術(shù)來研究開發(fā)設(shè)備失效報(bào)告系統(tǒng),從而改進(jìn)以往的設(shè)備運(yùn)行可靠性數(shù)據(jù)采集、存儲(chǔ)、分析及傳輸方式。
目前我國核電站的企業(yè)信息網(wǎng),由于受當(dāng)時(shí)軟件技術(shù)的限制,很難解決異質(zhì)系統(tǒng)間的通信問題,實(shí)現(xiàn)真正意義上的網(wǎng)絡(luò)信息共享,形成了若干個(gè)數(shù)據(jù)孤島。
?。?nbsp;NET是微軟針對(duì)未來互聯(lián)網(wǎng)推出的一個(gè)設(shè)計(jì)架構(gòu)。這項(xiàng)技術(shù),實(shí)現(xiàn)了為不同的環(huán)境和設(shè)備開發(fā)應(yīng)用程序,克服了軟件行業(yè)的一個(gè)最大的難題[3]:在以不同語言、為不同環(huán)境編寫的應(yīng)用程序和設(shè)備之間進(jìn)行無縫數(shù)據(jù)交換。因此,使用.NET技術(shù)開發(fā)“設(shè)備失效報(bào)告系統(tǒng)”,可以更有效地利用網(wǎng)絡(luò)資源,避免數(shù)據(jù)孤島,實(shí)現(xiàn)網(wǎng)絡(luò)信息高度共享。
1 系統(tǒng)設(shè)計(jì)目標(biāo)
設(shè)備失效報(bào)告系統(tǒng)是基于核電站內(nèi)部網(wǎng)絡(luò)的分布式數(shù)據(jù)庫應(yīng)用系統(tǒng),主要目的是快速而準(zhǔn)確地為PSA提供設(shè)備可靠性參數(shù),并生成可靠性數(shù)據(jù)采集報(bào)告所需的報(bào)表。同時(shí),為核電站的安全評(píng)價(jià)、預(yù)防性維修、事故預(yù)測(cè)、備品備件優(yōu)化管理等活動(dòng)提供數(shù)據(jù)。
該系統(tǒng)由設(shè)備管理、運(yùn)行管理、可靠性數(shù)據(jù)統(tǒng)計(jì)、可靠性參數(shù)計(jì)算四大功能模塊組成,其中:
設(shè)備管理模塊:主要完成設(shè)備類信息的維護(hù)與查詢,設(shè)備類失效模式維護(hù)與查詢,定期試驗(yàn)(簡稱PT)規(guī)程維護(hù)與查詢,設(shè)備維護(hù)與查詢,電站系統(tǒng)信息查詢等。由于電站設(shè)備的可靠性參數(shù)計(jì)算是按設(shè)備類進(jìn)行的,設(shè)備類信息是系統(tǒng)最基礎(chǔ)的數(shù)據(jù)。
運(yùn)行管理模塊:主要完成操作員日志數(shù)據(jù)日常維護(hù)與查詢,定期試驗(yàn)數(shù)據(jù)維護(hù)與查詢,24h事件描述查詢與維護(hù),按要求下載操作員日志報(bào)表、定期試驗(yàn)報(bào)表和24 h事件報(bào)表,以便加入到可靠性報(bào)告中。該模塊管理的數(shù)據(jù)是進(jìn)行可靠性數(shù)據(jù)統(tǒng)計(jì)的原始數(shù)據(jù)。
可靠性數(shù)據(jù)統(tǒng)計(jì)模塊:主要根據(jù)操作員日志、定期試驗(yàn)和24 h事件,定期將設(shè)備的運(yùn)行數(shù)據(jù)換算為設(shè)備類的年度累計(jì)可靠性數(shù)據(jù)。統(tǒng)計(jì)的設(shè)備可靠性數(shù)據(jù)分別是:設(shè)備類年度累計(jì)運(yùn)行小時(shí)數(shù)、設(shè)備類年度累計(jì)需求次數(shù)、設(shè)備類年度累計(jì)運(yùn)行失效次數(shù)、設(shè)備類年度累計(jì)需求失效次數(shù),并把統(tǒng)計(jì)結(jié)果保存到數(shù)據(jù)庫中,供生成設(shè)備類失效趨勢(shì)圖及計(jì)算可靠性參數(shù)時(shí)用。
可靠性參數(shù)模塊:在可靠性工程中,可靠性參數(shù)有兩類統(tǒng)計(jì)推斷方法,即傳統(tǒng)的統(tǒng)計(jì)推斷方法和貝葉斯方法。本模塊提供根據(jù)特有數(shù)據(jù)的特征及專家意見,自動(dòng)或手動(dòng)選取合適的估算設(shè)備類各故障模式下運(yùn)行失效率和需求失效概率的方法,并把計(jì)算結(jié)果保存到數(shù)據(jù)庫中,供以后查詢、瀏覽用;同時(shí)提供按設(shè)備類生成可靠性報(bào)告所需統(tǒng)計(jì)報(bào)表功能。生成的報(bào)表有:失效模式清單、可靠性數(shù)據(jù)統(tǒng)計(jì)結(jié)果、可靠性數(shù)據(jù)綜合表、先驗(yàn)數(shù)據(jù)表、Bayes計(jì)算結(jié)果、經(jīng)典計(jì)算結(jié)果。
2 系統(tǒng)結(jié)構(gòu)
該系統(tǒng)實(shí)施中采用了N一層體系結(jié)構(gòu),系統(tǒng)結(jié)構(gòu)如圖1所示。
表現(xiàn)層為應(yīng)用客戶端部分,它負(fù)責(zé)與用戶進(jìn)行交互。該層包括設(shè)備管理模塊、運(yùn)行管理模塊、可靠性數(shù)據(jù)統(tǒng)計(jì)模塊和可靠性參數(shù)模塊的界面。表現(xiàn)層的作用只是一個(gè)對(duì)輸入的淺處理,也就是只處理一些有效性規(guī)則,輸人事件的描述。具體的插入等操作,是由業(yè)務(wù)邏輯層中的對(duì)象來處理的。
業(yè)務(wù)層也被稱為中間層。在這一層,把復(fù)雜的業(yè)務(wù)關(guān)系,細(xì)分為多項(xiàng)功能單一的服務(wù),每項(xiàng)服務(wù)都可執(zhí)行一項(xiàng)特殊任務(wù),這些服務(wù)可以用相對(duì)獨(dú)立的服務(wù)組件來實(shí)現(xiàn)其功能。通過分布這些組件,可以平衡數(shù)據(jù)處理負(fù)載,協(xié)調(diào)邏輯關(guān)系,調(diào)整業(yè)務(wù)規(guī)模和規(guī)則。這一層可部署在網(wǎng)絡(luò)的任何地方。在該系統(tǒng)中,我們把業(yè)務(wù)層又細(xì)劃出邏輯層和數(shù)據(jù)訪問層。
邏輯層主要包括如下組件:
1)LOGICBASE:業(yè)務(wù)層所有對(duì)象的基類,在此類中提供了一個(gè)數(shù)據(jù)訪問層對(duì)象,一個(gè)連接字符串變量,以及一個(gè)DataSet對(duì)象,此對(duì)象作為中間層數(shù)據(jù)存儲(chǔ)對(duì)象,在未提交到數(shù)據(jù)庫之前,所有對(duì)數(shù)據(jù)的增、刪、改操作結(jié)果都將存儲(chǔ)在此中間層對(duì)象中,提交數(shù)據(jù)更新后,再進(jìn)行與數(shù)據(jù)庫的接連。這樣可在很大程度降低數(shù)據(jù)庫服務(wù)器負(fù)荷,更多地利用客戶端計(jì)算機(jī)資源。
2)EQUIPGROUP:封裝了所有關(guān)于設(shè)備類的操作。幾乎整個(gè)程序的所有功能模塊都有使用到此類的地方。
3)EQUIPMENTL:封裝了所有關(guān)于設(shè)備數(shù)據(jù)的操作。
4)EVENTLIST:封裝了所有關(guān)于24h事問件信息的操作。
5)EXPER:封裝了所有對(duì)于定期試驗(yàn)的操作。
6)OPERATORLOG:封裝所有對(duì)于操作員日志的操作。
7)PTRULEL:封裝所有關(guān)于PT規(guī)程的操作。
8)Statistics:封裝所有關(guān)于統(tǒng)計(jì)操作的代碼。
9)ToExcel:封裝所有對(duì)于Excel文件的輸出操作,為輸出操作員日志、24 h事件、定期試驗(yàn)數(shù)據(jù)等提供支持。
數(shù)據(jù)訪問層完成與數(shù)據(jù)庫的交互。此層中只包含一個(gè)組件SQLSERVER,它封裝了所有對(duì)于SQL Server數(shù)據(jù)庫的訪問,包括填充DataSet,執(zhí)行特定的存儲(chǔ)過程,將對(duì)數(shù)據(jù)的修改更新到數(shù)據(jù)庫等。
數(shù)據(jù)層是后臺(tái)數(shù)據(jù)庫。本系統(tǒng)的后臺(tái)數(shù)據(jù)庫是SQL Server數(shù)據(jù)庫。
將獨(dú)立的應(yīng)用分離成不同的層或者部分,
可以增加應(yīng)用的可擴(kuò)展性,并且減少整個(gè)應(yīng)用的復(fù)雜性[4]。使得系統(tǒng)具有易擴(kuò)展、低維護(hù)成本的特點(diǎn)。
3 軟件開發(fā)
該數(shù)據(jù)庫應(yīng)用系統(tǒng)使用Visual Studio. NET2003為開發(fā)工具,C#(讀作C Sharp)為編程語言。
Visual Studio .NET 是為建立.NETFramework應(yīng)用而設(shè)的一個(gè)集成開發(fā)環(huán)境(IDE),它包含了很多關(guān)鍵技術(shù),對(duì)于創(chuàng)建安全、可擴(kuò)展和高可用性的web應(yīng)用和web服務(wù)來說,它簡化了開發(fā)、部署和維護(hù)過程。C#是從c/c++發(fā)展出來的,具有簡單、現(xiàn)代、面向?qū)ο蠛皖愋桶踩珯C(jī)制等特征的新的編程語言,它結(jié)合了VB的高效率和C++強(qiáng)大的功能,使開發(fā)者快速、簡單地為微軟.NET平臺(tái)建立解決方案。
3.1 開發(fā)方法
軟件開發(fā)采用了基于組件的開發(fā)方法,即以一組或多組組件為基礎(chǔ)創(chuàng)建應(yīng)用程序。它使傳統(tǒng)的面向?qū)ο筇岣叩揭粋€(gè)新的層次,在一個(gè)組件中實(shí)現(xiàn)一個(gè)服務(wù),提高了組件的可重用及易維護(hù)性。而Visual Studio.NET集成開發(fā)環(huán)境提供了豐富的工具支持.NET Framework組件的開發(fā),使組件的開發(fā)變得非常容易。
3.2 軟件設(shè)計(jì)中的關(guān)鍵技術(shù)
1)邏輯層對(duì)象的基類。由于系統(tǒng)所有邏輯層對(duì)象,都要使用數(shù)據(jù)訪問層對(duì)象及數(shù)據(jù)集對(duì)象DataSet,如果把定義數(shù)據(jù)訪問層對(duì)象和傳遞連接字符串統(tǒng)一放在一個(gè)基類中,則整個(gè)系統(tǒng)的邏輯結(jié)構(gòu)的可擴(kuò)展性會(huì)大大增強(qiáng),因此,在設(shè)計(jì)邏輯層時(shí),編寫了一個(gè)公共的基類對(duì)象,主要程序如下:
public abstract class LogicBase:System.ComponentM ode1.Component
{//定義基類為抽象類,不可以直接實(shí)例化此類
protected SQLSERVER dataSource;//保護(hù)類型的數(shù)據(jù)訪問層對(duì)象,這樣繼承此類的子類也可以訪問這個(gè)保護(hù)成員。
private static string strConn;//私有靜態(tài)成員,用來保存連接字符串。
protected DataSet mData//保護(hù)成員,此成員是邏輯中用來保存中間層數(shù)據(jù)的數(shù)據(jù)集對(duì)象。
public DataSet LDATASET//公有方法,此方法返回對(duì)數(shù)據(jù)集的引用
?。?nbsp;. . }
public static string ConnectionString //公有靜態(tài)屬性,通過此屬性可以訪問用于保存連接字符串的私有變量strCon
?。?nbsp;. . }
public LogicBase()
?。惖臉?gòu)造函數(shù),創(chuàng)建數(shù)據(jù)庫連接對(duì)象,并實(shí)例化數(shù)據(jù)集對(duì)象
dataSource— new SQLSERVER (str—Conn);
this.mData=new DataSet(); }
?。?br />
保存數(shù)據(jù)連接字符串的變量被定義為靜態(tài),這是因?yàn)闊o論創(chuàng)建多少個(gè)繼承基類的子類,都將使用同一個(gè)連接字符串,而且這樣做也方便在程序啟動(dòng)時(shí)及數(shù)據(jù)庫配置模塊時(shí),進(jìn)行數(shù)據(jù)庫連接字符串的設(shè)置。
2)設(shè)備類失效次數(shù)的年度趨勢(shì)圖設(shè)計(jì)。在這里使用了一個(gè)名為Infragistics NetAdvan—tage的第三方組件,它專門提供了一個(gè) win—Chart組件,可以完美地顯示圖表,而且支持. NET里的數(shù)據(jù)綁定。這個(gè)控件的設(shè)置基本是向?qū)Х绞?,使用非常簡單?br />
3)在數(shù)據(jù)錄入時(shí)及數(shù)據(jù)統(tǒng)計(jì)計(jì)算前,使用數(shù)據(jù)有效性校驗(yàn)可保證數(shù)據(jù)存儲(chǔ)及統(tǒng)計(jì)的準(zhǔn)確性。例如,在添加操作員日志及從其中統(tǒng)計(jì)可靠性數(shù)據(jù)時(shí),都先檢查日志中可能出現(xiàn)的記錄錯(cuò)誤。如在記錄中同一個(gè)設(shè)備出現(xiàn)連續(xù)兩次都是啟動(dòng)或都是停止的情況,說明記錄有錯(cuò)誤,這時(shí)系統(tǒng)會(huì)自動(dòng)提醒用戶。
4)數(shù)據(jù)庫存在檢查。如果服務(wù)器沒有啟動(dòng),或是服務(wù)器位置有變,應(yīng)該在程序啟動(dòng)時(shí)給予用戶提示。數(shù)據(jù)庫的啟動(dòng)檢查的代碼放置在主窗體的加載事件中。由于在檢查時(shí),要經(jīng)過10s的超時(shí)檢查,在此期間又不能讓程序處于未響應(yīng)狀態(tài),所以在此處創(chuàng)建了一個(gè)新的線程,來進(jìn)行數(shù)據(jù)庫連接的檢查。
3.3 開發(fā)環(huán)境
1)硬件要求。與Internet相聯(lián)的計(jì)算機(jī)若干臺(tái),每臺(tái)計(jì)算機(jī)的最低配置:Pentium II類處理器,450 MHz;256 MB物理內(nèi)存;安裝驅(qū)動(dòng)器上至少3.5GB空余空間。
2)軟件要求。Windows2000或WindowsXP;Visual Studio.NET專業(yè)版;SQL Server2000。
4 應(yīng)用與結(jié)論
可靠性設(shè)備失效報(bào)告系統(tǒng)是建立在信息技術(shù)基礎(chǔ)上,以系統(tǒng)化的管理思想,為核電站管理人員提供電站運(yùn)行期間的設(shè)備可靠性數(shù)據(jù)管理平臺(tái)。該系統(tǒng)不僅可以提供設(shè)備的運(yùn)行歷史記錄和原始特性參數(shù),還可以提供用于核電站的PSA分析的設(shè)備可靠性參數(shù);不僅能快速、準(zhǔn)確地為核電站設(shè)備可靠性數(shù)據(jù)采集報(bào)告生成數(shù)據(jù)報(bào)表,還可根據(jù)設(shè)備失效趨勢(shì)分析結(jié)果,指導(dǎo)核電站的核安全管理。
用該系統(tǒng)對(duì)某核電站循環(huán)水系統(tǒng)(CRF)泵類19970101/2001 1231的歷史運(yùn)行數(shù)據(jù)進(jìn)行統(tǒng)計(jì)計(jì)算,部分計(jì)算結(jié)果見圖2和圖3所示。
參考文獻(xiàn):
[1]孫造占,郁祖盛.?dāng)?shù)據(jù)庫系統(tǒng)在核安全中的應(yīng)用前景[J] 核科學(xué)與工程,1998(3).
[2]Development of M eth0d010gies for Optim ization of Surveillance Testing and M aintenance of Safety Related Equipment at NPPs[-z] IAEA Working Material,Vienna,A ustria,1997.
[3][美]微軟公司,著.楊志鵑,李朋朋,等譯.用VisualBasic.NET和Visual C#.NET開發(fā)XML Web服務(wù)與服務(wù)器組件[M].北京:清華大學(xué)出版社,2003:2—10.
[4]程曉琳,宋苗云,等編著.Visual Basic.NET數(shù)據(jù)庫高級(jí)教程[M].北京:清華大學(xué)出版社,2004:296—325.
[5](美)阿奇(Archer,T.).馬朝暉,譯.C# 技術(shù)揭秘(第二版)[M].北京:機(jī)械工業(yè)出版社,2004.