摘 要:在對提出了基于OPC XML的建筑智能化系統集成模型,對.NET實現OPC XML Web服務的技術框架進行了研究。采用Advosol公司提供的OPCCOM服務器來模擬一個智能建筑中央系統監控設備的OPC COM服務器,利用OPC XML Web服務來對上述OPC COM服務器進行訪問,開發客戶端應用程序實現了對 OPC XML Web服務的調用,驗證了基于OPCXML Web服務的建筑智能化系統集成模型的可行性。
關鍵詞:OPC XML;建筑智能化;集成;技術;實現
中圖分類號:TK262 文獻標識碼:A 文章編號:1672-3198(2007)09-0259-02
1 OPC XML支持Internet的跨平臺集成
目前在過程控制領域,很多公司在各種商業利益和競爭壓力的驅使下紛紛將各種智能設備監控、維護、管理應用向Internet遷移,以增強企業產品在業務操作和高層管理決策方面的靈活性,最大程度地滿足各種用戶需求。
利用OPC XML技術來實現任何文件格式數據的Internet共享和交換,從而在控制系統和信息系統方面獲得較高的集成度,實現從底層的控制系統到高層的應用程序的縱向信息系統集成,為實時數據嵌入基于Web服務的應用程序中提供更好的方式,進一步滿足對各種信息的共享和交換需要,因此,OPC XML使得從控制層到管理層系統集成變得非常容易。
另外,OPC XML提供了通過Internet發布OPC數據信息和自動化過程控制系統集成提供更為廣泛的連接能力,為非Microsoft操作系統平臺發布OPC數據信息提供一種數據信息轉換機制。如圖1所示:

2 基于OPC XML的建筑智能化系統集成模型
目前,建筑智能化系統集成內容相當廣泛,涉及到樓宇自控系統、安防系統、消防報警系統等多個子系統,但是子系統與子系統之間、系統運行與管理之間往往相互分割,難以協同,成為一個個“信息孤島”,無法滿足符合人性化的4A(Anywhere, Anytime, Anyhow, Value-Added)智能建筑管理或服務需求,更無法滿足基于Web的一體化智能建筑系統集成需求。如何實現智能建筑的高層信息集成以突破各子系統獨立運行帶來信息交換上的瓶頸,使各應用系統之間,實現高度融合和協調運行,從而滿足與建筑內的設備、辦公、信息溝通、管理、服務的全面、動態的4A需求,已成為行業關注的熱點,智能建筑已進入基于Internet的一體化信息集成的時代。

