引言
在計(jì)算機(jī)信息網(wǎng)絡(luò)技術(shù)的促進(jìn)下,為適應(yīng)對(duì)大型工業(yè)過(guò)程及其控制系統(tǒng)的分析、優(yōu)化和訓(xùn)練的需求,集散控制系統(tǒng)DCS的全范圍仿真正在向所謂“虛擬”技術(shù)方向發(fā)展。目前,虛擬DCS的實(shí)現(xiàn)主要包括三種方式,激勵(lì)型DCS、仿真DCS和虛擬DCS。[1]其中基于虛擬DPU(分散處理單元)技術(shù)的虛擬DCS介于另外兩者之間,其控制參數(shù)和算法完全來(lái)自于下載文件,使用與實(shí)際DPU相同的算法、模塊、時(shí)間片、位號(hào)等,可以同步修改更新,軟件功能逼真度較高,實(shí)現(xiàn)成本低。[2]因此,虛擬DPU技術(shù)能夠真正有效、經(jīng)濟(jì)和廣泛地應(yīng)用于人員培訓(xùn)、在線檢測(cè)、故障診斷和設(shè)計(jì)調(diào)試DPU,滿足火力發(fā)電等過(guò)程工業(yè)“數(shù)字化”的需求。
1 虛擬DPU技術(shù)
SYMPHONY集散控制系統(tǒng)和其他DCS控制系統(tǒng)一樣,主要有DPU來(lái)完成,虛擬DPU技術(shù)將實(shí)際DCS系統(tǒng)中的DPU的處理功能移植到虛擬DPU的軟件上,脫離硬件設(shè)備,采用軟件仿真在計(jì)算機(jī)上實(shí)現(xiàn)一個(gè)或多個(gè)DPU工作過(guò)程的模擬。這樣就可以直接運(yùn)行設(shè)計(jì)人員組態(tài)好的文件,執(zhí)行其控制策略。然后,通過(guò)與操作員站人機(jī)界面(HMI)的通訊接口相連,就可以完成整個(gè)DCS流程動(dòng)態(tài)數(shù)學(xué)模型仿真系統(tǒng)。
下圖(圖1)為虛擬DPU在整個(gè)DCS工作過(guò)程中的位置。
圖1虛擬DPU在整個(gè)DCS中的位置
從圖中可以看出虛擬DPU完全取代了真實(shí)的DPU,對(duì)下載好的組態(tài)文件進(jìn)行處理,然后在操作員站顯示出執(zhí)行的結(jié)果。這樣既能完成設(shè)計(jì)調(diào)試、人員培訓(xùn)等離線功能,又能進(jìn)行在線檢測(cè)和診斷。
2 虛擬DPU仿真軟件的實(shí)現(xiàn)
結(jié)合華北電力大學(xué)仿真與控制技術(shù)實(shí)驗(yàn)室引進(jìn)的Symphony系統(tǒng),運(yùn)用虛擬DPU技術(shù)對(duì)Symphony集散控制系統(tǒng)實(shí)現(xiàn)模型仿真。
2.1面向?qū)ο蠓椒?BR>
面向?qū)ο蠓椒?Object-Oriented Method)是一種把面向?qū)ο蟮乃枷霊?yīng)用于軟件開發(fā)過(guò)程中,指導(dǎo)開發(fā)活動(dòng)的系統(tǒng)方法,簡(jiǎn)稱OO(Object-Oriented)方法,是建立在“對(duì)象”概念基礎(chǔ)上的方法學(xué)。對(duì)象是由數(shù)據(jù)和容許的操作組成的封裝體,與客觀實(shí)體有直接對(duì)應(yīng)關(guān)系,一個(gè)對(duì)象類定義了具有相似性質(zhì)的一組對(duì)象。繼承性是對(duì)具有層次關(guān)系的類的屬性和操作進(jìn)行共享的一種方式。所謂面向?qū)ο缶褪腔趯?duì)象概念,以對(duì)象為中心,以類和繼承為構(gòu)造機(jī)制,來(lái)認(rèn)識(shí)、理解、刻畫客觀世界和設(shè)計(jì)、構(gòu)建相應(yīng)的軟件系統(tǒng)。
面向?qū)ο蠓椒ㄖС秩N基本的活動(dòng):識(shí)別對(duì)象和類,描述對(duì)象和類之間的關(guān)系,以及通過(guò)描述每個(gè)類的功能定義對(duì)象的行為。面向?qū)ο蟮牡谝粋€(gè)原則是把數(shù)據(jù)和對(duì)該數(shù)據(jù)的操作都封裝在一個(gè)類中,在程序設(shè)計(jì)時(shí)要考慮多個(gè)對(duì)象及其相互間的關(guān)系。有些功能并不一定由一個(gè)程序段完全實(shí)現(xiàn),可以讓其它對(duì)象來(lái)實(shí)現(xiàn),面向?qū)ο蟮牧硗庖粋€(gè)好處是實(shí)現(xiàn)代碼的重復(fù)使用。
2.2虛擬DPU控制算法模塊
Symphony分散控制系統(tǒng)包含255種軟件模塊,即255個(gè)功能碼。這些功能碼可以分為四種類型,執(zhí)行塊、系統(tǒng)常數(shù)塊、輸入/輸出塊、用戶可組態(tài)塊。[3][4] 它們主要完成五大功能:1. 輸入輸出。完成模擬量、邏輯量和脈沖量等輸入輸出功能。2.模擬控制。完成模擬量的運(yùn)算及其控制。3.邏輯控制。完成邏輯量的運(yùn)算及其控制。4.順序控制。完成提供設(shè)備的自動(dòng)手動(dòng)順序切換等功能。5.特殊計(jì)算。提供特殊的計(jì)算功能。根據(jù)對(duì)其算法、模塊、時(shí)間片、位號(hào)等的分析,對(duì)虛擬DPU控制算法模塊進(jìn)行開發(fā)。在VC++中,采用面向?qū)ο蟮哪K編程技術(shù),創(chuàng)建虛擬DPU基類庫(kù)。這五個(gè)大模塊在運(yùn)行過(guò)程中,通過(guò)不同的功能調(diào)用,完成了DPU的基本功能。同時(shí),五大模塊下層又有一些小模塊來(lái)輔助其實(shí)現(xiàn)該功能。
2.3虛擬DPU智能編譯部分
智能編譯部分主要是對(duì)DPU組態(tài)后下載文件的代碼進(jìn)行掃描解釋,然后建立完整的虛擬DPU組態(tài)語(yǔ)義庫(kù)。結(jié)合控制算法模塊,把控制算法模塊以庫(kù)文件的形式與掃描得到的代碼編譯鏈接,得到虛擬DPU控制程序。
2.3.1組態(tài)文件的結(jié)構(gòu)
ABB公司推出的Symphony分散控制系統(tǒng)是通過(guò)其系統(tǒng)工程工具Composer進(jìn)行DCS組態(tài)的。對(duì)Composer編譯后的下載文件結(jié)構(gòu)的分析,不同模塊有著不同的二進(jìn)制結(jié)構(gòu),但大體上有著相似性。它們都是先標(biāo)明該模塊所占的字節(jié)數(shù),接著依次是塊地址、常數(shù)塊號(hào)、輸入地址、輸入值、輸出地址、輸出值等(如圖2)通過(guò)對(duì)這些二進(jìn)制結(jié)構(gòu)的識(shí)別,進(jìn)行進(jìn)一步的編譯工作。
圖2下載文件的一般格式
2.3.2編譯部分的實(shí)現(xiàn)
編譯部分在整個(gè)虛擬DPU的過(guò)程中,主要的作用是連接組態(tài)文件和算法類庫(kù),把二者對(duì)應(yīng)起來(lái),然后得出顯示的結(jié)果。如圖3是對(duì)這幾個(gè)部分所在位置和功能的說(shuō)明。
圖3編譯部分在整個(gè)程序中所在的位置
3 軟件封裝與測(cè)試
為了對(duì)模塊進(jìn)行測(cè)試,采用對(duì)話框形式的圖形操作界面建立一個(gè)測(cè)試環(huán)境。在這個(gè)測(cè)試環(huán)境中,以實(shí)際系統(tǒng)可能出現(xiàn)的各種情況對(duì)模塊進(jìn)行初始化和賦值,以實(shí)際系統(tǒng)相同的時(shí)間片調(diào)用模塊,使測(cè)試環(huán)境盡量接近于實(shí)際的系統(tǒng)。[5]
測(cè)試的重點(diǎn)在:1)模塊接口——模塊能否被正確的初始化和賦值,能否正確地輸出數(shù)據(jù);2)異常處理——軟件對(duì)異常情況的特殊處理是否到位,是否能夠達(dá)到準(zhǔn)確無(wú)誤。
測(cè)試方法采用黑盒測(cè)試和白盒測(cè)試。黑盒測(cè)試即已知產(chǎn)品的功能設(shè)計(jì)規(guī)格,可以進(jìn)行測(cè)試證明每個(gè)實(shí)現(xiàn)了的功能是否符合要求。它意味著測(cè)試要在軟件的接口處進(jìn)行。白盒測(cè)試即已知產(chǎn)品的內(nèi)部工作過(guò)程,可以通過(guò)測(cè)試證明每種內(nèi)部操作是否符合設(shè)計(jì)規(guī)格要求,所有內(nèi)部成分是否已經(jīng)過(guò)檢查。它是對(duì)軟件的過(guò)程性細(xì)節(jié)做細(xì)致的檢查。[6]
組態(tài)圖完成后,首先對(duì)組態(tài)圖下載,然后運(yùn)用所編的軟件一步步執(zhí)行,得出結(jié)果,于實(shí)際DPU的運(yùn)行結(jié)果相對(duì)照,看虛擬DPU系統(tǒng)能否做到設(shè)備的正確啟停,對(duì)變化及事故的處理能否做出正確響應(yīng)。其次觀察其調(diào)試速度是否與真是DPU相同。通過(guò)多次的反復(fù)測(cè)試、調(diào)試使其仿真軟件能夠正確可靠地運(yùn)行,這樣就完成了軟件的開發(fā)。
4 結(jié)束語(yǔ)
虛擬DPU 由于它使用與真實(shí) DPU 相同的算法,模塊,時(shí)間片和位號(hào)。因此具有更高的軟件逼真度。它能夠和真實(shí)DPU 相聯(lián)網(wǎng)運(yùn)行,實(shí)現(xiàn)機(jī)組的性能計(jì)算,在線診斷,優(yōu)化運(yùn)行等高級(jí)功能。相信虛擬DPU技術(shù)將在大型工業(yè)過(guò)程仿真中有著越來(lái)越廣泛的應(yīng)用。
主要參考文獻(xiàn)
[1]冷杉.論虛擬分散控制系統(tǒng)技術(shù)[J].中國(guó)電力,36卷第2期,2003.2,第53-54頁(yè)
[2]宋人杰,王曉東. 基于虛擬DPU技術(shù)的DCS流程動(dòng)態(tài)數(shù)學(xué)模型仿真[J].高壓電技術(shù),32卷第1期,2006.1,第91頁(yè)
[3]仿真與控制技術(shù)實(shí)驗(yàn)室[M].SYMPHONY系統(tǒng)介紹.華北電力大學(xué),2002
[4]仿真與控制技術(shù)實(shí)驗(yàn)室[M].SYMPHONY系統(tǒng)功能碼(N-90、INFI-90).華北電力大學(xué),2002
[5]劉哲,冷杉,楊靜.面向?qū)ο筇摂MDPU的實(shí)現(xiàn)[J].電力自動(dòng)化設(shè)備,24卷第1期,2004.1,第76頁(yè)
[6]陳沛然,張建華. 淺析基于虛擬DPU技術(shù)的330MW機(jī)組仿真系統(tǒng)開發(fā)與調(diào)試[J].寧夏電力,2005.5,第43-44頁(yè)