蔡杰
基于UML的水電廠監(jiān)控系統(tǒng)培訓(xùn)仿真軟件建模
蔡杰
(南瑞集團(tuán)公司(國網(wǎng)電力科學(xué)研究院),江蘇 南京 210003)
隨著自動化技術(shù)的不斷發(fā)展,水電廠計算機(jī)監(jiān)控系統(tǒng)業(yè)務(wù)日趨復(fù)雜并不斷變化,這對培訓(xùn)仿真系統(tǒng)的建模工具通用性提出了更高的要求。針對這一要求,本文在現(xiàn)有建模工具的基礎(chǔ)上,應(yīng)用UML技術(shù),形成通用性更強的基于UML的培訓(xùn)仿真軟件建模工具。
水電廠;監(jiān)控系統(tǒng);培訓(xùn)仿真建模;UML
隨著水電控制理論與計算機(jī)技術(shù)的不斷發(fā)展,水電站計算機(jī)監(jiān)控系統(tǒng)業(yè)務(wù)日趨復(fù)雜。業(yè)務(wù)的復(fù)雜與多變對水電廠培訓(xùn)仿真系統(tǒng)的兼容性與擴(kuò)展性提出了更高的要求。如何應(yīng)對業(yè)務(wù)的不斷變化,如何提高培訓(xùn)仿真系統(tǒng)建模效率,成為水電廠計算機(jī)監(jiān)控系統(tǒng)培訓(xùn)仿真軟件發(fā)展首先需要克服的困難。
統(tǒng)一建模語言(UnifiedModelingLanguage, UML)是一種可視化建模語言,它能讓系統(tǒng)構(gòu)造者用標(biāo)準(zhǔn)的、易于理解的方式建立起能夠表達(dá)他們想象力的系統(tǒng)藍(lán)圖,并且提供了便于不同人之間有效地共享和交流設(shè)計結(jié)果的機(jī)制,定義了一種抽象的用來描述軟件系統(tǒng)結(jié)構(gòu)和行為的語言,還定義了一種標(biāo)準(zhǔn)的用來建立模型元素的圖形符號,是一種定義良好、易于表達(dá)、功能強大且普遍適用的建模語言。UML中定義了兩類圖:
一類是靜態(tài)圖,包括:
類圖——闡述系統(tǒng)的靜態(tài)設(shè)計視圖,包括包、類、接口、協(xié)作以及之間的關(guān)系。
對象圖——從真實的實例或原型的角度,給出類圖中實例的瞬態(tài)圖。
組件圖——闡述系統(tǒng)的靜態(tài)實現(xiàn)視圖,顯示一組組件和他們之間的關(guān)系。組件代表的是模型中邏輯抽象的物理實施,例如類和他們的交互。
配置圖——闡述一個系統(tǒng)中物理結(jié)點的鏈接。結(jié)點是為執(zhí)行一個或多個組件提供物理操作環(huán)境的計算資源。
另一類是動態(tài)圖,包括:
用例圖——通過闡述一組用例和參與者之間的關(guān)系,為系統(tǒng)、子系統(tǒng)或類的行為建立模型。
序列圖——通過介紹消息的時間順序,闡述了對象間的相互關(guān)系。這些對象是類的典型實例,可以描述其他的分類者,如執(zhí)行者、組件或節(jié)點。
狀態(tài)圖——描述一個狀態(tài)機(jī),包括狀態(tài)、過渡、時間和活動。這些圖最常用于對象順序行為建模。
活動圖——顯示一個系統(tǒng)的活動,活動到活動連續(xù)流或分支流,以及執(zhí)行這些活動或由這些活動產(chǎn)生的對象。
針對培訓(xùn)仿真軟件的實際情況,采用UML標(biāo)準(zhǔn)中滿足培訓(xùn)仿真軟件建模需要的建模方式實現(xiàn)軟件建模,可以有效提高軟件的易用性,使軟件更加適應(yīng)監(jiān)控系統(tǒng)不斷變化的業(yè)務(wù)環(huán)境。
3.1業(yè)務(wù)分析與模型分類
水電廠監(jiān)控系統(tǒng)培訓(xùn)仿真軟件的主要功能在于模擬水電廠現(xiàn)場設(shè)備的運行情況,因此建立的模型必須反應(yīng)水電廠現(xiàn)場生產(chǎn)設(shè)備的物理邏輯與關(guān)系。主要模塊包括:水輪機(jī)與調(diào)速系統(tǒng)模型、發(fā)電機(jī)模型、勵磁系統(tǒng)模型、水循環(huán)系統(tǒng)模型、油循環(huán)系統(tǒng)模型、風(fēng)系統(tǒng)模型、開關(guān)與刀閘模型、開關(guān)站潮流模型。這些模型需要通過建模工具描述的邏輯大致可以分為兩類:
1)模型內(nèi)部邏輯:激勵與反饋,即根據(jù)某些輸入信號,產(chǎn)生特定輸出,如開關(guān)設(shè)備,當(dāng)收到控制信號輸入后,模型應(yīng)根據(jù)設(shè)定判斷條件是否滿足,如果條件滿足給出合閘信號或者分閘信號,如果條件不滿足給予報警提示。
2)模型間的物理關(guān)系:描述模型對應(yīng)實際設(shè)備間的物理關(guān)系,比如開關(guān)站潮流模型,需要配置開關(guān)站內(nèi)機(jī)組、開關(guān)、刀閘間的連接信息。
根據(jù)培訓(xùn)仿真軟件所需要描述的物理涵義特點,我們在UML標(biāo)準(zhǔn)中挑選配置圖與活動圖來實現(xiàn)軟件建模功能。
3.2配置圖建模
我們采用配置圖來表達(dá)模型對應(yīng)實際設(shè)備間的物理關(guān)系。部署圖描述的是系統(tǒng)運行時的結(jié)構(gòu),展示了硬件的配置及其軟件如何部署到網(wǎng)絡(luò)結(jié)構(gòu)中。部署圖包含以下元素:
結(jié)點(Node):結(jié)點是系統(tǒng)存在與運行時的代表,是實際資源的物理元素,以開關(guān)站潮流為例,結(jié)點可以代表開關(guān)、刀閘;
結(jié)點類型(NodeStereotypes):結(jié)點的屬性,如開關(guān)站潮流模型中,結(jié)點可能是開關(guān)、刀閘;
結(jié)點實例(NodeInstance):結(jié)點類型實例化就形成一個具體的結(jié)點,結(jié)點類型與結(jié)點實例之間存在繼承關(guān)系;
連接(Association):結(jié)點之間的連線表示實際物理設(shè)備之間的路徑,這個路徑稱為連接。
下面以開關(guān)站潮流模型為例,采用配置圖建模組態(tài)工具,描述水電廠開關(guān)站內(nèi)各個設(shè)備間的物理關(guān)系,如圖1:
可以看出,配置圖1中存在斷路器、刀閘、地刀等類型(結(jié)點類型),用戶可以在圖形界面中將特定結(jié)點類型實例化(形成結(jié)點實例),然后通過線段(連接)將結(jié)點物理關(guān)系描述出來。在未使用UML建模工具前,用戶需要自己將結(jié)點間物理關(guān)系形成關(guān)系矩陣,存放到文件中,作為后臺程序的參數(shù)輸入。一旦開關(guān)站設(shè)備進(jìn)行改造,原有設(shè)備物理結(jié)構(gòu)發(fā)生變化,關(guān)系矩陣的修改工作將非常復(fù)雜。在使用UML建模工具后,開關(guān)站設(shè)備間的物理關(guān)系可以方便直觀的在配置圖上進(jìn)行修改,提高了建模工作效率,增強系統(tǒng)可維護(hù)性。
圖1 開關(guān)站內(nèi)各個設(shè)備間的物理關(guān)系
3.3活動圖建模
活動圖是UML用于對系統(tǒng)的動態(tài)行為建模的一種常用工具,它描述活動的順序,展現(xiàn)從一個活動到另一個活動的控制流。活動圖在本質(zhì)上是一種流程圖?;顒訄D著重表現(xiàn)從一個活動到另一個活動的控制流,是內(nèi)部處理驅(qū)動的流程?;顒訄D包含如下元素:
活動狀態(tài):表示在工作流程中執(zhí)行某個活動或步驟。
轉(zhuǎn)移:表示各種活動狀態(tài)的先后順序。這種轉(zhuǎn)移可稱為完成轉(zhuǎn)移。它不同于一般的轉(zhuǎn)移,因為它不需要明顯的觸發(fā)器事件,而是通過完成活動(用活動狀態(tài)表示)來觸發(fā)。
同步:用于顯示平行分支流。同步示意圖使您能夠顯示業(yè)務(wù)用例的工作流程中的并行線程。
下面以開關(guān)設(shè)備為例,實現(xiàn)活動圖組態(tài)工具,描述開關(guān)設(shè)備的操作邏輯,如圖2所示:
圖2 圖形化組態(tài)界面
建模工具提供圖形化組態(tài)界面,圖形界面中每一個方塊都是一個活動;不同邏輯下的活動放在平行的分支下,描述邏輯間的并行關(guān)系;通過活動間帶箭頭的連線(轉(zhuǎn)移)來表達(dá)邏輯上的先后順序。在沒有提供UML建模工具前,用戶需要手工修改代碼以實現(xiàn)模型內(nèi)部的邏輯,這種方式不直觀,后期維護(hù)與修改非常麻煩。通過UML方式進(jìn)行建模,能夠清晰的表達(dá)設(shè)備內(nèi)某個邏輯活動的順序關(guān)系,提高用戶易用性,降低維護(hù)成本。
3.4UML建模工具軟件架構(gòu)
采用基于UML的建模工具完成建模,軟件結(jié)構(gòu)不需要做大量的調(diào)整,只需增加相應(yīng)的建模工具即可。其軟件結(jié)構(gòu)主要包含活動圖和配置圖兩個模塊,分別用于描述模型運行邏輯的不同方面,活動圖模塊包括活動管理、順序管理和同步管理模塊,分別管理UML活動圖中活動所執(zhí)行的操作、活動的分支與順序關(guān)系、邏輯并行關(guān)系。配置圖模塊包括結(jié)點管理、連線管理,分別負(fù)責(zé)結(jié)點類型與實例化、結(jié)點間關(guān)系描述。同時提供保存、錯誤檢查、樹形索引、搜索與替換及權(quán)限等公共組件,最后制作好的UML圖形可以通過統(tǒng)一的編譯接口形成支撐平臺可以加載的參數(shù)文件。支撐平臺啟動后,將會持續(xù)的按照參數(shù)文件中定義的活動圖邏輯順序以及配置圖物理關(guān)系模擬水電廠實際設(shè)備運行情況。
通過將UML技術(shù)應(yīng)用于計算機(jī)監(jiān)控系統(tǒng)培訓(xùn)仿真軟件,可以顯著增強系統(tǒng)的易用性、擴(kuò)展性,使軟件更加適應(yīng)監(jiān)控系統(tǒng)不斷變化的業(yè)務(wù)環(huán)境,具有深遠(yuǎn)的實用價值。
[1]余濤,鮑婕,鄧啟威,等.基于純軟件模式的全范圍水電站運行人員仿真系統(tǒng)[J].系統(tǒng)仿真學(xué)報,2002,14(07).
[2]劉兵,張龍妙,邵開宏,等.新安江水電廠仿真系統(tǒng)的開發(fā)[J].華東電力,2003(05).
[3]薛必根.中小型水電廠計算機(jī)仿真系統(tǒng)[J].廣東水利水電,1999(04).
[4]DL/T1024-2006水電仿真機(jī)技術(shù)規(guī)范[S].
TP311
B
1672-5387(2016)08-0055-03
10.13599/j.cnki.11-5130.2016.08.016
2016-06-29
蔡杰(1983-),男,電力工程師,主要研究方向:水電廠自動化。