在Linux下用Qt開發新一代DTS圖形資料系統的分析

來源:互聯網
上載者:User
 

  在Linux下用Qt開發新一代DTS圖形資料系統的分析 摘要:DTS圖形資料系統是DTS(調度員培訓模擬系統Dispatcher Training Simulator)的一個重要組成部分,文中提出了一種基於Linux,並運用Qt對DTS圖形資料系統進行完善的新方案,此方案價格低廉、硬體相容性好、編程簡便、維護方便、可移植性強、結構清晰、運行速度快,可為EMS/DTS的推廣開闢一條新路。文中詳細分析和設計了該系統。     關鍵詞:DTS;圖形資料系統; Qt;Linux 1 引言調度員培訓類比系統(Dispatcher TrainingSimu-lator,簡稱DTS)是一個電腦系統,它可以按照被模擬的實際電力系統的數學模型來類比各種調度操作和故障後的系統工況,並將這些資訊送到電力系統控制中心的模型內,為調度員提供一個逼真的培訓環境,以達到既不影響實際電力系統的運行,又可以培訓調度運行人員的目的。作業系統的發展,面對對象技術的出現,以及電力系統國際標準IEC 61970的制定,都給DTS的發展提供了更廣闊的空間,其相應的發展也迫在眉睫。圖形資料一體化支撐環境(DGSE)作為DTS(調度員培訓模擬系統DispatcherTraining Simulator軟體的重要組成部分它的好壞直接影響到DTS上進階應用程式軟體的開發及整個系統的成敗。在以往的軟體結構上) DGSE通常僅包括底層通用圖形模組、電力系統相關的圖形模組、與離線庫和即時資料庫介面的支援模組。本文第一次提出一個以Qt為底層圖形模組、用C++和Qt圖形化使用者介面類庫開發的DTS圖形資料一體化支撐環境的技術方案,本方案經過反覆測試以及使用者考驗證明,具有較高的穩定性和可靠性。

2 相關技術分析2.1 作業系統在中國,EMS/DTS的主流作業系統是UNIX和NT。隨著電腦的發展,更多的使用者接受了Linux這種自由軟體形式。作為作業系統的替代品,把Linux用作EMS/DTS操作平台中有很多的優勢。因為,Linux的代碼是公開的,因而對Linux的改進更為容易,此外,Linux還有很多可以免費獲得的工具。更突出的優勢是Linux硬體相容性好,可以運行在絕大多數的現有電腦中。而不像UNIX必須運行在強大的伺服器或RISC工作站上。另一方面,在Linux平台下開發圖形介面程式比在UNIX平台下相對簡單和快捷。用Linux來開發可降低硬體成本並提高軟體開發效率。實踐證明:當EMS/DTS運行在裝有Linux的PC機上時,它的速度比運行在裝有UNIX的RISC工作站上要快許多。2.2 物件導向技術物件導向技術具有封裝性、繼承性、多態性三大特點。這些特性將大大提高軟體的可靠性、可維護性、重用性和擴充性。該技術在八十年代末逐漸為工業界所接受並開始得到應用,且以其獨特的封裝性、繼承性和多態性為軟體工程帶來了一場革命。同傳統的軟體開發方法相比,物件導向技術可以更直觀地對現實世界進行抽象,因此更符合軟體開發的規律,同時可使軟體開發和調試更加正常化。進入九十年代以後,物件導向的技術更顯示出其強大的生命力和廣闊的發展前景。在電力工業方面,物件導向技術應用於DTS可大大改善DTS開放性差、擴充性差、以及難維護等方面的不足。2 .3 C++和Qt 3.0在目前物件導向的程式設計語言中,C++具有執行速度快、佔用系統資源少的突出優勢,DTS對系統的即時性要求很高,是開發DTS的慣用語言。加之以往很多電力系統軟體採用C語言開發,因此可以利用以往的工程成果,從而大大減少了開發的工作量。Qt是Linux下的C++使用者介面開發包,它具有以下優點:(1)支援多平台。其程式可在MS Windows系列(Windows 95、Windows 98、WindowsNT、和Windows 2000)和UNIX/X11 系列(Linux、Sun Solaris、HP-UX、Digital UNIX、IBM AIX、SGI IRIX)等作業系統上進行方便地移植。(2)國際化支援好。已經有多個語言版本,包括中文,從而解決了漢化問題。(3)高度物件導向,模組化高,編寫程式簡單明了。一般來說,用Motif在UNIX上開發DTS使用者介面的主流類庫編寫百行的代碼才可實現的功能,用Qt只用十幾行就能實現,因而可使程式員從繁瑣的編程中解脫出來,以專註於程式本身的內容。(4)因為其類庫的本質可以與Mofit類庫混編,且Qt具有不同的系統風格(包括UNIX),並能很好地和Motif使用者介面溶合在一起因而它是很好的最佳化DTS的工具。2.4 SVGSVG(可升級向量圖形,Scalable Vector Graphics)是由國際WWW委員會(W3C)組織於2000年8月2日制定的一種新的二維向量圖形格式。W3C對SVG的解釋是:“SVG是一種使用XML來描述二維圖形的語言。”目前,國外陸續湧現了許多SVG文檔的顯示、編輯和轉換工具,也包括瀏覽器外掛程式。例如,在Windows中裝上Adobe的SVGViewer後,SVG檔案就能在IE中被瀏覽。因為SVG本身也是XML,它同時也可以包含資料資訊,所以,它能夠將DTS中的圖形資訊以SVG格式進行輸出,同時可向同一個檔案中以XML格式輸出資料資訊,這樣不僅可供Web調用或供第三方應用軟體使用,還有利於與不同開發商的EMS/DTS進行資訊交換。此外,也可以向國際標準IEC61970靠攏。2.5 圖形、資料維護現狀DTS的數學模型比較複雜,畫面資訊量大,操作種類多,資料維護量大。以往的維護都是通過圖形維護資料庫等工具和手段來進行。由於圖形和資料是分開輸入和維護的,因此二者無法直接對應和同步,圖形修改與裝置、網路模型、系統參數等資料修改不能同步進行從而影響了資料維護的形象直觀性。另外,不直接面向電力裝置對象也導致了分散的資料庫中過多的交叉資訊,因而造成大量冗餘資訊的輸入和維護,資料庫間資料一致性也難以保證,資料的維護也極困難。由於沒有標準的資訊交換介面及檔案格式,所以各廠家的資料互動比較困難。而本系統則將原有UNIX下Motif開發的系統向Linux下移植,並用更為結構化的C++語言和更方便的Qt3.0圖形介面類庫來對其進行修改並完善其功能,從而使之向國際標準IEC61970靠攏,同時也提高了與其它系統的互通性。

