隨著鐵路運輸速度的加快,實現(xiàn)鐵路電力調(diào)度的集中監(jiān)控和指揮變得越來越關(guān)鍵。模擬板可以直接反映出各項設(shè)備和供電線路的運行狀態(tài),在電力調(diào)度作業(yè)中扮演了不可或缺的角色。然而,目前許多模擬板系統(tǒng)的設(shè)計仍舊采用了過程式編程語言,這導(dǎo)致了模型缺乏統(tǒng)一性,結(jié)果便是一旦需求展開或部分修改,就不可避免地進行大面積的重構(gòu)和編程修改,從而增加了成本。
為了克服模擬板系統(tǒng)設(shè)計中的這些缺點,本研究探索了采用面向?qū)ο蟮慕y(tǒng)一建模語言(UML)來進行設(shè)計的原理、流程和方法,并將其與實際工程項目結(jié)合,進行了具體的開發(fā)和實踐應(yīng)用。
1、UML設(shè)計原理
如今,許多尖端的應(yīng)用系統(tǒng)開發(fā)團隊在分析、設(shè)計、編程和測試的各個階段都已全面采納了面向?qū)ο蟮拈_發(fā)方法,這一做法已經(jīng)成為軟件應(yīng)用開發(fā)領(lǐng)域的主導(dǎo)技術(shù)。統(tǒng)一建模語言(UML)僅是一套建模工具,且其設(shè)計思想與具體的編程語言無關(guān)?;谶@一特性,就像可以將UML模型轉(zhuǎn)換為源代碼一樣,源代碼也可以被還原為UML模型,這個過程通常被稱為“逆向工程”。
1.1 UML語言介紹
在1997年,統(tǒng)一建模語言(UML)被提交給了對象管理組(OMG),并被接受作為面向?qū)ο蠓治龊驮O(shè)計的標準建模語言。UML自那時起不斷地在進化和改進中,OMG發(fā)布的較新版是UML 2.0。在美國和西歐等地區(qū),大批軟件開發(fā)機構(gòu)已經(jīng)開始采用UML進行系統(tǒng)建模,而在國內(nèi),也有越來越多的開發(fā)組織在探索和采納這種做法。
UML是一種專為軟件密集型系統(tǒng)的可視化、規(guī)范化、建構(gòu)和文檔化而設(shè)計的建模語言,它主要被應(yīng)用于系統(tǒng)的分析和設(shè)計階段。UML的能力在于它能夠以前所未有的方式表達系統(tǒng)模型,它提供了一種比以往任何面向?qū)ο蟮姆治龊驮O(shè)計方法都更為強大的系統(tǒng)表達能力。
UML特別適合于面向?qū)ο蟮姆治龊驮O(shè)計階段的系統(tǒng)建模,能夠深刻地描述和表達系統(tǒng)的結(jié)構(gòu)與行為。UML的描述可以分為三個主要的視圖領(lǐng)域:結(jié)構(gòu)視圖、行為視圖和模型管理視圖。其中,結(jié)構(gòu)視圖包含了用例圖、類圖、對象圖、構(gòu)件圖和部署圖;行為視圖涵蓋了順序圖、協(xié)作圖、狀態(tài)圖和活動圖;而模型管理視圖則包括了模型、包和子系統(tǒng)等方面的描述。通過這些視圖和圖表,UML提供了一套全面的工具集,以支持復(fù)雜系統(tǒng)的分析和設(shè)計。
1.2 模型與設(shè)計
(1)增量迭代開發(fā)模式
在面向?qū)ο蟮姆椒ㄕ撝?,基本的理念是以天然的分區(qū)對問題域進行劃分,構(gòu)建符合人類認知習(xí)慣的問題領(lǐng)域模型,以實現(xiàn)對實體的結(jié)構(gòu)和行為進行仿真。這樣的方法意在讓設(shè)計工作更加貼合現(xiàn)實世界的情況,進而打造出模塊化、可復(fù)用且易于維護的系統(tǒng)架構(gòu)。
利用UML建模工具的面向?qū)ο笙到y(tǒng),可以應(yīng)用一種遞增式的迭代開發(fā)模型,其工作流程分為以下幾個階段:1)需求收集,包含系統(tǒng)的基本功能要求及對計算機系統(tǒng)的具體需求;2)需求分析,任務(wù)是識別并描述系統(tǒng)的全部需求,以用例圖的形式體現(xiàn)系統(tǒng)的外部功能需求;3)系統(tǒng)設(shè)計,此階段的目標是拓展和精細化分析階段的模型,設(shè)計過程可以從序列圖入手,利用序列圖展現(xiàn)用例的行為序列,其中每個消息都對應(yīng)類的操作或狀態(tài)的轉(zhuǎn)化;4)系統(tǒng)實現(xiàn),即編碼階段,將設(shè)計轉(zhuǎn)化為程序代碼;5)系統(tǒng)測試,編碼完成后對系統(tǒng)進行測試,以驗證其功能的正確性。
(2)功能用例
模擬板系統(tǒng)的核心功能包括處理批量遙信、單個遙信的正常變位與事故變位、模擬板的復(fù)位、遙信全合閘亮屏、遙信全分閘暗屏、遙信燈閃光、亮盤運行、暗盤運行、停止閃光、調(diào)光操作、時間顯示、事故停表、安全生產(chǎn)日數(shù)的顯示、預(yù)告與事故聲音警報、單個遙信的閃光控制等。以下是該系統(tǒng)的功能用例圖的描述。
(3)交互設(shè)計
采用JAVA分布式技術(shù),將模擬板的實體設(shè)計為一個分布式對象,命名為MMPApp,并將其綁定至模擬板控制機的端口上進行發(fā)布和訪問接口提供,以便與調(diào)度員工作站的遠程動作系統(tǒng)進行交互。此外,該對象也能夠?qū)崿F(xiàn)與實時數(shù)據(jù)庫間的信息交互。
模擬板組件主要通過遠程調(diào)用與遠動調(diào)度實時數(shù)據(jù)庫組件和調(diào)度人機接口組件進行交互。實時數(shù)據(jù)庫組件用于提供常規(guī)遙信、遙測、事故觸發(fā)、GPS校時、記錄安全生產(chǎn)天數(shù)等信息。而調(diào)度人機接口組件則提供多級調(diào)光、事故清閃、報警復(fù)位、全屏操作等信息的功能。
2主要程序流程與技巧
2.1 基本遙信數(shù)據(jù)顯示過程的優(yōu)化描述
利用線程池技術(shù),當線程激活時,流程首先在模擬板地址數(shù)據(jù)庫中定位顯示地址。隨后,該流程將從遠程實時數(shù)據(jù)庫中檢索要顯示的數(shù)據(jù),并組織這些數(shù)據(jù)成為報文來驅(qū)動對應(yīng)的信號燈。
在模擬板通信程序啟動期間,批量報文會被構(gòu)建并發(fā)送以初始化顯示。系統(tǒng)穩(wěn)定運行后,對于收到的單個遙信,會根據(jù)其狀態(tài)是正常還是事故,分別發(fā)送相應(yīng)的單個遙信正?;蚴鹿首兾粓笪摹0踩鞌?shù)和GPS時間同步報文也采取類似的發(fā)送機制。
2.2 供電網(wǎng)絡(luò)拓撲狀態(tài)指示流程的簡化描述
傳統(tǒng)的遠動系統(tǒng)著重于四遙(遙測、遙信、遙控、遙調(diào))功能,并通過RTU直接傳輸現(xiàn)場信息以反映設(shè)備狀態(tài)。隨著調(diào)度自動化系統(tǒng)的演進以及用戶需求的增長,調(diào)度模擬板系統(tǒng)需要顯示供電網(wǎng)絡(luò)的拓撲狀態(tài),這為調(diào)度員提供了很大的便利以確認哪些線路是通電或斷電狀態(tài)。
由于線路狀態(tài)不是通過傳感器采集而是通過計算得出的,這些數(shù)據(jù)稱為拓撲量。在實時數(shù)據(jù)庫的拓撲量計算模塊中完成所有線路狀態(tài)的計算后,結(jié)果被存儲在內(nèi)存中的實時數(shù)據(jù)庫。模擬板系統(tǒng)隨后組織這些計算結(jié)果成報文,發(fā)送至模擬板進行解析和顯示。實時數(shù)據(jù)的轉(zhuǎn)發(fā)、計算和協(xié)作過程如圖4所示。
模擬板系統(tǒng)提供了八級調(diào)光功能,從一級(較暗)到八級(較亮)。默認情況下,系統(tǒng)在三級亮度下啟動。白天通常使用三級亮度,但在夜間,由于三級亮度可能過于刺眼,調(diào)度員通常會將屏幕調(diào)至暗盤模式以降低亮度。
2.3 事故變位閃爍和清除閃爍過程的概述
一旦發(fā)生事故,實時數(shù)據(jù)庫會自動向MNPApp對象發(fā)送影響的屏號和站號信息。收到這些數(shù)據(jù)后,MNPApp對象會立刻暫停相應(yīng)屏幕的遙信線程,并以優(yōu)先級順序發(fā)送事故報文、事故停止報文,并激活事故閃光和聲音報警。如果屏幕處于暗盤模式,它會立即被點亮至默認的三級亮度。事故處理完畢后,遙信線程會自動恢復(fù),等待調(diào)度員進行后續(xù)的事故處理。
當調(diào)度員發(fā)出事故恢復(fù)指令時,MNPApp對象同樣會暫停相應(yīng)屏幕的遙信線程,并以優(yōu)先級順序發(fā)送事故恢復(fù)報文、時間同步報文以及用于清除事故狀態(tài)指示的報文。這些處理完成后,遙信線程會自動恢復(fù)。
3工程開發(fā)與應(yīng)用
3.1 工程背景改寫
西安鐵路局電力調(diào)度中心的隴海線歷來依賴日本日立公司提供的遠動監(jiān)控系統(tǒng)進行運行管理。但由于鐵路運輸業(yè)務(wù)的快速發(fā)展,以及對速度提升和運輸能力擴增的需求,原系統(tǒng)的一些部件日益難以更換和維護。為了適應(yīng)這些新的要求,西安鐵路局決定采用新一代電氣化鐵道遠動自動化系統(tǒng),并對既有的電力調(diào)度模擬板系統(tǒng)進行徹底的升級改造。本項目就是在現(xiàn)有遠動實時數(shù)據(jù)庫系統(tǒng)的基礎(chǔ)上,研發(fā)了一套先進的模擬板系統(tǒng)。
3.2 系統(tǒng)功能改寫
新系統(tǒng)包括一個在模擬板控制機上運行的通訊程序,它負責(zé)實時數(shù)據(jù)庫與配備NSMJ型智能接口盒的模擬板之間的串行通信。系統(tǒng)不僅能實時更新遙信和遙測數(shù)據(jù),并在模擬板上直觀地展示牽引供電系統(tǒng)的接線圖以及線路的電流狀態(tài),還能進行事故報警和信號閃爍指示。此外,操作人員可以通過調(diào)度主機對模擬板執(zhí)行屏幕控制,包括全屏點亮或熄滅、事故閃爍和清除閃爍、屏幕亮度的多級調(diào)節(jié),以及在遠動系統(tǒng)發(fā)生事故時自動激活全屏點亮等多個功能。
3.3 投入運營改寫
在實際的運行環(huán)境中,模擬板系統(tǒng)采用了多屏幕的分布式布局和安裝策略。各模擬板通過智能接口盒利用RS232接口與通信終端服務(wù)器相連,該服務(wù)器負責(zé)將串行通信數(shù)據(jù)轉(zhuǎn)換為網(wǎng)絡(luò)通信數(shù)據(jù),如圖6所示。三個操作臺分別控制1#屏、2#屏和3#屏。通過配置有多串口功能的DeviceMaster終端服務(wù)器,模擬板控制機能夠同時與三個模擬板進行通信,實現(xiàn)數(shù)據(jù)的實時顯示和控制操作。
UML是制定系統(tǒng)架構(gòu)圖的標準化語言。它使得構(gòu)建復(fù)雜系統(tǒng)的視覺模型成為可能,不僅支持功能用例的建模,還可以用于精細化的業(yè)務(wù)流程建模。利用UML進行反向工程有助于確保模型與代碼保持同步。UML設(shè)計的核心技術(shù)在于使用基于用例驅(qū)動的UML增量迭代模型方法進行設(shè)計。本研究所設(shè)計的模擬板系統(tǒng),改善了在復(fù)雜系統(tǒng)中存在的用例數(shù)量龐大、用例間交互復(fù)雜和工作量大等問題,減少了用例生成的重復(fù)性。實現(xiàn)的關(guān)鍵流程包括基本遙信數(shù)據(jù)顯示、供電網(wǎng)絡(luò)拓撲的光帶展示、模擬板亮度調(diào)節(jié)控制、以及事故指示閃爍和清除等流程。
采用UML迭代模型進行改進的鐵路電力調(diào)度模擬板系統(tǒng)已投入使用很過兩年。在這段時間內(nèi),虢鎮(zhèn)牽引變電所的饋出線路進行了改造。由于系統(tǒng)采用了UML設(shè)計,即使在進行物理改造時,模擬板系統(tǒng)的軟件也無需進行任何調(diào)整,這證明了UML設(shè)計方法的統(tǒng)一性和可持續(xù)性,且實際應(yīng)用效果證明其優(yōu)勢顯著。