韓 立,尹愛軍
(1.中國土地勘測規劃院,北京 100035;2.重慶大學機械學院,重慶 400044)
組態軟件是近年來在工業自動化領域興起的一種新型的軟件開發技術,開發人員不需要編制具體的指令和代碼,只要利用組態軟件包中的工具,通過硬件組態(硬件配置)、數據組態、圖形圖像組態等工作來完成所需應用軟件的開發工作,它具有二次開發簡便、開發周期短、通用性強、可靠性高等優點[1-3]。
隨著微電子技術、計算機技術和通信技術的發展,測控自動化技術也得到了迅速提高。變電站綜合測控系統不僅很好地解決了常規變電站二次設備存在的缺陷,而且是對變電站二次設備的一次革命[4-5]。軟件測試是軟件質量保證的關鍵元素,并代表了規約、設計和編碼的最終評審。
該文以電站為對象,研究了基于組態技術的綜合測控軟件系統的設計,詳細論述了系統中若干關鍵問題,設計了測控軟件的測試模型。
組態技術是伴隨著計算機技術的突飛猛進發展起來的?!敖M態”的概念最早來自英文Configuration,其含義是使用軟件工具對計算機及軟件的各種資源進行配置(包括進行對象的定義、制作和編輯,并設定其狀態特征屬性參數),達到使計算機或軟件按照預先設置,自動執行特定任務,滿足使用者要求的目的[1-3]。
組態軟件一般可分為組態系統和運行系統兩大部分。運行系統根據組態系統配置好(組態)的相關信息運行軟件,從而實現相應的控制運算功能。組態系統根據用戶要求配置好整個系統參數。組態系統和運行系統有許多共同部分,可劃分為幾個子系統,如圖形化配置人機接口、控制運算、數據存儲和數據通信等。目前組態軟件的組態方法主要有四種:組態字法、組態表格法、梯形圖法和圖表組態法等。
針對組態軟件的現狀和發展要求,在開發過程中,需引入組件技術,通過復用組件對象,可減少設計中的重復勞動,提高軟件的可靠性和開放性。組件化軟件開發雖然有許多特色和優勢,但要實現這種組件結構,并不是一件簡單的事情。目前組件技術的主要標準和規范大致有 OMG的 CORBA、Sun Microsystems的EJB和Microsoft的COM/DCOM三種。因目前大多數組態系統運行于Windows平臺下,故在設計和實現組態系統的過程中主要采用COM/DCOM技術。
組態軟件發展迅速,呈現出諸多的發展趨勢,如跨平臺運行、WEB環境下運行、提高硬件支持能力、規范與增強腳本語言、數據通信方式的標準化等。特別是在數據通信標準化方面得到了極大發展,OPC基金會提出了OPC標準,基于OLE/DCOM技術,客戶和服務器通過COM接口進行通信,服務器和客戶可以由不同的廠商提供。
以電站綜合測控系統為對象,設計開發了基于組態技術的測控軟件。
變電站綜合自動測控系統是利用多臺微型計算機和大規模集成電路組成的自動化系統,代替常規的測量和監視儀表、控制屏、中央信號處理系統等。
圖1 集中分布式系統結構
從國內外變電站綜合自動化系統的發展過程來看,其結構形式有集中式、分布式、分布分散式和全分散式等類型[4]。圖1為集中分布式系統結構[5]。
該系統以若干個線程和進程為單位獨立地被操作系統調度,而系統中的所有進程和線程都是圍繞數據庫而運行,基本結構如圖2所示。
圖2 系統組成結構
規約處理主要管理串行通信接口,及時采集各RTU的遙測、遙信等數據,并向各RTU發送各種信息以及控制命令,完成向上一級調度或其他信息管理系統的數據轉發。
網絡通信完成主機與各工作站之間實時數據及事件的傳送等,通信協議選用標準的TCP/IP,可采用無線傳輸方式。
歷史記錄用于檢測事件、記錄、狀態是否需要保存,如果需要,則保存到系統指定的目錄下,也可自動定時保存狀態信息。
數據庫操作及數據庫接口完成數據庫的生成、錄入、在線修改等。包括模擬量數據庫、開關量數據庫、規約數據庫等。
人機界面完成系統的組態操控,包括繪圖、數據顯示、打印等。系統可采用單機模式或多機網絡模式。
系統主要定義了模擬量數據庫、狀態量數據庫、累計量數據庫、遙控量數據庫等,采用Access數據庫引擎[6-7]。
模擬量屬性記錄結構的C++格式定義為:
其他屬性記錄的結構這里不再一一列出。
繪圖界面模塊模仿操作系統畫圖工具進行設計,然后與綜合控制系統的內核功能進行融合。模塊支持多層畫面的編輯和無級縮放功能,支持位圖、矢量圖形、矢量字體等,操作簡便,可以方便的繪制主接線圖、棒圖、各種表格等畫面[8]。
模塊定義了一些基本的圖元符號及關鍵操作,如直線、矩形、圓、填充矩形、填充圓、字符串、圓弧、位圖、交流符等。如直線可定義為:
帶電母線則可在直線的結構上定義為:
通信模塊包括串行口通信處理、網絡通信處理、歷史數據保存、規約處理、無線遙控通信處理等。用于輪詢各個串行口是否有接收數據、處理服務器與工作站之間的網絡通信、處理各個RTU(Remote Terminal Unit)對應的各種規約、把實時數據存放到對應的緩沖區中供操作員監控平臺模塊調用等。
開發工作的前期不可避免地會引入錯誤,測試的目的就是為了發現和改正錯誤。理論上,只有將所有可能的情況都測試到,才有可能檢查出所有的錯誤。然而這是不可能的。為此,針對具體的軟件,應當對測試進行設計,用盡可能少的投入和費用發現盡可能多的問題和錯誤。
軟件測試的基本方法有黑盒法和白盒法。黑盒測試也稱功能測試或數據驅動測試,它是在已知產品所應具有的功能的情況下,通過測試來檢測每個功能是否都能正常使用。白盒測試也稱結構測試或邏輯驅動測試,它是在知道它產品內部工作過程的前提下,通過測試來檢測產品內部動作是否按照規格說明書的規定正常進行。
對一個測試用例來講,可以采用多種測試覆蓋方法,如語句覆蓋、判定覆蓋、條件覆蓋、路徑測試等等。同時,測試軟件本身應具有可操作性、可觀察性、可控制性、可理解性等特征。
組態系統是一個復雜的基于事件驅動的綜合測控系統,該文采用基本的黑盒測試原理設計系統的軟件測試模型。
根據圖2所示的系統組成,建立了如圖3所示的系統正交測試模型。該模型將系統劃分為圖形系統、數據庫系統和通信系統,對應組態軟件的圖形組態、數據組態和通信組態。各系統獨立完成相應部分的測試任務。因系統正交,故各部分之間互不影響。
在這一系統中,數據庫子系統存儲了相關的規則集及測控信息。其他系統與數據庫系統進行交互,根據對應的測控信息提取規則,并分解、解析為該系統層內的執行動作。圖形系統可向數據庫寫入新的規約。通信系統完成測控信息的獲取傳輸及各個子系統與數據庫之間的通信。
圖3 正交測試模型
一般來講,對任何一個測試用例,模型首先利用分解系統將其進行正交分解,得到獨立的三個正交子測試用例,然后分別送到對應的測試驅動系統進行測試。對每一個子系統,可以根據需要進行細分,建立一個新的三維分解模型。同樣,也可以先設計各個子系統的測試例,完成子系統測試后,反向合成為系統層面的測試例。
測試軟件中設計了一個隨機事件發生器,根據測控系統的應用規則模擬系統運行過程中可能出現的各種隨機狀態。因此實際測試時,由測試軟件系統自動完成測試用例的設計、測試實現等過程。用戶也可根據需要自行設計測試例。
隨著計算機等信息技術的發展,測控自動化技術得到了迅速提高,極大地提升了工業自動化水平。組態軟件技術是近年來在工業自動化領域興起的一種新型的軟件開發技術,具有二次開發簡便、開發周期短、通用性強等特點。
該文以電站自動測控為對象,研究了基于組態技術的測控系統的基本組成、數據庫、數據結構、圖形組態系統等關鍵問題。采用現代軟件測試技術對組態系統的測試進行了研究,建立了正交測試模型。
[1]歐金成,歐世樂,林德杰,等.組態軟件的現狀與發展[J].工業控制計算機,2002,15(4):58-61.
[2]王亞民,陳 青,劉 暢.組態軟件設計與開發[M].西安:西安電子科技大學出版社,2002.
[3]張勇旭,李力雄,康 盛.通用組態軟件驅動程序的設計與開發[J].工業控制計算機,2009,22(9):1-6.
[4]朱大新,劉 覺.變電站綜合自動化系統的內容及功能要求和配置[J].電力系統自動化,1995,19(10):3-6.
[5]葛蕓萍,楊 箏.變電站綜合自動化系統 [J].煤炭工程,2008(5):12-13.
[6]漆 婧.組態軟件實時數據庫系統研究及設計[J].軟件導刊,2009,8(9):156-159.
[7]張會彥,周麗虹.新型構件化組態軟件中實時數據庫設計與實現 [J].計算機應用與軟件,2009,26(7):153-174.
[8]葛化敏,湯 沛,趙桉梆.組態軟件中圖形界面的設計[J].微計算機信息,2008,24(8):92-94.
[9]Roger S,Pressman.軟件工程——實踐者的研究方法[M].梅 宏,譯.北京:機械工業出版社,2002.
[10]馬海云.軟件可靠性測試中不確定性問題的研究[J].自動化與儀器儀表,2009(5):127-129.
[11]張洪偉,蔣秀峰.測試樣例開發研究 [J].微計算機信息,2009,25(10):31-33.