基于COM/DCOM的OPC早期技術OPC DA和OPC DX雖然帶來了更大的開放性、互聯性、高效性,智能設備即插即用,實現靈活、高效、方便地獲取數據。但是,OPC DA和OPC DX并不適合于客戶端通過Internet訪問現場設備數據,不能有效解決前面提到的一體化、人性化的4A智能建筑管理或服務需求。
利用OPC XML技術,將OPC XML Web服務的技術優勢引入建筑智能化領域,提出了如圖2所示基于OPC XML的建筑智能化系統集成模型,能夠完整地解決基于Internet的一體化智能建筑系統集成需求。
該應用模型的主要設計目標是:集成智能建筑中已有的分散的子系統,讓其中的底層智能設備橫跨Internet工作,將管理、分析、控制等功能集成到統一的界面上,實現各個智能建筑子系統的集成管理及協同工作,實現與建筑內的設備、辦公、信息溝通、管理、服務的全面、動態的4A需求。
3 模型核心技術OPC XML Web服務的實現
OPC XML Web服務是基于OPC XML的建筑智能化系統集成應用模型的核心。OPC XML Web服務最常見的實現形式就是XML-DA服務器端網關,即將OPC DA服務器作為一個.NET Web服務來實現。網關安裝在OPC-DA服務器端。通過網關,XML-DA客戶端能夠從遠程訪問OPC DA服務器,帶有OPC服務器的設備不必升級。接下來以XML-DA服務器端網關的實現方式為例來進行模型核心技術實現。
XML-DA服務器端網關是將OPC DA服務器作為一個.NET Web服務來實現。因為OPC COM DA設備的實質就是將設備數據用COM曝露出來,數據是存儲在設備數據庫里的,實現XML-DA服務器端網關時無須關心底層現場設備的細節。OPC XML Web服務服務器下面連接的子系統采用Advosol公司提供的OPCCOM服務器來模擬。安裝XDANetSrv開發軟件包后就自動安裝了一個名為“TS.DA3CBCS DA Server”的。PC DA服務器,它是一個DOOM組件。在接下來的實驗中,用它來模擬智能建筑中央系統監控設備的OPC COM服務器。這樣,就可以將注意力主要放在高層的信息集成,即實現OPC XML Web服務和應用。
Visual Studio.NET是一套完整的開發工具,用于生成ASP Web應用程序、XML Web服務、桌面應用程序和移動應用程序。.NET Framework框架封裝了實現Web服務的協議,簡化了XML Web服務和ASP Web應用程序的開發。模型的技術實現采用.NET的Web服務開發工具,包括:Microsoft .NET Framework SDK, Microsoft XML 4.0 Parser and SDK, MicrosoftSOAP Toolkit 2.0,Microsoft UDDI SDK v1.5.2。
Web服務描述語言工具(Wsdl.exe):從Web服務描述語言(WSDL)文件、XML架構定義(XSD)架構文件和.discomap發現文檔生成XML Web服務和XML Web服務客戶端的代碼。
Web服務發現工具(Disco.exe):發現位于Web服務器上的XML Web服務的URL,并在本地磁盤上保存與每個XML Web服務相關的文檔。
XML架構定義工具(Xsd.exe):生成遵從www聯合會(W3C)提出的XML架構定義(XSD)語言的XML架構。此工具從XSD架構文件生成公共語言運行庫類和數據集類。
由此建立基于.NET的OPC XML-DA Web服務的軟件開發環境:服務器端,Windows 2003/2000/XP,IIS(Internet Information Services),ASP.NET and the .NETFramework, DCOM, RAD環境,Microsoft Visual Studio .NET;客戶端應用程序可以運行在Windows95/98/ ME/ NT/ 2000/2003上。C#是微軟為.NET平臺量身訂做的語言,特別適合組件的開發,對于模型實現,采用C#語言進行程序設計。
XML Web服務建立在.NET Framework和公共語一言運行庫之上,由于XML Web服務的基礎結構是遵照SOAP, XML和WSDL等行業標準生成的,這使來自其他平臺的客戶端可以和XM L Web服務進行交互。只要客戶端可以發送根據服務說明進行格式化、符合標準的SOAP消息,該客戶端就可以調用使用ASP NET創建的XML Web服務,而與該客戶端所駐留的平臺無關。XM L Web服務不是用來替代DCOM的,它是一個消息處理基礎結構,用于通過使用XML行業標準跨平臺進行通信。
在.NET框架下,可以通過如圖3所示的技術路線來實現OPC XML-DA Web服務。在OPC XML-DA Web服務器端:OPC FOUNDATION提供了標準的OPCXML DA WSDL,可以使用微軟的工具WSDL.EXE導入自動生成代理,也可以直接在VS.NET里面添加WEB引用。導入過后自動生成了一些供客戶端使用的代理,并建立主干Web服務程序,它是Web服務框架的一部分,它為框架建立接口代碼。OPC XML-DA服務供應商根據相應的OPC XML-DA規格和應用需求來實現具體的Web服務程序。OPCXML-DA服務器開發者不需要XML和SOAP方面的知識。

OPC XML-DA Web客戶端:開發OPC XML-DA客戶端應用不需要XML和SOAP方面的知識,開發者通常不使用Web服務的SOAP方法接口描述。使用Web服務說明的WSDL文檔,用Wsdl.exe工具創建一個代理類,客戶端可以調用該代理類的方法來執行Web服務。Web引用是一個已經生成的代理類,它在本地表示XML Web服務公開的功能。該代理類定義的方法表示XML Web服務所公開的實際方法。當客戶端應用程序創建了代理類的一個實例時,它就能夠調用XML Web服務方法,就好像XML Web服務是一個可在本地使用的組件一樣。Web引用簡化了XML Web服務客戶端應用程序的開發。
參考文獻
[1]王波,卿曉霞.智能建筑導論[M].北京:高等教育出版社,2005.
[2]王波.智能建筑辦公自動化系統[M].北京:人民交通出版社,2004.
[3]高亮.OPC技術在智能建筑系統集成中的應用[J].智能建筑,2006,(13).
[4]徐智勇,李德華,許立梓.用OPC實現IBMS集成[J].白動化技術與應用,2005,(2).