用OPC實現(xiàn)IBMS的信息集成_第1頁
用OPC實現(xiàn)IBMS的信息集成_第2頁
用OPC實現(xiàn)IBMS的信息集成_第3頁
用OPC實現(xiàn)IBMS的信息集成_第4頁
用OPC實現(xiàn)IBMS的信息集成_第5頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

用OPC實現(xiàn)IBMS的信息集成摘要:本文介紹了OPC技術(shù)在智能建筑系統(tǒng)集成中的運用,設(shè)計了基于OPC技術(shù)的建筑物集成管理系統(tǒng)的模型,并給出了OPC數(shù)據(jù)訪問服務(wù)器和OPC在客戶端的具體實現(xiàn)方法。1引言智能建筑(IntelligentBuilding,IB)是20世紀80年代中期隨著控制技術(shù)的發(fā)展而出現(xiàn)的。到了現(xiàn)成,隨著計算機網(wǎng)絡(luò)和通信技術(shù)的發(fā)展,智能建筑、智能小區(qū)在我國已經(jīng)成為最熱門的話題之一。建筑物集成管理系統(tǒng)(IntegratedBuildingManagementSystem,IBMS)是一種以實現(xiàn)樓宇自動化系統(tǒng)集成為重點,廣泛涉及通信自動化系統(tǒng)和辦公自動化系統(tǒng)的集成系統(tǒng)。智能建筑系統(tǒng)的信息集成包括了底層控制網(wǎng)的集成、控制網(wǎng)與局域網(wǎng)的集成、局域網(wǎng)與信息網(wǎng)的集成。本文分析和研究了用OPC技術(shù)實現(xiàn)智能建筑信息集成的方法并給出了OPC服務(wù)器和OPC客戶端的具體實現(xiàn)方法。OPC的體系及服務(wù)模式OPC是一種設(shè)備服務(wù)器的標準接口,它能夠被連接到I/O裝置、PLC、現(xiàn)場總線等,該技術(shù)能提供一種即插即用的硬、軟件組合,使用戶很容易地將它們集成為完整的自動控制系統(tǒng)。目前,由于設(shè)備的不同和開發(fā)商的不同,各種自動化系統(tǒng)都設(shè)計了各自專用的接口,這樣就導(dǎo)致了不同的開發(fā)商設(shè)計生產(chǎn)的產(chǎn)品不能實現(xiàn)互相通信,因而不具有互操作性。而且,對大型的集成系統(tǒng)來說,在軟、硬件組件的選擇上受到很多的限制,浪費了大量的財力卻不能保證所集成系統(tǒng)的質(zhì)量。OPC標準出現(xiàn)以后,對于依據(jù)OPC標準軟、硬件組件來說,由于它們都遵循單一的、標準的通信規(guī)約,系統(tǒng)的集成變得容易了,系統(tǒng)的造價也會降低。利用OPC技術(shù)開發(fā)的服務(wù)器提供了現(xiàn)場設(shè)備與應(yīng)用軟件之間的接口,其體系結(jié)構(gòu)如圖1所示。C吶周破忡C吶周破忡1nrc的體舟搦構(gòu)在應(yīng)用程序一邊,有兩個接口:定制(CustomInterface)和自動接口(AutomationInterface)。定制接口主要用于用C/C++環(huán)境的高效率、高性能的應(yīng)用,自動接口主要用于腳本語言如VB、Delphi的應(yīng)用。在設(shè)備端,遵循OPC標準的現(xiàn)場設(shè)備可與OPC服務(wù)器通信,OPC服務(wù)器就相當于設(shè)備驅(qū)動器軟件。在這種結(jié)構(gòu)中,OPC服務(wù)器對現(xiàn)場設(shè)備而言是客戶端,而對應(yīng)用程序而言,它又是服務(wù)器端。這樣,OPC服務(wù)器在現(xiàn)場設(shè)備與應(yīng)用程序之間起到了接口的作用,使得應(yīng)用程序與設(shè)備之間的通信變得簡單易行。IBMS的設(shè)計思路OPC規(guī)范的引入,使得樓宇控制系統(tǒng)中硬件軟件的配置更加靈活。如圖2所示。UPC系統(tǒng)中硬件軟件設(shè)置由圖我們可以知道,硬件制造商只要開發(fā)出符合OPC規(guī)范的驅(qū)動程序(圖2中的OPC服務(wù)器),就可以一勞永逸,因為這個服務(wù)器能夠被所有符合OPC規(guī)范的客戶軟件所應(yīng)用。而應(yīng)用軟件開發(fā)商只要開發(fā)出帶OPC客戶接口的應(yīng)用軟件,就可以和所有提供OPC服務(wù)器的硬件或者其它軟件交互。這樣的系統(tǒng)可以很方便地修改和升級,增加一個設(shè)備(當然需要提供OPC服務(wù)器),所有的應(yīng)用軟件都可以與之進行數(shù)據(jù)交互;增加一個應(yīng)用軟件,只要它

