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