下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
/OPC及OPC服務(wù)器的設(shè)計(jì)和實(shí)現(xiàn)上海自動(dòng)化儀表股份有限公司技術(shù)中心張慶軍摘要:簡(jiǎn)要介紹了OPC原理,OPC規(guī)范以及小型DCS限制系統(tǒng)OPC服務(wù)器的設(shè)計(jì)和實(shí)現(xiàn)。關(guān)鍵詞:OPCCOMDCOMDCS一引言O(shè)PC(OLEforprocesscontrol)是一個(gè)工業(yè)標(biāo)準(zhǔn)。它是由一些世界上占據(jù)先地位的自動(dòng)化系統(tǒng)和硬件、軟件公司和微軟合作而建立的、滿意開(kāi)放性的和互操作性的接口標(biāo)準(zhǔn)。OPC標(biāo)準(zhǔn)的建立基于微軟的COM技術(shù)規(guī)范,并由OPC基金會(huì)這個(gè)國(guó)際組織管理。OPC為不同廠商的硬件設(shè)備、軟件和系統(tǒng)定義了公共的接口,使得過(guò)程限制和工廠自動(dòng)化中的不同系統(tǒng)、設(shè)備和軟件之間能夠相互連接、通信、操作。一般在限制系統(tǒng)中,包含過(guò)程畫面的軟件(如SCADA軟件)在和現(xiàn)場(chǎng)設(shè)備通信的時(shí)候,常采納如下的方法:1,采納標(biāo)準(zhǔn)的通信協(xié)議,如profibus、modbus、HART、CAN總線等,因?yàn)楸O(jiān)控管理軟件和現(xiàn)場(chǎng)設(shè)備采納同樣通信協(xié)議,所以監(jiān)控管理軟件不須要對(duì)現(xiàn)場(chǎng)設(shè)備的驅(qū)動(dòng)程序。2,對(duì)于沒(méi)有采納標(biāo)準(zhǔn)的通信協(xié)議的設(shè)備,監(jiān)控管理軟件須要在設(shè)備制造商的協(xié)作下為這些設(shè)備開(kāi)發(fā)驅(qū)動(dòng)程序。這種方式雖然執(zhí)行效率比較高,但兼容性差,軟件供應(yīng)者必需對(duì)每一種接入的設(shè)備開(kāi)發(fā)驅(qū)動(dòng)程序,設(shè)備制造商也必需供應(yīng)設(shè)備的通信協(xié)議。組態(tài)監(jiān)控軟件現(xiàn)場(chǎng)設(shè)備標(biāo)準(zhǔn)通信協(xié)議設(shè)備驅(qū)動(dòng)程序標(biāo)準(zhǔn)通信協(xié)議設(shè)備驅(qū)動(dòng)程序OPC服務(wù)器OPC接口3,通過(guò)OPC這個(gè)開(kāi)放協(xié)議和過(guò)程限制或其他系統(tǒng)軟件進(jìn)行通信,這種方式的優(yōu)點(diǎn)在于:不管硬件設(shè)備是否運(yùn)用標(biāo)準(zhǔn)的通訊協(xié)議,制造商只需供應(yīng)一套OPC服務(wù)器,即可支持大部分的組態(tài)監(jiān)控軟件現(xiàn)場(chǎng)設(shè)備標(biāo)準(zhǔn)通信協(xié)議設(shè)備驅(qū)動(dòng)程序標(biāo)準(zhǔn)通信協(xié)議設(shè)備驅(qū)動(dòng)程序OPC服務(wù)器OPC接口限制系統(tǒng)中往往混合有多種協(xié)議,有符合不同的現(xiàn)場(chǎng)總線標(biāo)準(zhǔn)的設(shè)備,也有廠商運(yùn)用自定義通信協(xié)議的設(shè)備,因而開(kāi)放性很差。供應(yīng)過(guò)程畫面的軟件在配置這樣的系統(tǒng)的時(shí)候會(huì)特別困難,用戶往往只能選擇單一設(shè)備制造商供應(yīng)的產(chǎn)品,但假如每個(gè)設(shè)備的通信協(xié)議都配置了OPC服務(wù)器,由OPC服務(wù)器封裝這些協(xié)議,并通過(guò)標(biāo)準(zhǔn)的接口給供應(yīng)過(guò)程畫面的軟件,這樣供應(yīng)過(guò)程畫面的軟件就可以通過(guò)標(biāo)準(zhǔn)的OPC接口實(shí)現(xiàn)和設(shè)備的互連,對(duì)于軟件來(lái)說(shuō)就不須要實(shí)現(xiàn)諸多的通信協(xié)議,對(duì)于用戶來(lái)說(shuō)就可以提高選擇產(chǎn)品的自由度。由上海自動(dòng)化儀表股份有限公司技術(shù)中心開(kāi)發(fā)的新一代全數(shù)字化小型DCS限制系統(tǒng),在數(shù)據(jù)訪問(wèn)中運(yùn)用了OPC技術(shù),并開(kāi)發(fā)了OPC服務(wù)器,使得該限制系統(tǒng)向各種管理系統(tǒng)開(kāi)放。二COM/DCOM和OPCCOM(ComponentObjectModel,組件對(duì)象模型),是一種獨(dú)立于語(yǔ)言的組件規(guī)范,并供應(yīng)了實(shí)現(xiàn)交互的環(huán)境,可以生成二進(jìn)制級(jí)別的可重用組件。事實(shí)上我們平常常見(jiàn)的OLE(objectlinkingandembedding,對(duì)象鏈接和嵌入)技術(shù)和ActiveX技術(shù)都是以COM規(guī)范為基礎(chǔ)的,用于過(guò)程限制中的OPC技術(shù)也是以COM規(guī)范為基礎(chǔ)的。在OLE最初的版本OLE1中,組件程序和客戶程序之間的通信沒(méi)有采納COM接口技術(shù),而是采納了DDE(dynamicdataexchange,動(dòng)態(tài)數(shù)據(jù)交換)技術(shù),DDE是建立在windows消息機(jī)制的基礎(chǔ)上的,用于進(jìn)程間的數(shù)據(jù)交換技術(shù)。由于DDE技術(shù)存在效率低、穩(wěn)定性差、運(yùn)用不便等缺點(diǎn),在OLE技術(shù)發(fā)展到OLE2的時(shí)候,已經(jīng)成為運(yùn)用COM架構(gòu)的軟件系統(tǒng)。COM組件通過(guò)接口繼承的方式分別了接口和實(shí)現(xiàn),客戶只能通過(guò)接口來(lái)訪問(wèn)COM組件的實(shí)現(xiàn),實(shí)現(xiàn)的細(xì)微環(huán)節(jié)對(duì)于客戶來(lái)說(shuō)是不行見(jiàn)的。COM組件的接口是用128位的全球唯一標(biāo)識(shí)符號(hào)(GUID,GloballyUniqueIdentifier)標(biāo)識(shí)的。在OPC基金會(huì)供應(yīng)的IDL文件中,定義了一系列由GUID標(biāo)識(shí)的接口以及接口方法的原型。這樣,現(xiàn)場(chǎng)設(shè)備的硬件廠家實(shí)現(xiàn)的OPC服務(wù)器組件,是基于OPC基金會(huì)定義的接口,并在組件中實(shí)現(xiàn)接口的方法;供應(yīng)過(guò)程畫面的軟件廠商作為客戶端,在訪問(wèn)現(xiàn)場(chǎng)設(shè)備的時(shí)候也是基于OPC基金會(huì)定義的接口,并通過(guò)OPC服務(wù)器對(duì)象實(shí)現(xiàn)的方法完成數(shù)據(jù)通信。COM組件還分為進(jìn)程內(nèi)組件和進(jìn)程外組件,假如以DLL(動(dòng)態(tài)連接庫(kù))的方式實(shí)現(xiàn)組件程序,就稱為進(jìn)程內(nèi)組件,進(jìn)程內(nèi)組件程序運(yùn)行在客戶程序的地址空間里,因此效率比較高,但其嚴(yán)峻的錯(cuò)誤會(huì)引起客戶進(jìn)程的崩潰。以EXE方式實(shí)現(xiàn)的組件程序是進(jìn)程外組件,進(jìn)程外組件程序和客戶程序運(yùn)行在各自獨(dú)立的地址空間,穩(wěn)定性較好。對(duì)于進(jìn)程外組件,客戶程序調(diào)用的是代理對(duì)象,通過(guò)LPC/RPC和進(jìn)程外組件的存根代碼進(jìn)行通信??梢酝ㄟ^(guò)定義COM接口的IDL文件來(lái)實(shí)現(xiàn)代理程序和存根程序。OPC規(guī)范也考慮了跨進(jìn)程調(diào)用的問(wèn)題,供應(yīng)了用于跨進(jìn)程調(diào)用的Proxy(代理)DLL和Stub(存根)DLL,實(shí)現(xiàn)了對(duì)OPC客戶程序的進(jìn)程透亮性。DCOM(DistributedCOM,分布式的COM),是COM的擴(kuò)展,它可以支持不同計(jì)算機(jī)上的組件對(duì)象和客戶進(jìn)行通信,這樣組件對(duì)象可以分布在局域網(wǎng)、廣域網(wǎng)或者互聯(lián)網(wǎng)上。通過(guò)DCOM架構(gòu),COM組件和客戶程序不須要考慮低層的網(wǎng)絡(luò)協(xié)議等問(wèn)題,就可以實(shí)現(xiàn)多層次的分布式應(yīng)用系統(tǒng)。OPC服務(wù)器組件通過(guò)DCOM的配置也可以很便利的實(shí)現(xiàn)分布式的應(yīng)用,實(shí)現(xiàn)對(duì)OPC客戶程序的位置透亮性。三OPC規(guī)范簡(jiǎn)介 OPC定義了一系列規(guī)范來(lái)滿意多種系統(tǒng)和設(shè)備之間數(shù)據(jù)通信的需求。主要包括OPC數(shù)據(jù)存取規(guī)范、OPC報(bào)警和事務(wù)處理規(guī)范、OPC歷史數(shù)據(jù)處理規(guī)范等。OPC規(guī)范只是定義了COM接口,OPC服務(wù)器供應(yīng)者必需去實(shí)現(xiàn)這些接口和方法。OPC服務(wù)器通過(guò)OPC規(guī)范定義了OPCCOM組件的接口實(shí)現(xiàn)對(duì)數(shù)據(jù)源進(jìn)行存?。ㄗx/寫)或通信的方法等,數(shù)據(jù)源可以是現(xiàn)場(chǎng)的I/O設(shè)備,也可以是其它的應(yīng)用程序。通過(guò)OPC服務(wù)器中COM組件供應(yīng)的接口,OPC客戶程序可以通過(guò)一個(gè)或多個(gè)廠商供應(yīng)的OPC服務(wù)器來(lái)對(duì)數(shù)據(jù)源進(jìn)行存?。ㄗx/寫)或通信。OPC規(guī)范包含了自動(dòng)化接口(AutomationInterface)和OPC定制接口(CustomInterface)兩套接口的定義。自動(dòng)化接口主要為一些用腳本語(yǔ)言編寫的客戶程序設(shè)計(jì),C++編寫的客戶程序在訪問(wèn)定制接口的時(shí)候,可以獲得較高的性能,OPC服務(wù)器必需實(shí)現(xiàn)定制接口。OPC數(shù)據(jù)存取規(guī)范主要定義的是OPCDAServer(數(shù)據(jù)存取服務(wù)器)。OPCDAServer主要包含服務(wù)器對(duì)象(ServerObject)、組對(duì)象(GroupObject)和項(xiàng)對(duì)象(ItemObject)。OPC服務(wù)器對(duì)象負(fù)責(zé)維護(hù)著服務(wù)器的信息,同時(shí)也是OPC組對(duì)象的包涵器,如可以完成添加刪除OPCGroup等功能。OPC組對(duì)象維護(hù)著OPCGroup的信息并供應(yīng)包涵OPC項(xiàng)的機(jī)制,同時(shí)管理OPC項(xiàng)對(duì)象。OPC項(xiàng)對(duì)象代表了和服務(wù)器里數(shù)據(jù)源的連接,例如:在DCS系統(tǒng)中定義的可以讓OPC客戶程序訪問(wèn)的標(biāo)簽(TAG)。在OPC項(xiàng)中沒(méi)有定義外部接口,OPC組供應(yīng)了對(duì)OPC項(xiàng)的操作。每個(gè)OPC項(xiàng)包含值(Value)、品質(zhì)(Quality)和時(shí)間標(biāo)簽(TimeStamp,表示獲得數(shù)據(jù)的時(shí)間)。OPC報(bào)警和事務(wù)處理規(guī)范定義了OPC服務(wù)器發(fā)生異樣時(shí)或OPC服務(wù)器設(shè)定事務(wù)到來(lái)時(shí)向OPC客戶程序發(fā)送通知的一種機(jī)制。OPC歷史數(shù)據(jù)處理規(guī)范的實(shí)現(xiàn),可以使OPC客戶端能夠存取OPC服務(wù)器中歷史數(shù)據(jù)等。OPCOPC客戶端OPCServerOPC接口OPCGroupOPCItemOPCItemOPCItemOPCGroupOPCItemOPCItem驅(qū)動(dòng)程序PLC,DCS,分布式IO等工廠網(wǎng)絡(luò)系統(tǒng)工廠數(shù)據(jù)庫(kù)四OPC服務(wù)器的設(shè)計(jì)和實(shí)現(xiàn)我們開(kāi)發(fā)的小型DCS限制系統(tǒng)運(yùn)用了OPC服務(wù)器后,實(shí)現(xiàn)了對(duì)主流的監(jiān)控軟件(一般都有OPC接口)的兼容,監(jiān)控軟件等OPC客戶程序可以很便利的訪問(wèn)和設(shè)置DCS中的數(shù)據(jù),下圖是簡(jiǎn)化的系統(tǒng)的連接圖。OPCOPC服務(wù)器主限制器管理網(wǎng)絡(luò)OPC客戶端OPC客戶端主限制器限制網(wǎng)絡(luò)OPC服務(wù)器須要實(shí)現(xiàn)的主要功能就是依據(jù)限制系統(tǒng)的組態(tài)信息,實(shí)現(xiàn)OPC服務(wù)器對(duì)象,組對(duì)象等,并通過(guò)OPC驅(qū)動(dòng)程序?qū)崿F(xiàn)和DCS系統(tǒng)中主限制器的通信,獲得現(xiàn)場(chǎng)數(shù)據(jù)或設(shè)置現(xiàn)場(chǎng)數(shù)據(jù)項(xiàng)等。OPC服務(wù)器軟件主要分為OPC服務(wù)器對(duì)象模塊、服務(wù)器界面模塊和OPC驅(qū)動(dòng)程序模塊,三個(gè)模塊通過(guò)同一塊內(nèi)存數(shù)據(jù)區(qū)來(lái)共享數(shù)據(jù),通過(guò)線程的同步和互斥等技術(shù)的運(yùn)用,可以解決共享數(shù)據(jù)區(qū)的愛(ài)護(hù)問(wèn)題。各個(gè)模塊的主要功能如下:1服務(wù)器界面模塊服務(wù)器界面程序主要完成依據(jù)組態(tài)信息,完成OPCGroup對(duì)象和OPCItem對(duì)象的添加,并采納樹(shù)形結(jié)構(gòu)閱讀查看的內(nèi)存數(shù)據(jù)區(qū)中的數(shù)據(jù)項(xiàng)(TAG),如數(shù)字量信號(hào)輸入卡的輸入信號(hào)等。2OPC驅(qū)動(dòng)程序模塊OPC驅(qū)動(dòng)程序主要是通過(guò)TCP/IP協(xié)議實(shí)現(xiàn)了和多臺(tái)主限制器的通信,來(lái)實(shí)現(xiàn)OPC服務(wù)器的驅(qū)動(dòng)部分(通過(guò)對(duì)驅(qū)動(dòng)程序的替換,可以實(shí)現(xiàn)其它產(chǎn)品的OPC服務(wù)器)。3OPC服務(wù)器對(duì)象模塊OPC服務(wù)器對(duì)象模塊是OPC服務(wù)器程序和OPC客戶程序的交互部分,主要依據(jù)的是OPC基金會(huì)的數(shù)據(jù)存取規(guī)范來(lái)實(shí)現(xiàn)。一般須要實(shí)現(xiàn)OPCServer,OPCGroup,EnumOPCItemAttributes等對(duì)象,其中OPCServer對(duì)象須要實(shí)現(xiàn)IOPCCommon,IOPCServer,IOPCItemProperties,IConnectionPointContainer等接口的方法;OPCGroup對(duì)象須要實(shí)現(xiàn)IOPCSyncIO,IOPCGroupStateMgt,IOPCAsyncIO2,IOPCItemMgt,IConnectionPointContainer等接口的方法;EnumOPCItemAttributes須要實(shí)現(xiàn)IEnumOPCItemAttributes接口的方法。接口方法的原型參照OPCDa.idl中的定義。在對(duì)OPC服務(wù)器和客戶端的開(kāi)發(fā)中運(yùn)用IDE的是MicrosoftVisualC++,其中OPCServer對(duì)象,OPCGroup對(duì)象等COM組件的定義和實(shí)現(xiàn)運(yùn)用了微軟的ATL(ActiveTemplateLibrary活動(dòng)模板庫(kù))技術(shù)。下面的一段代碼示范了OPC客戶端對(duì)OPC服務(wù)器IOPCServer接口GetStatus()方法的訪問(wèn)(客戶端可以通過(guò)GetStatus方法獲得服務(wù)器起先工作的時(shí)間、更新、名稱等信息)。OPC客戶程序:{…CoInitialize(NULL);//初始化COM環(huán)境…//略IOPCServer *pSvr=NULL;//定義IOPCServer接口指針HRESULThr=CoCreateInstance(CLSID_OPCServer,NULL,CLSCTX_ALL,IID_IOPCServer,(void**)&pSvr);//注:OPCDa2.0可以通過(guò)IOPCServerList調(diào)用OPCServerList獲得OPCServer的CLSIDOPCSERVERSTATUS*pServerStatus;//定義OPCServer狀態(tài)的結(jié)構(gòu)pSvr->GetStatus(&pServerStatus);//獲得OPCServer返回的狀態(tài)…pSvr->Release();//釋放IOPCServer接口指針CoUninitialize(); ////結(jié)束COM環(huán)境}OPC服務(wù)器程序: classATL_NO_VTABLECOPCServer: publicCComObjectRootEx<CComSingleThreadModel>, publicCComCoClass<CMeSvr,&CLSID_MeSvr>,publicIOPCServer…//定義OPCServer{…STDMETHOD(GetStatus)(OPCSERVERSTATUS**ppServerStatus){if(ppServerStatus==NULL)returnE_INVALIDARG;//錯(cuò)誤的調(diào)用OPCSERVERSTATUS*pServerStatus;//定義OPCServer狀態(tài)的結(jié)構(gòu)pServerStatus=(OPCSERVERSTATUS*)pM->Alloc(sizeof(OPCSERVERSTATUS));//安排內(nèi)存if(pServerStatus){pServerStatus->szVendorInfo=VendorInf;//制造商信息pServerStatus->ftStartTime=svrStartTime;//OPCServer起先工作時(shí)間CoFileTimeNow(&pServerStatus->ftCurrentTime);//當(dāng)前時(shí)間pServerStatus->ftLastUpdateTime=m_LastUpdate;//最近更新的時(shí)間pServerStatus->dwServerState=OPC_STATUS_RUNNING;//OPCServer狀態(tài)pServerStatus->dwGroupCount=0;//OPCServer中Group個(gè)數(shù)pServerStatus->dwBandWidth=0;//帶寬pServerStatus->wMajorVersion=0;//版本信息pServerStatus->wMinorVersion=0;//版本信息pServerStatus->wBuildNumber=0;//版本信息pServerStatus->wReserved=11;//保留位*ppServerStatus=pServerStatus;//向OPCClient返回OPCServer狀態(tài)returnS_OK;//OPCClient調(diào)用勝利}
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 血透室崗前培訓(xùn)制度
- 醫(yī)師培訓(xùn)方式制度
- 護(hù)理培訓(xùn)與考核制度
- 家政服務(wù)內(nèi)部培訓(xùn)制度
- 家庭教育培訓(xùn)交流制度
- 粉塵涉爆教育培訓(xùn)制度
- 職業(yè)培訓(xùn)學(xué)校制度
- 貨運(yùn)培訓(xùn)制度
- 幼兒園應(yīng)急宣傳培訓(xùn)制度
- 解釋培訓(xùn)制度
- 實(shí)驗(yàn)室2024年管理評(píng)審資料完整版(含內(nèi)審報(bào)告)符合新版《評(píng)審準(zhǔn)則》
- 2025至2030年中國(guó)pvdf管件行業(yè)發(fā)展監(jiān)測(cè)及投資前景展望報(bào)告
- 5年級(jí)下冊(cè)英語(yǔ)人教版單詞表
- 學(xué)堂在線 雨課堂 學(xué)堂云 現(xiàn)代生活美學(xué)-花香茶之道 章節(jié)測(cè)試答案
- 2024年4月22日天津市公安局遴選公務(wù)員面試真題及答案解析
- 體外膜肺氧合技術(shù)(ECMO)
- 國(guó)有企業(yè)招標(biāo)采購(gòu)相關(guān)法律法規(guī)與國(guó)有企業(yè)采購(gòu)操作規(guī)范
- 2025-2030中國(guó)壓縮餅干市場(chǎng)銷售渠道與未來(lái)競(jìng)爭(zhēng)力優(yōu)勢(shì)分析報(bào)告
- 房屋建筑工程竣工驗(yàn)收技術(shù)資料統(tǒng)一用表(上冊(cè))
- 2025蘇州市全日制勞動(dòng)合同(蘇州市人社局范本)
- T/CCPITCSC 120-2023中國(guó)品牌影響力評(píng)價(jià)通則
評(píng)論
0/150
提交評(píng)論