[摘 要]本文介紹了一種基于設(shè)備描述的現(xiàn)場(chǎng)數(shù)據(jù)管理技術(shù)。基于設(shè)備描述的現(xiàn)場(chǎng)數(shù)據(jù)管理技術(shù)的設(shè)備描述文件,設(shè)計(jì)出了監(jiān)控層/數(shù)據(jù)管理層/現(xiàn)場(chǎng)設(shè)備層三層模型結(jié)構(gòu)的遠(yuǎn)程監(jiān)控網(wǎng)絡(luò)。 開(kāi)發(fā)了PC 網(wǎng)關(guān)、后臺(tái)數(shù)據(jù)庫(kù)、動(dòng)態(tài)網(wǎng)頁(yè)等程序,初步實(shí)現(xiàn)了對(duì)現(xiàn)場(chǎng)設(shè)備的遠(yuǎn)程監(jiān)控和管理功能。
[關(guān)鍵詞]現(xiàn)場(chǎng)數(shù)據(jù)管理 XML 設(shè)備描述
一、現(xiàn)場(chǎng)數(shù)據(jù)管理的意義
隨著Internet技術(shù)不斷發(fā)展和壯大,Internet正在把全世界的辦公系統(tǒng)和通信系統(tǒng)連接起來(lái),這為底層信息的遠(yuǎn)程訪問(wèn)和控制創(chuàng)造了條件。而現(xiàn)場(chǎng)數(shù)據(jù)管理系統(tǒng)也正在把底層控制網(wǎng)絡(luò)Internet集成起來(lái),這為底層信息的遠(yuǎn)程訪問(wèn)和控制提供了基礎(chǔ)。這樣我們就可以通過(guò)Internet和Internet的集成,實(shí)現(xiàn)對(duì)現(xiàn)場(chǎng)數(shù)據(jù)的遠(yuǎn)程監(jiān)控和管理。
二、系統(tǒng)總體設(shè)計(jì)
目前常用的工控編程語(yǔ)言除了IEC 61131.3所規(guī)范的5種語(yǔ)言之外,流程圖語(yǔ)言和C語(yǔ)言也在一定的范圍內(nèi)使用。顯然,這些語(yǔ)言仍在發(fā)展。目前該領(lǐng)域一個(gè)主要的發(fā)展方向是將統(tǒng)一建模語(yǔ)言UML應(yīng)用于mc61131_3組態(tài)軟件的開(kāi)發(fā),適用于迭代式的開(kāi)發(fā)過(guò)程,為支持大部分現(xiàn)有的面向?qū)ο箝_(kāi)發(fā)過(guò)程設(shè)計(jì),編程人員可運(yùn)用UML以圖形來(lái)描述控制系統(tǒng),接著加上功能塊、數(shù)據(jù)和其它基本的要素,然后UML便可自動(dòng)生成用符合疋c 61131-3的編程語(yǔ)言寫(xiě)的代碼,功能塊可以從標(biāo)準(zhǔn)核心技術(shù)構(gòu)件庫(kù)中取得。而本文,提出了基于Web技術(shù)的遠(yuǎn)程監(jiān)控模型為:監(jiān)控層/數(shù)據(jù)管理層/現(xiàn)場(chǎng)設(shè)備層。為解決此類(lèi)問(wèn)題提供了新的思路。
1. 現(xiàn)場(chǎng)數(shù)據(jù)分析和系統(tǒng)總體設(shè)計(jì)
由于常用的瀏覽器服務(wù)器/數(shù)據(jù)庫(kù)三層模型結(jié)構(gòu)在處理實(shí)際問(wèn)題時(shí)有很好的靈活性,技術(shù)成熟,開(kāi)發(fā)工具簡(jiǎn)單。所以我們提出了基于Web技術(shù)的遠(yuǎn)程監(jiān)控模型為:監(jiān)控層/數(shù)據(jù)管理層/現(xiàn)場(chǎng)設(shè)備層.這里現(xiàn)場(chǎng)設(shè)備層為以太網(wǎng)總線網(wǎng)絡(luò)(見(jiàn)圖1);數(shù)據(jù)管理層為PC網(wǎng)關(guān)通信程序。內(nèi)存數(shù)據(jù)庫(kù)和Web服務(wù)器;監(jiān)控層為IE瀏覽器。
要實(shí)現(xiàn)如上所述的遠(yuǎn)程監(jiān)控系統(tǒng),關(guān)鍵問(wèn)題就是如何使現(xiàn)場(chǎng)設(shè)備的信息上傳到數(shù)據(jù)管理層,以及瀏覽器控制命令如何下網(wǎng)絡(luò)與通信達(dá)到現(xiàn)場(chǎng)設(shè)備中,以太網(wǎng)總線使用設(shè)備描述語(yǔ)言編寫(xiě)具體設(shè)備描述文本,能夠準(zhǔn)確的描述設(shè)備信息和被控參數(shù),從而巧妙的解決了這一關(guān)鍵技術(shù)問(wèn)題。同時(shí),控制命令可以通過(guò)特殊幀結(jié)構(gòu)下達(dá)到現(xiàn)場(chǎng)設(shè)備,實(shí)現(xiàn)遠(yuǎn)程監(jiān)控任務(wù)。
三、現(xiàn)場(chǎng)數(shù)據(jù)管理方法
隨著現(xiàn)場(chǎng)總線和以太網(wǎng)技術(shù)的發(fā)展,越來(lái)越多的基于以太網(wǎng)的技術(shù)將會(huì)應(yīng)用到現(xiàn)場(chǎng)總線控制系統(tǒng)中。作為一種新型的以太網(wǎng)技術(shù),XMI 語(yǔ)言推動(dòng)了互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展。XMIL語(yǔ)言在描述結(jié)構(gòu)化數(shù)據(jù)方面的強(qiáng)大功能使其在工業(yè)控制領(lǐng)域的應(yīng)用成為可能,特別是在設(shè)備描述方面更能體現(xiàn)出其優(yōu)越性,更好滿足現(xiàn)場(chǎng)設(shè)備的互操作性。
1. 現(xiàn)場(chǎng)設(shè)備層的設(shè)計(jì)
基于因特網(wǎng)的遠(yuǎn)程監(jiān)控的現(xiàn)場(chǎng)設(shè)備的監(jiān)控是通過(guò)現(xiàn)場(chǎng)的控制計(jì)算機(jī)來(lái)完成的。現(xiàn)場(chǎng)計(jì)算機(jī)主要功能是根據(jù)實(shí)時(shí)數(shù)據(jù)庫(kù)中的遠(yuǎn)程控制命令對(duì)現(xiàn)場(chǎng)設(shè)備進(jìn)行控制,以及將采集到的現(xiàn)場(chǎng)設(shè)備狀態(tài)數(shù)據(jù)存入實(shí)時(shí)數(shù)據(jù)庫(kù)中,以便Web服務(wù)器可以發(fā)送給用戶。對(duì)于不同的現(xiàn)場(chǎng)設(shè)備,我們開(kāi)發(fā)不同的智能節(jié)點(diǎn)設(shè)計(jì),節(jié)點(diǎn)采用積分分離PID算法,可以單獨(dú)完成對(duì)設(shè)備參數(shù)進(jìn)行控制,以及自動(dòng)與數(shù)據(jù)管理層PC軟網(wǎng)關(guān)實(shí)現(xiàn)通信和設(shè)備描述文件的上傳,節(jié)點(diǎn)可對(duì)上位機(jī)或遠(yuǎn)程客戶端的控制命令作響應(yīng),控制任務(wù)由節(jié)點(diǎn)完成。
2. 數(shù)據(jù)管理層的設(shè)計(jì)與實(shí)現(xiàn)
數(shù)據(jù)管理層實(shí)現(xiàn)基本數(shù)據(jù)處理活動(dòng),包括存儲(chǔ)、修改、更新以及其他數(shù)據(jù)相關(guān)服務(wù)。接受用戶服務(wù)層的請(qǐng)求,向用戶服務(wù)層返回結(jié)果;向數(shù)據(jù)采集層發(fā)送請(qǐng)求。數(shù)據(jù)管理層包括web服務(wù)器和實(shí)時(shí)數(shù)據(jù)庫(kù)兩部分。為了實(shí)現(xiàn)數(shù)據(jù)管理層與現(xiàn)場(chǎng)設(shè)備層之間的信息傳遞。我們開(kāi)發(fā)了一個(gè)基于以太網(wǎng)總線的PC網(wǎng)關(guān)通信程序,從而保障數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性,而web服務(wù)器系統(tǒng)采用tomcat構(gòu)建WEB服務(wù)器,用Jsp腳本語(yǔ)言進(jìn)行動(dòng)態(tài)網(wǎng)頁(yè)的制作,通過(guò)網(wǎng)關(guān)通信程序與以太網(wǎng)總線進(jìn)行通信,后臺(tái)數(shù)據(jù)庫(kù)采用開(kāi)源的內(nèi)存數(shù)據(jù)庫(kù)來(lái)完成。
3. Web服務(wù)器的設(shè)計(jì)
Web服務(wù)器的功能是為監(jiān)控層提供服務(wù),主要的設(shè)計(jì)任務(wù)就是動(dòng)態(tài)的網(wǎng)頁(yè)編制、實(shí)時(shí)數(shù)據(jù)庫(kù)的訪問(wèn)。一方面,我們采用表單形式發(fā)送的控制命令存人實(shí)時(shí)數(shù)據(jù)庫(kù).等待設(shè)備監(jiān)控系統(tǒng)讀取;另一方面,我們根據(jù)客戶的請(qǐng)求.從實(shí)時(shí)數(shù)據(jù)庫(kù)讀出設(shè)備狀態(tài)數(shù)據(jù)發(fā)布給用戶。我們采用Apache的tomcat服務(wù)器,采用Jsp來(lái)完成網(wǎng)頁(yè)的制作,克服了HTML編寫(xiě)網(wǎng)頁(yè)的靜態(tài)缺點(diǎn).從而使網(wǎng)頁(yè)上可以有許多動(dòng)態(tài)的信息存在。PC網(wǎng)關(guān)與Web服務(wù)器之間的通信主要通過(guò)后臺(tái)數(shù)據(jù)庫(kù)完成,當(dāng)Web服務(wù)器收到遠(yuǎn)方控制命令時(shí),將修改后臺(tái)數(shù)據(jù)庫(kù)控制表單,這時(shí)軟網(wǎng)關(guān)將從數(shù)據(jù)庫(kù)中讀取控制命令,并按以太網(wǎng)總線協(xié)議,將控制命令傳送至被控設(shè)備,完成對(duì)現(xiàn)場(chǎng)設(shè)備的遠(yuǎn)程控制。這里現(xiàn)場(chǎng)設(shè)備將對(duì)控制命令進(jìn)行應(yīng)答,通知遠(yuǎn)程客戶端控制任務(wù)完成,并刷新客戶端瀏覽器。
4. 控層的設(shè)計(jì)與實(shí)現(xiàn)
監(jiān)控層應(yīng)用ActiveX和HTML語(yǔ)言以及腳本語(yǔ)言的結(jié)合來(lái)實(shí)現(xiàn)。HTML語(yǔ)言主要用來(lái)組織用戶界面、文本數(shù)據(jù)的顯示、用戶信息的表單提交。監(jiān)控層主要有兩個(gè)任務(wù),即設(shè)備狀態(tài)數(shù)據(jù)的表示和控制命令的發(fā)送監(jiān)控層的第一任務(wù)就是設(shè)備狀態(tài)數(shù)據(jù)的表示問(wèn)題. 系統(tǒng)中,我們將后臺(tái)數(shù)據(jù)庫(kù)中的現(xiàn)場(chǎng)設(shè)備相關(guān)信息,控制參數(shù)顯示在瀏覽器上,供用戶查看最新的設(shè)備運(yùn)行狀況,以便發(fā)出控制命令。至于監(jiān)控層控制命令的發(fā)送.HTML語(yǔ)言提供了表單,以便通過(guò)瀏覽器向服務(wù)器提交數(shù)據(jù)。我們也是采用表單向服務(wù)器提交控制命令,Web服務(wù)器接收后將其存人后臺(tái)數(shù)據(jù)庫(kù),再由PC網(wǎng)關(guān)程序按以太網(wǎng)總線協(xié)議,下達(dá)命令到現(xiàn)場(chǎng)設(shè)備。
參考文獻(xiàn):
[1]w3c組織http: / /www1w31org/XML /Schema1
[2]國(guó)家質(zhì)量技術(shù)監(jiān)督局.GB/T2O17l—2006用于工業(yè)測(cè)量與控制系統(tǒng)的EPA系統(tǒng)結(jié)構(gòu)與通信規(guī)范[S],北京:中國(guó)標(biāo)準(zhǔn)出版社,2006