- 相關(guān)推薦
在Linux下用Qt開(kāi)發(fā)新一代DTS圖形數據系統的分析
摘要:DTS圖形數據系統是DTS(調度員培訓仿真系統Dispatcher Training Simulator)的一個(gè)重要組成部分,文中提出了一種基于Linux,并運用Qt對DTS圖形數據系統進(jìn)行完善的新方案,此方案價(jià)格低廉、硬件兼容性好、編程簡(jiǎn)便、維護方便、可移植性強、結構清晰、運行速度快,可為EMS/DTS的推廣開(kāi)辟一條新路。文中詳細分析和設計了該系統。1 引言
調度員培訓模擬系統(Dispatcher Training Simu-lator,簡(jiǎn)稱(chēng)DTS)是一個(gè)計算機系統,它可以按照被仿真的實(shí)際電力系統的數學(xué)模型來(lái)模擬各種調度操作和故障后的系統工況,并將這些信息送到電力系統控制中心的模型內,為調度員提供一個(gè)逼真的培訓環(huán)境,以達到既不影響實(shí)際電力系統的運行,又可以培訓調度運行人員的目的。
操作系統的發(fā)展,面對對象技術(shù)的出現,以及電力系統國際標準IEC 61970的制定,都給DTS的發(fā)展提供了更廣闊的空間,其相應的發(fā)展也迫在眉睫。圖形數據一體化支撐環(huán)境(DGSE)作為DTS(調度員培訓仿真系統Dispatcher Training Simulator?軟件的重要組成部分它的好壞直接影響到DTS上高級應用軟件的開(kāi)發(fā)及整個(gè)系統的成敗。在以往的軟件結構上) DGSE通常僅包括底層通用圖形模塊、電力系統相關(guān)的圖形模塊、與離線(xiàn)庫和實(shí)時(shí)數據庫接口的支持模塊。本文第一次提出一個(gè)以Qt為底層圖形模塊、用C++和Qt圖形用戶(hù)界面類(lèi)庫開(kāi)發(fā)的DTS圖形數據一體化支撐環(huán)境的技術(shù)方案,本方案經(jīng)過(guò)反復測試以及用戶(hù)考驗證明,具有較高的穩定性和可靠性。
2 相關(guān)技術(shù)分析
2.1 操作系統
在中國,EMS/DTS的主流操作系統是UNIX和NT。隨著(zhù)計算機的發(fā)展,更多的用戶(hù)接受了Linux這種自由軟件形式。作為操作系統的替代品,把Linux用作EMS/DTS操作平臺中有很多的優(yōu)勢。因為,Linux的代碼是公開(kāi)的,因而對Linux的改進(jìn)更為容易,此外,Linux還有很多可以免費獲得的工具。更突出的優(yōu)勢是Linux硬件兼容性好,可以運行在絕大多數的現有計算機中。而不像UNIX必須運行在強大的服務(wù)器或RISC工作站上。另一方面,在Linux平臺下開(kāi)發(fā)圖形界面程序比在UNIX平臺下相對簡(jiǎn)單和快捷。用Linux來(lái)開(kāi)發(fā)可降低硬件成本并提高軟件開(kāi)發(fā)效率。實(shí)踐證明:當EMS/DTS運行在裝有Linux的PC機上時(shí),它的速度比運行在裝有UNIX的RISC工作站上要快許多。
2.2 面向對象技術(shù)
面向對象技術(shù)具有封裝性、繼承性、多態(tài)性三大特點(diǎn)。這些特性將大大提高軟件的可靠性、可維護性、重用性和擴充性。該技術(shù)在八十年代末逐漸為工業(yè)界所接受并開(kāi)始得到應用,且以其獨特的封裝性、繼承性和多態(tài)性為軟件工程帶來(lái)了一場(chǎng)革命。同傳統的軟件開(kāi)發(fā)方法相比,面向對象技術(shù)可以更直觀(guān)地對現實(shí)世界進(jìn)行抽象,因此更符合軟件開(kāi)發(fā)的規律,同時(shí)可使軟件開(kāi)發(fā)和調試更加規范化。進(jìn)入九十年代以后,面向對象的技術(shù)更顯示出其強大的生命力和廣闊的發(fā)展前景。在電力工業(yè)方面,面向對象技術(shù)應用于DTS可大大改善DTS開(kāi)放性差、擴充性差、以及難維護等方面的不足。
2 .3 C++和Qt 3.0
在目前面向對象的編程語(yǔ)言中,C++具有執行速度快、占用系統資源少的突出優(yōu)勢,DTS對系統的實(shí)時(shí)性要求很高,是開(kāi)發(fā)DTS的首選語(yǔ)言。加之以往很多電力系統軟件采用C語(yǔ)言開(kāi)發(fā),因此可以利用以往的工程成果,從而大大減少了開(kāi)發(fā)的工作量。
Qt是Linux下的C++用戶(hù)界面開(kāi)發(fā)包,它具有以下優(yōu)點(diǎn):
(1)支持多平臺。其程序可在MS Windows系列(Windows 95、Windows 98、Windows NT、和Windows 2000)和UNIX/X11 系列(Linux、Sun Solaris、HP-UX、Digital UNIX、IBM AIX、SGI IRIX)等操作系統上進(jìn)行方便地移植。
(2)國際化支持好。已經(jīng)有多個(gè)語(yǔ)言版本,包括中文,從而解決了漢化問(wèn)題。
(3)高度面向對象,模塊化高,編寫(xiě)程序簡(jiǎn)單明了。一般來(lái)說(shuō),用Motif?在UNIX上開(kāi)發(fā)DTS用戶(hù)界面的主流類(lèi)庫?編寫(xiě)百行的代碼才可實(shí)現的功能,用Qt只用十幾行就能實(shí)現,因而可使程序員從繁瑣的編程中解脫出來(lái),以專(zhuān)注于程序本身的內容。
(4)因為其類(lèi)庫的本質(zhì)可以與Mofit類(lèi)庫混編,且Qt具有不同的系統風(fēng)格(包括UNIX),并能很好地和Motif用戶(hù)界面溶合在一起?因而它是很好的優(yōu)化DTS的工具。
2.4 SVG
SVG(可升級矢量圖形,Scalable Vector Graphics)是由國際WWW委員會(huì )(W3C)組織于2000年8月2日制定的一種新的二維矢量圖形格式。W3C對SVG的解釋是:“SVG是一種使用XML來(lái)描述二維圖形的語(yǔ)言!蹦壳,國外陸續涌現了許多SVG文檔的顯示、編輯和轉換工具,也包括瀏覽器插件。例如,在Windows中裝上Adobe的SVG Viewer后,SVG文件就能在IE中被瀏覽。
因為SVG本身也是XML,它同時(shí)也可以包含數據信息,所以,它能夠將DTS中的圖形信息以SVG格式進(jìn)行輸出,同時(shí)可向同一個(gè)文件中以XML格式輸出數據信息,這樣不僅可供Web調用或供第三方應用軟件使用,還有利于與不同開(kāi)發(fā)商的EMS/DTS進(jìn)行信息交換。此外,也可以向國際標準IEC 61970靠攏。
2.5 圖形、數據維護現狀
DTS的數學(xué)模型比較復雜,畫(huà)面信息量大,操作種類(lèi)多,數據維護量大。以往的維護都是通過(guò)圖形維護數據庫等工具和手段來(lái)進(jìn)行。由于圖形和數據是分開(kāi)輸入和維護的,因此二者無(wú)法直接對應和同步,圖形修改與設備、網(wǎng)絡(luò )模型、系統參數等數據修改不能同步進(jìn)行?從而影響了數據維護的形象直觀(guān)性。另外,不直接面向電力設備對象也導致了分散的數據庫中過(guò)多的交叉信息,因而造成大量冗余信息的輸入和維護,數據庫間數據一致性也難以保證,數據的維護也極困難。由于沒(méi)有標準的信息交換接口及文件格式,所以各廠(chǎng)家的數據交互比較困難。
而本系統則將原有UNIX下Motif開(kāi)發(fā)的系統向Linux下移植,并用更為結構化的C++語(yǔ)言和更方便的Qt 3.0圖形界面類(lèi)庫來(lái)對其進(jìn)行修改并完善其功能,從而使之向國際標準IEC61970靠攏,同時(shí)也提高了與其它系統的互操作性。
3 體系結構設計
選擇合適的體系結構,對于軟件開(kāi)發(fā)者來(lái)說(shuō)是最重要的決策之一。良好的軟件體系結構可以降低軟件系統的復雜性,這對大規模的并行開(kāi)發(fā)起著(zhù)舉足輕重的作用。
新一代的DTS圖形數據系統體系結構設計如圖1所示。其中,Qt庫是Lin
【在Linux下用Qt開(kāi)發(fā)新一代DTS圖形數據系統的分析】相關(guān)文章:
Linux下的GTK圖形界面編程12-04
在MIPS開(kāi)發(fā)板上建立Linux系統及開(kāi)發(fā)環(huán)境03-18
嵌入式Linux系統下Microwindows的應用03-19
Windows 95下智能數據采集系統03-19
基于DSP的USB口數據采集分析系統03-18
ObjectARX環(huán)境下的結構建模系統的開(kāi)發(fā)03-18
分析電力自動(dòng)化系統的數據處理12-06