如何使用Excel通過OPC訪問WinCC的實(shí)時數(shù)據(jù)_第1頁
如何使用Excel通過OPC訪問WinCC的實(shí)時數(shù)據(jù)_第2頁
如何使用Excel通過OPC訪問WinCC的實(shí)時數(shù)據(jù)_第3頁
如何使用Excel通過OPC訪問WinCC的實(shí)時數(shù)據(jù)_第4頁
如何使用Excel通過OPC訪問WinCC的實(shí)時數(shù)據(jù)_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

OPC(OLEforprocesscontrol)作為標(biāo)準(zhǔn)軟件接口,可以使各個生產(chǎn)商的設(shè)備和應(yīng)用程序就能以統(tǒng)一的方式連接起來。WinCC既可以用作OPC服務(wù)器提供數(shù)據(jù),又可以作為OPC客戶機(jī)訪問其他OPC服務(wù)器中的數(shù)據(jù)。WinCC集成的OPC服務(wù)器使得過程數(shù)據(jù)可由其它應(yīng)用程序(OPC客戶機(jī))訪問。在Excel中可以通過VBA腳本建立OPC客戶端,并通過OPC接口讀取WinCC中的數(shù)據(jù),并將修改的數(shù)據(jù)寫入WinCC。1OPC規(guī)范及功能OPC是一種一致的獨(dú)立于制造商的軟件接口。OPC接口基于MicrosoftWindows的COM(組件對象模型)和DCOM(分布式組件對象模型)技術(shù)。另一方面,OPCXML則基于Internet標(biāo)準(zhǔn)XML、SOAP和HTTP。COMCOM是位于同一計(jì)算機(jī)上且屬于不同程序的對象之間進(jìn)行通訊時采用的標(biāo)準(zhǔn)協(xié)議。服務(wù)端是提供服務(wù)的對象,比如提供數(shù)據(jù)。客戶端是使用由服務(wù)端提供的服務(wù)的應(yīng)用程序。DCOMDCOM代表COM功能的擴(kuò)展,從而允許對遠(yuǎn)程計(jì)算機(jī)上的對象的訪問。該接口允許在企業(yè)、管理辦公室和生產(chǎn)的應(yīng)用程序之間進(jìn)行標(biāo)準(zhǔn)化的數(shù)據(jù)交換。以前,訪問過程數(shù)據(jù)的應(yīng)用程序受限于通訊網(wǎng)絡(luò)的訪問協(xié)議。使用OPC標(biāo)準(zhǔn)軟件接口,各個生產(chǎn)商的設(shè)備和應(yīng)用程序就能以一致的方式連接起來。OPC客戶端是訪問過程數(shù)據(jù)、消息和OPC服務(wù)端歸檔歷史數(shù)據(jù)的應(yīng)用程序。訪問需要通過OPC軟件接口。OPC服務(wù)端是一個程序,它為不同制造商的應(yīng)用程序提供一個標(biāo)準(zhǔn)的軟件接口。OPC服務(wù)端是在處理過程數(shù)據(jù)的應(yīng)用程序、各種網(wǎng)絡(luò)協(xié)議和用于訪問這些數(shù)據(jù)的接口之間的中間層。只有當(dāng)設(shè)備的操作系統(tǒng)是基于WindowsCOM和DCOM技術(shù)時,才能使用OPC軟件接口進(jìn)行數(shù)據(jù)交換。目前,Windows2000、WindowsXP、Windows2003Server和WindowsVISTA具有這些軟件接口。>XML通過DCOM的通訊僅限于局域網(wǎng)。通過XML的數(shù)據(jù)交換使用SOAP(簡單對象訪問協(xié)議)。SOAP是獨(dú)立于平臺的、基于XML的協(xié)議。SOAP可用于允許應(yīng)用程序依靠HTTP(超文本傳送協(xié)議),通過Internet或在多機(jī)種計(jì)算機(jī)網(wǎng)絡(luò)內(nèi)相互進(jìn)行通訊。OPC標(biāo)準(zhǔn)軟件接口由OPC基金會定義。OPC基金會是工業(yè)自動化領(lǐng)域中處于領(lǐng)先地位的各公司的聯(lián)盟。WinCC的OPC服務(wù)端支持下列規(guī)范。OPC數(shù)據(jù)訪問1.0、2.05a和3.0OPC歷史數(shù)據(jù)訪問1.20OPC報(bào)警和事件1.10OPCXML數(shù)據(jù)訪問1.01OPC數(shù)據(jù)訪問(OPCDA)是針對管理過程數(shù)據(jù)的規(guī)范。WinCCOPCDA服務(wù)端符合OPCDA規(guī)范1.0、2.05a和3.0。OPC歷史數(shù)據(jù)訪問(OPCHDA)是針對管理歸檔數(shù)據(jù)的規(guī)范。該規(guī)范是OPC數(shù)據(jù)訪問規(guī)范的擴(kuò)充。WinCCV6.2或更高版本的WinCCOPCHDA服務(wù)端符合OPCHDA規(guī)范1.20。OPC報(bào)警和事件是發(fā)送過程報(bào)警和事件的補(bǔ)充規(guī)范。WinCCV6.0或更高版本的WinCCOPCA&E服務(wù)端符合OPCA&E規(guī)范1.10。OPCXML標(biāo)準(zhǔn)支持通過Internet采用獨(dú)立于平臺的協(xié)議進(jìn)行通訊。客戶端不再局限于Windows環(huán)境(DCOM)。其它操作系統(tǒng)(如LINUX)可以使用HTTP協(xié)議和SOAP接口在Internet上監(jiān)視和交換OPC數(shù)據(jù)。要使用WinCCOPCHDA、WinCC-OPC-XML-DA服務(wù)器和WinCCOPCA&E服務(wù)器,必須購買ConnectivityPack"連通性軟件包"授權(quán)。"連通性軟件包"授權(quán)必須安裝在用作WinCCOPCHDA服務(wù)器、WinCCOPCXMLDA服務(wù)器或WinCCOPCA&E服務(wù)器的WinCC服務(wù)器上。2在Excel中通過OPCDA訪問本地WinCCWinCCOPCDA服務(wù)器為其它應(yīng)用程序提供WinCC項(xiàng)目的實(shí)時數(shù)據(jù)。應(yīng)用程序能夠在同一臺計(jì)算機(jī)上運(yùn)行或在已聯(lián)網(wǎng)的遠(yuǎn)程計(jì)算機(jī)上運(yùn)行。以這種方法,將WinCC變量的實(shí)時數(shù)據(jù)提供給MicrosoftExcel。附件程序excel_opc.xls(44KB)在MicrosoftExcel中用VBA腳本語言建立OPC客戶端,并通過OPC接口讀取WinCC中的數(shù)據(jù),并將修改的數(shù)據(jù)寫入WinCC。通過OPC接口,MicrosoftExcel作為OPC客戶端發(fā)起通訊并發(fā)送讀/寫請求到OPC服務(wù)器,OPC服務(wù)器執(zhí)行這些讀/寫請求。對于WinCCOPCDA服務(wù)器功能,需要將WinCC項(xiàng)目運(yùn)行系統(tǒng)激活即可。為了能夠運(yùn)行Excel中的VBA宏腳本,首先需要調(diào)整安全性設(shè)置。如圖1在“工具->宏->安全性”中,將Excel的安全級別設(shè)置為“中”。