能夠提供OPC客戶接口,那么它也能和所有的硬件進行數(shù)據(jù)交互。進一步地,如果將硬件設(shè)備驅(qū)動器程序和通信程序封裝成獨立的OPC服務(wù)器或者在一個軟件中既帶有OPC客戶接口,同時也能夠提供OPC服務(wù)器接口,那么它們就可以做到嵌入式運行。這樣做使得系統(tǒng)的模塊化、開放性、重用性和靈活性大大提高。不同廠商的應(yīng)用軟件和現(xiàn)場設(shè)備只要提供符合OPC規(guī)范接口,它們就可以很方便地集成到整個系統(tǒng)中去,從而可以系統(tǒng)的靈活配置和多個子系統(tǒng)的真正集成。本文所設(shè)計的智能建筑集成管理系統(tǒng)(IBMS)正是基于這樣一種思路。其系統(tǒng)總體結(jié)構(gòu)如圖3所示。1哼贍星」既場敬備1圍1哼贍星」既場敬備1圍3【I制S說憎悄給中如圖,各子系統(tǒng)通過OPC客戶接口與符合OPC規(guī)范的現(xiàn)場設(shè)備(目前,OPC基金會成員數(shù)已達到200多家,包括了世界上大多數(shù)比較著名的設(shè)備制造商)實現(xiàn)數(shù)據(jù)交互;而中央監(jiān)控站各應(yīng)用軟件亦通過OPC客戶接口與提供OPC服務(wù)器接口的各子系統(tǒng)實現(xiàn)數(shù)據(jù)交互。這樣,通過標準化的OPC客戶接口和OPC服務(wù)器接口,中央監(jiān)控站就可以和各子系統(tǒng)及現(xiàn)場設(shè)備進行數(shù)據(jù)通信,從而達到控制和管理的目的,實現(xiàn)了系統(tǒng)的集成。這樣的系統(tǒng),可以大量地使用不同生產(chǎn)商的硬件設(shè)備和應(yīng)用軟件,只要它們是符合OPC規(guī)范的,在系統(tǒng)的集成中就不會帶來任何困難。同時,采用OPC規(guī)范對于系統(tǒng)的修改和升級也帶來了極大的方便。在系統(tǒng)增加硬件設(shè)備或應(yīng)用軟件時,只需要求該硬件設(shè)備或應(yīng)用軟件符合OPC規(guī)范,即硬件設(shè)備需要提供OPC服務(wù)器接口,而應(yīng)用軟件需要帶有OPC客戶接口(至于應(yīng)用軟件是否需要帶有OPC服務(wù)器接口,這要根據(jù)實際應(yīng)用需要來確定。如果此應(yīng)用軟件還需要向上級應(yīng)用提供服務(wù),則必須帶有OPC服務(wù)器接口;否則不必帶OPC服務(wù)器接口),就可以方便地將硬件設(shè)備或應(yīng)用軟件加入到系統(tǒng)中,實現(xiàn)系統(tǒng)的無縫集成。OPC服務(wù)器的實現(xiàn)4.1OPC服務(wù)器OPC服務(wù)器規(guī)范包括3種:OPC數(shù)據(jù)訪問規(guī)范、OPC報警與事件規(guī)范和OPC歷史數(shù)據(jù)訪問規(guī)范。OPC數(shù)據(jù)訪問(DataAccess)規(guī)范從總體上說,一個OPC數(shù)據(jù)服務(wù)器包括三類對象:服務(wù)器(Server)、組(Group)和項(Item)。OPC服務(wù)器對象維護有關(guān)服務(wù)器的信息并用作OPC組對象的容器,而OPC組對象維護組的信息,提供包容OPC項的機制,并管理OPC項。OPC組提供了客戶程序組織數(shù)據(jù)的手段。有兩種類型的組:公共(Public)組和局部(Local)組。公共組可以被多個客戶共享,而局部組只能被一個客戶使用。每個組中都可以定義一個或多個OPC項。OPC項代表了與服務(wù)器中的數(shù)據(jù)的連接??蛻舫绦?qū)PC項的操作都是通過包容此項的OPC組來進行的,而不是直接把OPC項作為一個對象來操作。每個OPC項都有值(Value)。品質(zhì)(Quality)和時間戳(TimeStamp)三個屬性。OPC報警與事件(AlarmsandEvents)規(guī)范通過OPC報警與事件規(guī)范提供的機制,當I/O設(shè)備中有指定的事件或報警條件發(fā)生時,OPC客戶程序可以得到通知。通過此接口,OPC客戶程序還可以知道OPC服務(wù)器支持哪些事件和條件,并能得到其當前狀態(tài)。OPC歷史數(shù)據(jù)訪問(HistoricalDataAccess)規(guī)范目前OPC規(guī)范支持以下歷史數(shù)據(jù)服務(wù)器。?簡單趨勢數(shù)據(jù)服務(wù)器它只提供原始數(shù)據(jù)和簡單存儲功能。?復(fù)合數(shù)據(jù)壓縮和分析服務(wù)器它可以提供數(shù)據(jù)壓縮功能以及數(shù)據(jù)匯總與分析功能,如平均值、最大值、最小值等。4.2數(shù)據(jù)訪問服務(wù)器的實現(xiàn)OPC數(shù)據(jù)訪問服務(wù)器對象提供了一種訪問(讀/寫)數(shù)據(jù)源的方法??蛻裟茉L問什么類型的數(shù)據(jù)源由服務(wù)器對象執(zhí)行的功能決定。OPC標準規(guī)定了兩種數(shù)據(jù)訪問服務(wù)器對象接口,即OPC數(shù)據(jù)訪問定制接口和OPC數(shù)據(jù)訪問自動化模型。OPC數(shù)據(jù)訪問定制接口以C++語言開發(fā),適用于C++或VC++客戶應(yīng)用程序;OPC數(shù)據(jù)訪問自動化模型是為需要使用OPC自動化接口即使用VB或Delphi等語言的客戶應(yīng)用程序而設(shè)計,該服務(wù)器對象的服務(wù)規(guī)則是通過對象的屬性、方法和事件的組合來實現(xiàn)的。本文按照OPC數(shù)據(jù)訪問自動化規(guī)范來設(shè)計數(shù)據(jù)訪問服務(wù)器對象。根據(jù)OPC數(shù)據(jù)訪問自動化規(guī)范并結(jié)合樓宇自動控制的實際,本文設(shè)計數(shù)據(jù)服務(wù)器對象的層次模型,如圖4所示。在圖4中,數(shù)據(jù)訪問服務(wù)器是我們必須創(chuàng)建的,它包容了一個現(xiàn)場設(shè)備組(FDs)和創(chuàng)建了一個OPC瀏覽器對象?,F(xiàn)場設(shè)備組包容了在本服務(wù)器中所有創(chuàng)建的現(xiàn)場設(shè)備(FD)。現(xiàn)場設(shè)備對象的作用是維護狀態(tài)信息和為數(shù)據(jù)訪問服務(wù)提供一種機制。數(shù)據(jù)組(Datas)包容了本服務(wù)器中所有創(chuàng)建的數(shù)據(jù)對象(Data),并與現(xiàn)場設(shè)備相對應(yīng)。數(shù)據(jù)對象維護本項的定義、當前值、狀態(tài)信息和最后更新時間。OPC瀏覽器對象在服務(wù)器的配置中命名,一個OPC服務(wù)器對象僅存在一個OPC瀏覽器對象。前文提到,數(shù)據(jù)訪問服務(wù)器對象的訪問規(guī)則是通過對象的屬性、方法和事件來實現(xiàn)的。這可以通過數(shù)據(jù)訪問服務(wù)器的對象類設(shè)計來說明。(l)DataAccServer類DataAccServer是由客戶應(yīng)用程序?qū)嵗模粋€OPCServerConnect方法,用于幫助客戶獲得DataAccServer的一個實例,ServerShutDown用于釋放對該服務(wù)器對象的引用。GetOPCServers方法用于返回已注冊的服務(wù)器的名字(ProgIDs),將名定(ProgIDs)之一用于PCServerConnect方法中。實例化一個數(shù)據(jù)訪問服務(wù)器的例子如下:連接到第一個從GetOPCServers返回的已注冊的OPC服務(wù)器對象DimAllOPCScnersAsVariaTiiAllOPCServer=DataAccServerFell)PCServersDataAccServer.Connect三(AllOPflSenersDataA<^:Server,Connect-(AllOPCSenrfirs(!)}+(?)FD的實例為FD1,F(xiàn)D2,……。FD類除了包含所有附于OPCGroup的屬性外,還根據(jù)樓宇自動控制的需要增加了FDNo,ChanNo,和UpDataRate等。FDs集合FDs集合不僅可以使客戶訪問DataAccServer的FDs集合,通過其Item方法還可以訪問單一的FD對象°Add方法用于增加一個FD對象,Remove方法用來刪除一個FD對象,PropertySet方法用來修改FD對象的屬性值。訪問FDs中一個FD對象的例子如下:niffl AsOPCGmjpSti-MOPCGnsup三FDtIh*“HW)+'或?f‘WAnOPCGraip=Wf說丁岫方法是FDf的缺省一堪加一個m>J象W儀如下實現(xiàn):FikDr^jll(Jroupi>AcljvrzrTnir剖珈HJiwup-FD^.Add(^AnOPCCniupNdttie}Data類Data類包含了實時數(shù)據(jù)的所有屬性,如值(Value),品質(zhì)(Quality),時間戳(TimeStamp)等。Read方法實現(xiàn)從Cache中讀數(shù)據(jù),Write方法實現(xiàn)向Cache寫數(shù)據(jù)。Data類的實例為Data1,Data2, ,實際上是從現(xiàn)場設(shè)備得來得一些溫度、壓力等數(shù)據(jù)。與數(shù)據(jù)的例子:PnnifSubIX'rit^liiJttiJH—Ctick(tAnnpcrteinasOl^CJtrrn如OPChem= ISrHtirtii'niScn'crKahdlrIDimValueAsVuHiintVaJus*2001AnOPCHcmWri曲ValueEndEubDatas集合Datas集合是客戶應(yīng)用程序可以對一組Data對象進行操作。用AddItem方法增加一個Data對象,用Remove方法刪除一個Data對象,SetDataTypes方法則用來設(shè)置Data對象的數(shù)據(jù)類型。伽一個服電對象的例予:OimAnOl^ZLlrmEI)asHiringl?jmAndlicntHantUeunLairi|偵)PClt就JIHNS;。"ArtCJjrnlHandlr=2001AnOPCIteniCoHrrLHin.-\ddllrmAni ti-nJF)Ai]Ch"iuHjuidltr4.3OPC客戶端的實現(xiàn)客戶應(yīng)用程序訪問OPC服務(wù)器是通過調(diào)用OPC數(shù)據(jù)訪問服務(wù)器所提供的方法、屬性和事件來實現(xiàn)的。在實現(xiàn)過程中,首先必須獲取OPC服務(wù)器中的OPCServer對象,OPCServer是客戶應(yīng)用程序訪問OPC服務(wù)器的唯一入口和實例化點。其次,用OPCGroup類的ADDGroup方法創(chuàng)建Group類對象。繼而創(chuàng)建Item對象。在獲取Item對象后,就可以進行各種讀寫操作了。在整個過程中,客戶應(yīng)用程序不需要理解OPC數(shù)據(jù)訪問服務(wù)器的內(nèi)部設(shè)計,而只需按照OPC服務(wù)器所要求的格式調(diào)用方法、屬性和事件來實現(xiàn)就可以了。客戶程序讀取數(shù)據(jù)的例子:Sei0PtMwrr=1上戶以WjecHFeeAcrSt-r^rr")'創(chuàng)理口;-Servci-對象&IfJPCGroup=(微:Htfvm^ddGronp「“ *')'株取OPCGrwp射象O^CGwup-AcEdEltimf"AnOHJtwcttlXiijne")SetOl^CIlem]-OPCGroup. '創(chuàng)建口叫:如沖『j(f象郝dPrivateS妁RudB岷頑lick(),從服務(wù)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論