OPC XML-DA在現(xiàn)場總線遠(yuǎn)程監(jiān)控系統(tǒng)中的應(yīng)用
1 引言
信息技術(shù)的發(fā)展,使得自動化系統(tǒng)結(jié)構(gòu)逐步形成全分布網(wǎng)絡(luò)集成自控系統(tǒng)?,F(xiàn)場總線正是順應(yīng)這一形勢發(fā)展起來的新技術(shù)[1]。利用Internet對現(xiàn)場進(jìn)行遠(yuǎn)程的實(shí)時監(jiān)控是當(dāng)前控制領(lǐng)域的熱點(diǎn),實(shí)現(xiàn)工業(yè)實(shí)時數(shù)據(jù)Web瀏覽也是工業(yè)信息監(jiān)控發(fā)展的必然趨勢。近年來,隨著Internet的迅速發(fā)展及控制自動化技術(shù)的不斷提高,企業(yè)的信息化程度也越來越被企業(yè)所重視。遠(yuǎn)程監(jiān)控作為企業(yè)信息系統(tǒng)的一部分,可以使企業(yè)信息系統(tǒng)向Internet上延伸,綜合的實(shí)現(xiàn)企業(yè)信息系統(tǒng)中過程監(jiān)控層的“遠(yuǎn)程組態(tài)”、“報警提示”、“實(shí)時歷史曲線”以及與ERP集成等多種功能[2]。企業(yè)充分利用計算機(jī)、互聯(lián)網(wǎng)等現(xiàn)代信息技術(shù),將企業(yè)的生產(chǎn)、經(jīng)營及管理流程在線實(shí)現(xiàn),并使企業(yè)真正可以在線獲得完整而及時的信息。
傳統(tǒng)基于OPC的現(xiàn)場總線監(jiān)控系統(tǒng)所設(shè)計的客戶/服務(wù)器結(jié)構(gòu)模式,把數(shù)據(jù)采集者視為OPC服務(wù)器,其他的訪問端視為OPC客戶端。通常,客戶端包含大部分業(yè)務(wù)邏輯。如果系統(tǒng)業(yè)務(wù)邏輯僅僅使用或需要一個簡單的數(shù)據(jù)源時,這種結(jié)構(gòu)能夠運(yùn)行得很好。然而當(dāng)系統(tǒng)需要具有可擴(kuò)展性,系統(tǒng)功能要求不斷增加,數(shù)據(jù)庫性能需要不斷提高時,這種客戶端/服務(wù)器結(jié)構(gòu)就不能夠滿足要求,特別在實(shí)現(xiàn)遠(yuǎn)程監(jiān)控及實(shí)現(xiàn)客戶跨平臺的要求方面,C/S模式已經(jīng)表現(xiàn)出自己的弊端。隨著計算機(jī)通信和網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,計算機(jī)網(wǎng)絡(luò)為工業(yè)控制系統(tǒng)提供了新的發(fā)展空間與技術(shù)支持。以Web服務(wù)層為監(jiān)控系統(tǒng)中間層的B/S(Web瀏覽器/Web服務(wù)器/數(shù)據(jù)庫服務(wù)器)模式,已經(jīng)逐漸發(fā)展起來。
2 基于Web服務(wù)的OPC XML-DA規(guī)范
2.1 OPC技術(shù)
OPC(OLE for process control)用于過程控制的對象鏈接與嵌入,是作為工業(yè)標(biāo)準(zhǔn)定義的特殊的COM接口,它是基于微軟的OLE/COM/DCOM技術(shù),按照標(biāo)準(zhǔn)的方法來完成不同設(shè)備之間數(shù)據(jù)交換的問題。在OPC出現(xiàn)之前,工控軟件通常依靠動態(tài)數(shù)據(jù)交換(DDE)進(jìn)行數(shù)據(jù)訪問,比如數(shù)據(jù)的讀取、更新、訂約、寫入等[3]。OPC的出現(xiàn)大大地提高了數(shù)據(jù)傳輸效率以及對事務(wù)的處理能力,同時利用Windows系統(tǒng)對DCOM的安全機(jī)制也提供了一定安全性管理的能力。但隨著網(wǎng)絡(luò)技術(shù)的迅猛發(fā)展和企業(yè)信息管理系統(tǒng)對互操作性要求的提高,特別是OPC應(yīng)用在Internet遠(yuǎn)程網(wǎng)絡(luò)通信及跨平臺連接時,基于COM/DCOM的OPC標(biāo)準(zhǔn)逐漸不能滿足客戶需求。為此,OPC基金會正式于2003年推出了基于XML Web服務(wù)的最新標(biāo)準(zhǔn)OPC XML-DA規(guī)范1.0版。
2.2 OPC XML-DA
在OPC規(guī)范中,數(shù)據(jù)訪問(DA)規(guī)范具有極其重要的地位,因此研究得比較成熟,所以O(shè)PC基金會目前推出的基于Web服務(wù)的規(guī)范也初始定義在數(shù)據(jù)訪問規(guī)范上,即OPC XML-DA規(guī)范。使用基于Web服務(wù)作為遠(yuǎn)過程調(diào)用的方式有如下的優(yōu)勢:跨平臺,基于Internet/Intranet實(shí)現(xiàn)遠(yuǎn)程人機(jī)接口 (HMI),智能現(xiàn)場設(shè)備直接支持OPC。
OPC XML-DA規(guī)范的建立,用于將OPC數(shù)據(jù)向Internet上的應(yīng)用程序開放,實(shí)現(xiàn)了工業(yè)控制領(lǐng)域工廠底層與企業(yè)管理自動化的集成。OPC DA提供了不用開發(fā)專門的通信軟件就可以訪問設(shè)備的最好的方法,而OPC XML-DA又是實(shí)現(xiàn)遠(yuǎn)程和跨平臺數(shù)據(jù)交換的一種最好方法。它建立在OPC DA規(guī)范基礎(chǔ)上,是基于XML技術(shù)的接口規(guī)范[4],通過兩個Web Services的基礎(chǔ)技術(shù)XML和SOAP將數(shù)據(jù)暴露出來,用于連接高層ERP和其他企業(yè)應(yīng)用程序。它用SOAP作為對應(yīng)用程序共享消息進(jìn)行包裝的標(biāo)準(zhǔn)協(xié)議,使用WSDL對Web服務(wù)進(jìn)行描述,在OPC XML-DA客戶端和服務(wù)器之間通過HTTP協(xié)議傳輸Web服務(wù),標(biāo)準(zhǔn)化的XML詞匯使得工業(yè)應(yīng)用得到保障,所有過程控制系統(tǒng)可以采用相同的語言進(jìn)行數(shù)據(jù)信息交換,保證了應(yīng)用程序間的互操作,并實(shí)現(xiàn)與高層間共享和交換數(shù)據(jù)。
2.3 Web Service
利用OPC XML-DA實(shí)現(xiàn)在Internet遠(yuǎn)程監(jiān)控,需要在Web Service框架下完成。Web Service是在現(xiàn)有的各種異構(gòu)平臺的基礎(chǔ)上構(gòu)筑一個通用的與平臺、語言無關(guān)的技術(shù)層,不同的企業(yè)所開發(fā)的不同平臺上的各種應(yīng)用可以依靠這個技術(shù)層實(shí)現(xiàn)彼此的連接和集成[5]。Web Service通過標(biāo)準(zhǔn)的網(wǎng)絡(luò)協(xié)議向網(wǎng)絡(luò)用戶提供各種服務(wù),Internet上任何地點(diǎn)、任何平臺上的應(yīng)用程序只要符合Web Service的標(biāo)準(zhǔn)都可以從它的公共接口獲得服務(wù),使得不同的應(yīng)用程序在Internet上共享和交換數(shù)據(jù)更加的容易。Web Service的具體規(guī)范[6]如下:
1) 利用擴(kuò)展標(biāo)記語言XML描述傳輸信息。遠(yuǎn)程調(diào)用服務(wù)的過程通常需要傳遞參數(shù)和返回結(jié)果,在Web Service中,這些都使用XML進(jìn)行描述。良好的數(shù)據(jù)存儲格式、可擴(kuò)展性、高度結(jié)構(gòu)化、便于網(wǎng)絡(luò)傳輸使得XML可以更好的描述所傳輸?shù)臄?shù)據(jù)元素。
2) 以簡單對象訪問協(xié)議SOAP作為Web Service的調(diào)用協(xié)議。它是一種基于XML用于在應(yīng)用程序之間以對象的形式交換數(shù)據(jù)的表示層通信協(xié)議,是Web Services的核心,是用戶端與服務(wù)器端之間進(jìn)行溝通的特殊語言。SOAP協(xié)議有助于實(shí)現(xiàn)大量異構(gòu)程序和平臺之間的互操作性,從而使現(xiàn)存的應(yīng)用能夠被廣泛的用戶訪問。
3) 以Web服務(wù)描述語言WSDL描述Web Service相關(guān)信息。WSDL文檔中描述了所有公開函數(shù)的信息,所有XML消息的數(shù)據(jù)類型信息以及使用的特定的傳輸協(xié)議的信息和用于定位特定服務(wù)的地址信息。通過WDSL文檔,客戶端可以得到它需要的所有相關(guān)的Web Service的服務(wù)。
4) 統(tǒng)一描述、發(fā)現(xiàn)和集成協(xié)議UDDI。Web Service客戶端開發(fā)人員需要某種機(jī)制來確定有哪些可供使用的服務(wù),以及他們提供什么樣的服務(wù),如何調(diào)用這些服務(wù),開發(fā)商在Internet上公布如何推出自己的Web Service,這些都需要UDDI來完成,它提供了一種讓客戶端動態(tài)發(fā)布和查找Web Service的機(jī)制。
評論