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