徐金壽
(浙江同濟科技職業(yè)學院,浙江 杭州 311231)
浙江省水利廳明確指出今后五年 (2009—2014年)把水電建設(shè)的重心從新建電站轉(zhuǎn)移到農(nóng)村水電站更新改造[1]。浙江省水利廳隨之啟動了農(nóng)村水電站更新改造工程—即“千站改造惠農(nóng)保安工程”[2]。該工程的最終目標是把浙江省4 000多座農(nóng)村老水電站通過報廢重建和技術(shù)改造2種途徑進行更新改造。由于原來水電站都是常規(guī)控制,更新改造后必須采用計算機進行監(jiān)控,這對水電站職工的技術(shù)水平提出了更高的要求,很多電站更新改造后要求浙江同濟科技職業(yè)學院(水利部浙江省惟一定點培訓單位)對其職工進行水電站計算機監(jiān)控培訓,為此我們投資130萬元構(gòu)建了“發(fā)電廠仿真實訓中心”,該中心既可以進行教學又可以對電站的職工進行集中培訓。為此作者牽頭開發(fā)了農(nóng)村水電站計算機監(jiān)控工程案例資源庫系統(tǒng),并將其安裝于“發(fā)電廠仿真實訓中心”之中,為培養(yǎng)學生和提高電站職工的技能服務(wù);同時該系統(tǒng)也可以安裝在有條件的水電站的上位機培訓工作站中,為電站職工提供長期的自我學習系統(tǒng)。現(xiàn)就該系統(tǒng)的功能、開發(fā)過程和應(yīng)用情況等分述如下:
農(nóng)村水電站計算機監(jiān)控工程案例資源庫系統(tǒng)包括資源庫管理、問題庫管理、知識庫管理、專家?guī)旃芾淼戎饕δ?這些主要功能的設(shè)立能夠使得水電站計算機監(jiān)控培訓工作站的功能變得強大,并使工作站能夠長期為學員服務(wù)。資源庫管理為學員提供管理各類計算機監(jiān)控數(shù)據(jù)資源的功能,包括計算機監(jiān)控工程案例資源的添加、編輯、刪除、分類、目錄管理等功能。問題庫管理保存了運行與維護過程中將可能出現(xiàn)的問題,包括案例問題的背景、問題的內(nèi)容、問題的評析、拓展與研究等內(nèi)容。知識庫為運行人員提供了集思廣益的空間,包括知識存入、知識修正、知識刪除、知識查詢等;知識庫由問題評析形成,每個問題有1個或多個解決方案,每個方案形成知識庫記錄,記錄中設(shè)立 “類別”字段,該字段存放問題的序號,使得問題與方案形成 “一對多”的關(guān)系。專家?guī)鞛檫\行人員提供了解決實際問題的方案,包括專家?guī)觳樵儭?yōu)化知識存入專家?guī)?、專家?guī)鞐l目管理等功能。電站運行人員通過該系統(tǒng)的長期熏陶和經(jīng)驗積累,將不再停留在只懂計算機監(jiān)控系統(tǒng)的“開停機”操作等低級水平上,將與工程運行、維護以及日常管理等實際問題結(jié)合在一起,不斷地發(fā)現(xiàn)問題、提出問題、解決問題和獲取經(jīng)驗,使自身的水平和素質(zhì)不斷地提高。功能結(jié)構(gòu)如圖1所示。
圖1 功能結(jié)構(gòu)圖
水電站計算機監(jiān)控工程案例資源庫系統(tǒng)的開發(fā)過程有別于水電站的常規(guī)控制軟件系統(tǒng)[3]的編制,一般的常規(guī)控制軟件系統(tǒng)開發(fā)流程如圖2中(a)所示,主要注重于控制流程的編譯和軟硬件的協(xié)調(diào)。而水電站計算機監(jiān)控工程案例資源庫系統(tǒng)是基于水電站常規(guī)上位機系統(tǒng)之上,它不需要考慮底層裝置的性能,而是考慮與上位機的接口問題,控制圖的編制變?yōu)榕c上位機服務(wù)的歷史數(shù)據(jù)庫的鏈接流程編制。由于系統(tǒng)需要集成多個 (至少1個)開發(fā)商虛擬軟件,因此需要考慮多個開發(fā)商之間的軟件協(xié)調(diào)問題。該系統(tǒng)屬于水電站計算機監(jiān)控的高級應(yīng)用軟件,基于水電站計算機監(jiān)控基本軟件之上,故不涉及硬件的研制。系統(tǒng)的開發(fā)流程如圖2中的(b)所示。系統(tǒng)的開發(fā)在一定程度上遵循了MIS系統(tǒng)的開發(fā)流程,主要分需求分析、UML統(tǒng)一模型建立、系統(tǒng)設(shè)計與開發(fā),安裝與調(diào)試等過程。
圖2 開發(fā)過程辨析圖
軟件的設(shè)計總是從需求分析開始的,因為只有理解了用戶的需求,才能設(shè)計出令客戶滿意的軟件。該系統(tǒng)的需求分析從調(diào)研開始,為此調(diào)研了浙江省的諸多更新改造單位,統(tǒng)計了各個電站利用哪種水電站計算機監(jiān)控軟件,哪個公司開發(fā)的,電站對本系統(tǒng)是否需要,需要哪些功能等。通過需求分析從水電站的要求中提取出軟件系統(tǒng)能夠幫助電站解決的業(yè)務(wù)問題,通過對電站實踐問題的分析,規(guī)劃該軟件產(chǎn)品。這個步驟是對電站業(yè)務(wù)需求的一個升華,是一個把電站業(yè)務(wù)管理流程優(yōu)化,轉(zhuǎn)化為軟件產(chǎn)品,這一步是否成功,直接關(guān)系到開發(fā)出來的軟件產(chǎn)品能否得到電站的認可,能否真正運用軟件提高水電站職工的技術(shù)水平。
按照軟件工程對軟件開發(fā)過程的描述,需求階段可以細分為需求調(diào)研和需求分析2個小階段,需求調(diào)研需要充分細致地了解客戶目標,用戶業(yè)務(wù)內(nèi)容和流程等,這是一個對需求的采集過程,是進行需求分析的基礎(chǔ)。對水電站計算機監(jiān)控軟件而言,開發(fā)人員需要到水電站進行調(diào)研,與運行人員進行溝通,了解計算機監(jiān)控的對象、業(yè)務(wù)流程以及水電站運行人員的要求和操作習慣等方面。當已經(jīng)了解并理解了用戶的業(yè)務(wù),才可以開始分析需求。軟件系統(tǒng)的需求分析可以由產(chǎn)品工程師或系統(tǒng)分析員或兩者分階段合作完成。
由于該軟件的復(fù)雜程度比較高,故決定采用面向?qū)ο?OOP)的分析與設(shè)計方法,并采用面向?qū)ο蟮慕y(tǒng)一建模語言UML(Unified Modeling Language)建立模型。圖3即為系統(tǒng)采用UML建模語言建立的用戶登錄身份驗證順序圖,它反映了系統(tǒng)登錄的動態(tài)行為過程。
圖3 系統(tǒng)登錄的動態(tài)行為過程圖
該系統(tǒng)在采用UML建模語言建立模型時主要注意了以下幾個方面,這將為以后同類的系統(tǒng)開發(fā)提供借鑒。現(xiàn)總結(jié)如下:
(1)軟件界面的設(shè)計。在軟件界面的設(shè)計中注重界面風格的統(tǒng)一和友好,使大部分界面具有相同的風格,其目的是能夠使用戶的操作簡單、容易和實用[4]。在運行中,用戶可以通過鼠標或鍵盤對界面進行操作,而且能夠方便地對各個模塊進行設(shè)置和控制。
(2)系統(tǒng)功能的設(shè)計。在軟件的設(shè)計中將功能進行分類設(shè)計,例如可以把系統(tǒng)分為虛擬通訊模塊、參數(shù)設(shè)置模塊、虛擬控制調(diào)節(jié)模塊、虛擬數(shù)據(jù)采集及處理模塊、查詢及報表打印模塊、虛擬報警模塊及負荷曲線模塊等。同時將各個模塊分別作為相對獨立的模塊編程實現(xiàn),采用模塊化設(shè)計有利于系統(tǒng)的擴展和維護。
(3)軟件通用性的設(shè)計。由于軟件開發(fā)時和實際的運行情況總有一些差異,所以,要保證該軟件具有一定的通用性,尤其是參數(shù)設(shè)置部分和虛擬控制調(diào)節(jié)部分,保證了很好的靈活性和通用性。
(4)數(shù)據(jù)庫訪問的設(shè)計。由于系統(tǒng)主要涉及到歷史數(shù)據(jù)的鏈接與訪問,因此在對歷史數(shù)據(jù)庫的訪問中注意了使用快速和簡單的訪問方法,保證數(shù)據(jù)的正確性和可靠性。
(5)錯誤處理的設(shè)計。程序的運行不可避免地會發(fā)生一些錯誤,有的是外部的錯誤,有的是程序本身的錯誤。所以,在系統(tǒng)的設(shè)計中注意了錯誤處理的設(shè)計,保證了只要有錯誤發(fā)生就要進行處理,使電站的計算機監(jiān)控基本控制程序不受干擾,不影響電站的正常運行。
水電站計算機監(jiān)控軟件系統(tǒng)的應(yīng)用軟件種類繁多,一般采用按功能進行分類的方法,單獨設(shè)計與開發(fā)各種功能軟件和模塊,然后采用集成化技術(shù)、接口技術(shù)、網(wǎng)絡(luò)技術(shù)等技術(shù)對各個功能軟件或模塊進行集成,最后形成統(tǒng)一的軟件系統(tǒng)。該系統(tǒng)的設(shè)計與開發(fā)采用了數(shù)據(jù)庫重構(gòu)技術(shù)、模塊集成化技術(shù)和軟件接口技術(shù)等。
(1)數(shù)據(jù)庫重構(gòu)技術(shù)。數(shù)據(jù)庫重構(gòu)技術(shù)是為了解決不同版本的歷史數(shù)據(jù)庫與該系統(tǒng)的數(shù)據(jù)庫鏈接問題。設(shè)立1個配置文件 (pzdata.ini),該配置文件依據(jù)水電站計算機監(jiān)控歷史數(shù)據(jù)庫的不同版本進行配置調(diào)整,在配置文件中設(shè)立條件語句,依據(jù)歷史數(shù)據(jù)庫的不同版本開發(fā)數(shù)據(jù)訪問程序段,程序段中只包含所啟用的存儲過程或函數(shù),而目標過程和函數(shù)體存放在工程案例資源庫數(shù)據(jù)庫系統(tǒng)中;其次,在工程案例資源庫數(shù)據(jù)庫系統(tǒng)中開發(fā)目標過程和函數(shù)體,這些存儲過程與函數(shù)體采用某種可辨識的命名方式進行命名,例如可以采用監(jiān)控系統(tǒng)的歷史數(shù)據(jù)庫版本號作為前冠進行命名,以便辨析;最后,采用高級開發(fā)語言開發(fā)執(zhí)行模塊,該模塊首先讀入配置文件信息,對歷史數(shù)據(jù)庫進行辨析,然后依據(jù)辨析的信息執(zhí)行匹配的配置文件條件段,最后執(zhí)行本系統(tǒng)數(shù)據(jù)庫中對應(yīng)的存儲過程與函數(shù)體,把資源數(shù)據(jù)讀入到本系統(tǒng)的數(shù)據(jù)庫表中。通過數(shù)據(jù)庫重構(gòu)技術(shù)使不同歷史數(shù)據(jù)庫版本的數(shù)據(jù)資源統(tǒng)一到本系統(tǒng)的數(shù)據(jù)庫中,形成可以統(tǒng)一訪問的資源。
(2)模塊集成化技術(shù)。模塊集成化技術(shù)使功能模塊形成一種遞進的關(guān)系,資源庫導(dǎo)出問題庫,問題庫產(chǎn)生知識庫,知識庫優(yōu)化為專家?guī)臁C總€庫的功能開發(fā)為1個子模塊,每個子模塊集成為模塊,模塊與庫之間為一一映射關(guān)系,模塊之間的遞進可以采用手工方式或推理機實現(xiàn)。手工方式通過界面的對話,由操作者選擇執(zhí)行條目,由前臺操作完成遞進。推理機方式采用后臺自動執(zhí)行推理程序完成。因此該系統(tǒng)的模塊集成不但把子模塊集成為模塊,而且完成了模塊之間的遞進關(guān)系。雖然系統(tǒng)的推理機需要進一步完善和升級,但從集成化構(gòu)架的角度是一種創(chuàng)新。
(3)軟件接口技術(shù)。軟件接口技術(shù)使系統(tǒng)的專家?guī)炷K可以與故障診斷處理系統(tǒng)實現(xiàn)資源共享,系統(tǒng)的接口程序采用XML Web Service方式,XML版本為V1.0,引用方式為:“ <?xml version=″1.0″encoding=″utf-8″? >”。 采用XML Web Service的優(yōu)點在于它遵循國際統(tǒng)一的XML標準,同時它的訪問機制更加開放,允許異構(gòu)環(huán)境下的數(shù)據(jù)共享。
3.4.1 系統(tǒng)的安裝
該系統(tǒng)安裝要求計算機機房溫度在 (23±2)℃,現(xiàn)地溫度0℃以上,需要有防塵措施等,以免因環(huán)境等因素而影響監(jiān)控系統(tǒng)的正常工作。
3.4.2 系統(tǒng)的調(diào)試
該系統(tǒng)的調(diào)試包括局部調(diào)試和整體調(diào)試。
3.4.2.1 局部調(diào)試
局部調(diào)試的內(nèi)容舉例如下:
(1)檢查系統(tǒng)各功能是否完善。
(2)觀察界面的顯示是否正常,系統(tǒng)的界面是否合乎顯示要求。
(3)觀察數(shù)據(jù)的顯示是否正確,精度是否合乎要求,觀察棒圖的指示是否正確,如不正確重新調(diào)整。
(4)檢查變位登陸情況,模擬圖上的狀態(tài)畫塊指示情況,設(shè)備退出時畫塊顏色顯示情況,觀察系統(tǒng)的變位登陸與檢測的中斷情況等。
(5)用鼠標逐個點開出量定義至狀變置位,檢查對應(yīng)節(jié)點的動作執(zhí)行情況;對斷路器虛擬操作、調(diào)速器及勵磁虛擬調(diào)節(jié)、快速門虛擬操作等重要項目應(yīng)仔細反復(fù)進行,并予以確認。觀察對應(yīng)節(jié)點狀態(tài)的開入量是否正確。
(6)虛擬同期調(diào)試。虛擬同期調(diào)試包括虛擬同期裝置的主機板調(diào)試以及主要參數(shù)的設(shè)定,現(xiàn)場設(shè)定導(dǎo)前時間。
(7)操作流程調(diào)試。操作流程調(diào)試步驟按設(shè)計的流程圖進行,調(diào)試時監(jiān)控開出量實際動作于部件需人工模擬外,其他條件完全等同于真機。
3.4.2.2 整體調(diào)試
局部調(diào)試結(jié)束后,即要進行系統(tǒng)整體試運行調(diào)試。按照運行程序的安排,列出系統(tǒng)的主要專項試驗項目,如自動開停機操作、虛擬自動準同期并網(wǎng)操作等。確定機組LCU是否參與模擬控制。調(diào)試軟件的監(jiān)視機組開停機流程、空載運行情況、各部軸瓦溫度、輔助設(shè)備運行情況、電壓保護現(xiàn)地模擬量的顯示與登錄、模擬錄的采集與顯示、用戶操作登錄等工作。
3.4.3 系統(tǒng)的維護
系統(tǒng)安裝調(diào)試完成后投入運行,但在軟件運行的過程中不可避免會遇到一些問題與故障,這就需要對軟件進行維護。例如有軟件本身漏洞造成操作錯誤;病毒的侵入;功能的缺陷等。在維護過程中,如果是軟件方面的原因,則應(yīng)從軟件上進行改動和升級,在軟件中加人閉鎖程序,告警,監(jiān)控系統(tǒng)回路的監(jiān)視程序等,使問題一旦出現(xiàn),運行人員立刻便可知道故障產(chǎn)生原因和地點,從而使監(jiān)控系統(tǒng)更具智能化。
該系統(tǒng)在多期的技術(shù)培訓服務(wù)中發(fā)揮了應(yīng)有的作用,如浙江寧波皎口水庫電站、浙江景寧英川水電站、遂昌周公源水電站等,并且應(yīng)用效果和評價良好。例如皎口水電站在網(wǎng)上評價認為:“在此間培訓過程中,廣大電站員工通過工程案例資源庫的認真學習、刻苦鉆研、大膽提問,并對其中諸多復(fù)雜的設(shè)備操作及運行維護、故障排除等問題作了詳細的記錄,以備日后查用。經(jīng)過這樣嚴格、規(guī)范的培訓與考核,電站的每位上崗職工已基本掌握發(fā)電廠計算機監(jiān)控技術(shù)的應(yīng)用與機電設(shè)備的日常運行維護,技能水平也上升了一個新高度,為保障電站機電設(shè)備的安全、經(jīng)濟運行奠定了堅實的基礎(chǔ)?!?/p>
應(yīng)用系統(tǒng)時首先輸入電站的背景資料、導(dǎo)入工程各類圖文資料,重構(gòu)數(shù)據(jù)庫表[5](采用Creat Table語句),導(dǎo)入歷史數(shù)據(jù)庫相關(guān)數(shù)據(jù),形成資源庫;通過資源庫組建問題庫,組建過程中必須要有電站工程師的參與,共同完成問題庫的組建,包括工程問題的提出、故障的虛擬設(shè)定、實際問題的獲取等環(huán)節(jié)。然后依據(jù)問題庫提出解決方案,方案主要來源為:查閱專業(yè)資料、專家建議、實際經(jīng)驗等。最終經(jīng)過直接篩選,或聘請專家對某些難以確定的方案進行審議,或經(jīng)過多方探討確定最優(yōu)方案,形成專家?guī)臁?/p>
(1)該系統(tǒng)的成功開發(fā)不僅填補了國內(nèi)農(nóng)村水電站計算機監(jiān)控專門化培訓軟件的空白,而且也是水電站計算機監(jiān)控技術(shù)培訓領(lǐng)域的一種創(chuàng)新。
(2)該系統(tǒng)所具有的通用性、可拓展性和開放性可以滿足不同水電站的培訓以及學校的教學需求。
(3)對該系統(tǒng)的研究進行綜述,為以后同類產(chǎn)品的開發(fā)提供很好的借鑒,同時有利于在總結(jié)中提升開發(fā)技術(shù),為以后的繼續(xù)研究創(chuàng)造條件。
[1]浙江省水電管理中心.浙江省水電發(fā)展今后五年工作思路和二OO八年工作任務(wù)[J].浙江水利科技,2008(2):1-7.
[2]張仁貢.浙江省農(nóng)村水電站更新改造運作機制的研究 [R].杭州:浙江同濟科技職業(yè)學院,2009.
[3]徐金壽,張仁貢.水電站計算機監(jiān)控技術(shù)與應(yīng)用[M].浙江科學技術(shù)出版社,2007.
[4]李天科.以人為本的人機界面設(shè)計思想 [J].計算機工程與設(shè)計,2005,26(5):1 228-1 229.
[5]李建中,王珊.數(shù)據(jù)庫系統(tǒng)原理[M].北京:電子工業(yè)出版社,1998.
[6]徐金壽.水電站計算機監(jiān)控工程案例資源庫系統(tǒng)的開發(fā)與應(yīng)用[J].水利水電技術(shù),2009,40(3):55-58.