圖1安全性設(shè)置打開文件excel_opc.xls,在“安全警告”中選擇“啟用宏”。圖2啟用宏

在A1單元格輸入運(yùn)行WinCC的計(jì)算機(jī)名稱。A3/A4單元格輸入WinCC中變量的名稱。點(diǎn)擊按鈕“啟動WinCCOPC”,對應(yīng)WinCC變量的當(dāng)前值即可讀入到Excel單元格中。直接在B3/B4單元格中修改數(shù)值,對應(yīng)WinCC中的變量值也會隨之修改。點(diǎn)擊按鈕“停止WinCCOPC”,停止Excel與WinCC的OPC數(shù)據(jù)訪問。以下為MicrosoftExcel作為客戶端的配置說明。在Excel中創(chuàng)建一個接口,在VisualBasic編輯器中的“工具->引用"中,選中“SiemensOPCDAAutomation2.0"組件,使VisualBasic能夠識別OPC對象。[韻文件叫堀掘?視圖①插入①格式訓(xùn)試迦運(yùn)行(E)二具①]外接程序⑻筋口⑷MicrosoftVisualBasic-excel_apc.xls[設(shè)計(jì)]-[Sheetl(代碼)J[韻文件叫堀掘?視圖①插入①格式訓(xùn)試迦運(yùn)行(E)二具①]外接程序⑻筋口⑷lieros^ftEscel1L0ObjectLibr<ir-lieros^ftEscel1L0ObjectLibr<ir-訝OLEAoAemati亦i.*Ihcro~sci£t匚。LIL0Clbi白匚t丄iLra.取消VBAProject屈性⑥….aemertEDFCBAAutcwatioFi2.0JIASH>filp4:rCOMtwpo口?nl1.0Typ?IASRAUIIEFreto^ol1.0TypeLibr瀏逛迦…憂先級XPHrhCLH引用⑻附加控件⑻…弓I用-VBAProject可便用的引用?圖3OPC引用組件創(chuàng)建所需的所有對象,如:“MyOPCGroup”對象Dim:創(chuàng)建一個變量WithEvents:這個對象可以提供事件(如DataChange)MyOPCGroup:對象名AsOPCGroup:變量類型

OptionExplicitOptionBase1DimWithEventsMyOPCServerAsOpcServerDimWithEventsMyOPCGroupAsOPCGroupDimMyOPCGroupCoilAsOPCGroupsDimMyOPCItemCollAsOPCItems圖4SubStartClient()'MicrosoftExcel建立與OPC服務(wù)器的連接;SetMyOPCServer=NewOpcServer'為"MyOPCServer"對象分配內(nèi)存;MyOPCServer.ConnectServerName,NodeNameServerName:WinCCOPCDA服務(wù)器的名稱為"OPCServer.WinCC"NodeName:激活WinCC運(yùn)行系統(tǒng)的計(jì)算機(jī)名稱SetMyOPCGroupColl=MyOPCServer.OPCGroupsMicrosoftExcel與OPC服務(wù)器的連接一旦建立,OPC組即被創(chuàng)建。這個通過集合對象來實(shí)現(xiàn);SetMyOPCGroup=MyOPCGroupColl.Add(GroupName)創(chuàng)建的組通過"MyOPCGroup"變量來尋址。設(shè)置MyOPCGroup.lsSubscribed=True,以便OPC組能夠提供DataChange等事件。SetMyOPCItemColl=MyOPCGroup.OPCItems'創(chuàng)建OPC項(xiàng)MyOPCItemColl.AddItems2,ItemIDs,ClientHandles,ServerHandles,ErrorsItemIDs存儲在單元格A3/A4中,把指定的ItemIDs傳送給集合對象"MyOPCItemColl.AddItems"PrivateSubMyOPCGroup_DataChange()在MicrosoftExcel中,調(diào)用如下用于OPC組事件處理的程序,它是OPC服務(wù)器的DataChange事件,DataChange()這個事件處理程序提供了許多參數(shù),如ItemValueQPC項(xiàng)的值),客戶端句柄等。通過DataChange事件,當(dāng)OPC項(xiàng)的值變化時,數(shù)據(jù)會自動發(fā)送。OPC項(xiàng)的當(dāng)前值顯示在單元格B3/B4中。讀出值的質(zhì)量代碼和時間戳顯示在C/D列單元格中。PrivateSubworksheet_change()如果在MicrosoftExcel的單元格B3/B4中輸入一個值,通過函數(shù)MyOPCGroup.SyncWrite將OPC項(xiàng)寫入到WinCC,寫入值和服務(wù)器句柄以參數(shù)形式傳遞給此函數(shù)。SubStopClient()最后,斷開與OPC服務(wù)器的連接。3在Excel中通過OPCDA遠(yuǎn)程訪問WinCC可以通過DCOM從OPC客戶端遠(yuǎn)程訪問OPC服務(wù)器WinCCOPCDA。但在A1單元格需要輸入的是遠(yuǎn)程激活WinCC運(yùn)行系統(tǒng)的計(jì)算機(jī)名稱。圖5在Excel中通過OPCDA遠(yuǎn)程訪問WinCC由于遠(yuǎn)程OPC的使用是作為一個DCOM在使用,所以O(shè)PC客戶端可以在網(wǎng)絡(luò)上任何一臺計(jì)算機(jī)運(yùn)行,但是必須要配置DCOM的訪問權(quán)限。一個簡單的方法就是,在服務(wù)器與客戶端都使用相同的用戶名與密碼登錄。如果想配置DCOM,請參考DCOM配置的相關(guān)資料及下載中心文檔:A0265如何配置OPCDCOM。/download/searchResu

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論