3 體繫結構設計選擇合適的體繫結構,對於軟體開發人員來說是最重要的決策之一。良好的軟體體繫結構可以降低軟體系統的複雜性,這對大規模的並行開發起著舉足輕重的作用。新一代的DTS圖形資料系統體繫結構設計1所示。其中,Qt庫是Linux作業系統預裝的C++圖形化使用者介面類庫,它包含了對話方塊、菜單、字型、基本圖形(直線、矩形、圓等)的繪製等等圖形介面基礎類,是系統介面的基礎。繪圖操作模組包含有繪圖中各種操作的實現模式,包括對各種基本圖形及電氣圖元進行編輯操作,例如:地區或單元多單元,檔案內及檔案間的選擇、複製、剪下、粘貼、縮放、旋轉、變形、恢複、撤消等基本操作。圖形庫模組可在Qt庫和繪圖操作模組的基礎上進行開發,它可以提供給使用者製作、使用、維護電氣圖元的功能。圖形庫模組包含有表示電力系統裝置的基本要素類,如一個圖形元件的形狀、連接點、資料庫關聯等。用物件導向的方法來封裝電力系統中的這些要素,並以這些要素去繪製電力系統中的電氣裝置(如開關、刀閘、發電機等),以製作一個可以整體使用的,並具有電網屬性的電氣圖元,可以大大提高系統的可擴充性和使用者的自適應性。繪圖模組是構建在Qt庫、繪圖操作模組和圖形庫模組基礎上的,主要用於在基本圖形和圖形庫中實現電氣的圖元繪製及維護系統圖、廠站圖及初始化曲線以及棒圖等功能。資料維護模組主要實現對初始化模組初始即時資料庫資料的調用、即時資料庫的訪問以及即時資料庫的修改等功能。它採用三層架構方式來將使用者介面、商務邏輯、資料訪問分離開來,而它們彼此間則通過介面互動。在這種架構下,使用者通過中介層來訪問和修改資料庫,這樣有利於保持資料的一致性和正確性。由於使用者不直接存取資料庫,因此,資料庫結構的改變不會引起使用者服務程式的修改,而只需修改中介層。圖形、資料維護模組負責繪圖模組和資料維護模組的協調工作,它可在繪圖的同時通過圖形及友好的人機介面輸入相應的裝置參數和運行參數,並具有合理性校正、自動產生網路拓撲結構等功能,該模組是本系統的核心部分。DTS潮StreamCompute及模擬培訓模組嚴格地說不屬於圖形資料一體化支撐平台,它是基於圖形資料一體化支撐平台的進階應用程式,是圖形資料一體化支撐平台服務的對象。

