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