西門子6ES7 212-1AE40-0XB0現(xiàn)貨供應
西門子6ES7 212-1AE40-0XB0
在A1單元格輸入運行WinCC的計算機名稱。A3/A4單元格輸入WinCC中變量的名稱。點擊按鈕“啟動 WinCC OPC",對應WinCC變量的當前值即可讀入到Excel單元格中。直接在B3/B4單元格中修改數(shù)值,對應WinCC中的變量值也會隨之修改。點擊按鈕“停止 WinCC OPC",停止Excel與WinCC的OPC數(shù)據(jù)訪問。
以下為Microsoft Excel 作為客戶端的配置說明。
在Excel中創(chuàng)建一個接口,在VisualBasic 編輯器中的“工具->引用"中,選中“Siemens OPC DA Automation 2.0"組件,使VisualBasic能夠識別OPC對象。
圖3 OPC引用組件
創(chuàng)建所需的所有對象,如:“MyOPCGroup"對象
Dim: 創(chuàng)建一個變量
WithEvents: 這個對象可以提供事件(如 DataChange)
MyOPCGroup: 對象名
As OPCGroup: 變量類型
圖4
Sub StartClient() ’Microsoft Excel建立與OPC服務器的連接;
Set MyOPCServer = New OpcServer ’為“MyOPCServer"對象分配內存;
? ServerName, NodeName
ServerName :WinCC OPC DA 服務器的名稱為 "OPCServer.WinCC"
NodeName:激活WinCC運行系統(tǒng)的計算機名稱
Set MyOPCGroupColl = MyOPCServer.OPCGroups
Microsoft Excel與OPC服務器的連接一旦建立,OPC組即被創(chuàng)建。這個通過集合對象來實現(xiàn);
Set MyOPCGroup = MyOPCGroupColl.Add(GroupName)
創(chuàng)建的組通過“MyOPCGroup"變量來尋址。設置MyOPCGroup.IsSubscribed = True,以便OPC組能夠提供DataChange等事件。
Set MyOPCItemColl = MyOPCGroup.OPCItems ’創(chuàng)建OPC項
MyOPCItemColl.AddItems 2, ItemIDs, ClientHandles, ServerHandles, Errors
ItemIDs 存儲在單元格A3/A4中,把的ItemIDs 傳送給集合對象"MyOPCItemColl.AddItems"
Private Sub MyOPCGroup_DataChange()
在Microsoft Excel中,調用如下用于OPC組事件處理的程序,它是OPC服務器的DataChange 事件,DataChange()這個事件處理程序提供了許多參數(shù),如ItemValue(OPC項的值),客戶端句柄等。通過DataChange事件,當OPC項的值變化時,數(shù)據(jù)會自動發(fā)送。OPC項的當前值顯示在單元格B3/B4中。讀出值的質量代碼和時間戳顯示在C/D列單元格中。
Private Sub worksheet_change()
如果在Microsoft Excel的單元格B3/B4中輸入一個值,通過函數(shù)MyOPCGroup.SyncWrite將OPC項寫入到WinCC,寫入值和服務器句柄以參數(shù)形式傳遞給此函數(shù)。
Sub StopClient()
后,斷開與OPC服務器的連接。
3 在Excel中通過OPC DA遠程訪問WinCC
可以通過DCOM從OPC客戶端遠程訪問OPC服務器WinCC OPC DA。但在A1單元格需要輸入的是遠程激活WinCC運行系統(tǒng)的計算機名稱。
圖5在Excel中通過OPC DA遠程訪問WinCC
由于遠程OPC的使用是作為一個DCOM在使用,所以OPC客戶端可以在網絡上任何一臺計算機運行,但是必須要配置DCOM的訪問權限。一個簡單的方法就是,在服務器與客戶端都使用相同的用戶名與密碼登錄。如果想配置DCOM,請參考DCOM配置的相關資料及下載中心文檔:A0265 如何配置OPC DCOM。
A0265
WinCC在安裝時提供了OPC的客戶端控件: Siemens OPC DAAutomation 2.0( SOPCDAAuto.dll),這個控件就是在VBA中引用到的控件。如果運行Excel的計算機上沒有安裝WinCC,可以使用批處理文件reg opc ( 147 KB ) 注冊dll文件。將整個文件夾 \Reg拷貝到C:盤下,雙擊reg opc即可。