4 圖形資料的維護圖形、資料維護是本系統的核心部分。結合DTS系統以往的資料維護方式,考慮到各種維護工作側重點的不同,本系統具有三種維護使用方式:互動式、圖庫一體化、批處理。這三種維護方式各有其特點和應用範圍。互動式能提供友好介面以供使用者瀏覽、查詢、維護,該方式側重於對少量資料的錄入修改;圖庫一體化方式可將圖形與資料庫中的裝置、網路模型、系統參數等資料關聯起來,該方式側重於裝置、電力網路模型的維護。批處理方式側重資料的大批量裝入和匯出,當然,批量的匯入僅限於一些不改變關聯關係的操作。對於不同類型的使用者,可以根據所維護工作的特點選用不同的維護方式。通常,普通使用者可使用互動式,同時僅使用資料瀏覽許可權;圖庫一體化使用者由於要維護系統裝置參數和網路拓撲結構,因而可使用圖庫一體化方式;而對於資料庫維護人員,則應使用批處理、互動式方式或圖庫一體化方式。4.1 互動式互動式可提供統一的、面向調度自動化系統的資料維護工具,以協助使用者透明地維護所有的資料庫,其中包括電腦通訊系統以及SCADA系統、特殊計算、警示管理、網路拓撲、裝置參數、類比盤等資料庫。互動式主要實現瀏覽查詢和資料維護兩項功能,其中瀏覽查詢可提供一致和透明的工具,以供使用人員瀏覽查詢資料庫資訊,它包含兩種方式:一是表格瀏覽器方式,該方式可供維護人員和系統管理員對系統的各個具體資料庫進行瀏覽查詢;另一種是整體資料查詢方式,可供使用人員或調度員瀏覽查詢電力系統結構和全部資料,該方式支援層次、關係的瀏覽查詢。資料維護可使維護人員編輯和修改各種資料參數,如增加計算點,修改採集點等。4.2 圖庫一體化圖庫一體化方式就是自動保持圖形與資料庫資料的一致。該方式可在圖形編輯器繪製單線圖的同時將對應的電力網路中的資料庫資料一併填寫完畢,並進行校正以保證資料庫填寫的正確性。這種方式面向裝置圖元,形象直觀,裝置之間的串連關係比較清晰,且圖形和資料同步,能解決以往系統中圖形、資料庫和網路建模因多次輸入而可能造成的資料不一致的問題,從而提高了系統的整體水平。4.3 批處理批處理方式主要用於大批量資料的維護,主要包括匯入和匯出功能。匯入主要用於實現資料庫的批量產生,即利用準備好的資料檔案填寫離線庫的資料;匯出則是利用離線庫資料產生批量裝入檔案。其中資料檔案具有文字檔和XML(ExtensibleMarkup Language,可延伸標記語言 (XML))檔案兩種形式。文字檔形式簡單直觀、匯入匯出快捷,但是不同廠商獨立開發的DTS 應用資料的描述方式不盡相同,故該檔案形式不適用於廣泛的資訊交換。以SVG格式表達圖形資訊的XML檔案格式來表達資料資訊可使資訊組織高度結構化。XML 是不同應用系統之間的資料介面標準,是所有資訊的中介層表示,可解決資訊表示、關聯的統一,實現跨平台、跨作業系統的資訊互動。XML的HTML 標準資訊傳輸格式還擴大了網路傳輸和資訊共用範圍。當XML與控制中心介面的公用資訊模型(CCAPI —CIM)結合(即在應用程式或構件介面語義級上基於CIM)時,不同廠商開發的應用程式或不同系統的應用軟體間就可以用統一的XML檔案方式實現正確的資訊交換。

5 結論本系統以Linux為平台,具有較高的穩定性,硬體相容性好,價格低廉,速度快。將物件導向技術應用於DTS可大大改善DTS開放性差、擴充性差、難維護等不足。而採用C++和Qt類庫編程,則可利用前人已有的成果進一步降低開發難度,提高開發效率。同時也很容易向UNIX移植,以適應一些使用者的特殊要求。由於該系統在圖形資料維護上對老系統進行了完善,因而大大減少了原有DTS資料維護的工作量及繁雜度。另外,與EMSAPI IEC 61970標準相結合還可匯出XML資料文本和SVG格式畫面,從而可方便地與其它系統實現互操作。目前,此系統已應用于山東臨沂的DTS中,並得到調度員和專業人士的好評,同時也證明了此方案的可行性與實用性。 

 

摘自www.21ic.com

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.