如题所述
OPC(OLE for process control)ä½ä¸ºæ å软件æ¥å£ï¼å¯ä»¥ä½¿å个ç产åç设å¤ååºç¨ç¨åºå°±è½ä»¥ç»ä¸çæ¹å¼è¿æ¥èµ·æ¥ãWinCC æ¢å¯ä»¥ç¨ä½ OPC æå¡å¨æä¾æ°æ®ï¼åå¯ä»¥ä½ä¸º OPC 客æ·æºè®¿é®å
¶ä»OPC æå¡å¨ä¸çæ°æ®ãWinCCéæçOPCæå¡å¨ä½¿å¾è¿ç¨æ°æ®å¯ç±å
¶å®åºç¨ç¨åº(OPC客æ·æº)访é®ãå¨Excelä¸å¯ä»¥éè¿VBAèæ¬å»ºç«OPC 客æ·ç«¯ï¼å¹¶éè¿OPCæ¥å£è¯»åWinCCä¸çæ°æ®ï¼å¹¶å°ä¿®æ¹çæ°æ®åå
¥WinCCã
1 OPCè§èååè½
OPCæ¯ä¸ç§ä¸è´çç¬ç«äºå¶é åç软件æ¥å£ãOPC æ¥å£åºäº Microsoft Windows ç COMï¼ç»ä»¶å¯¹è±¡æ¨¡åï¼å DCOMï¼åå¸å¼ç»ä»¶å¯¹è±¡æ¨¡åï¼ææ¯ã å¦ä¸æ¹é¢ï¼OPC XML ååºäº Internet æ å XMLãSOAP å HTTPã
> COM
COM æ¯ä½äºåä¸è®¡ç®æºä¸ä¸å±äºä¸åç¨åºç对象ä¹é´è¿è¡é讯æ¶éç¨çæ ååè®®ãæå¡ç«¯æ¯æä¾æå¡ç对象ï¼æ¯å¦æä¾æ°æ®ã客æ·ç«¯æ¯ä½¿ç¨ç±æå¡ç«¯æä¾çæå¡çåºç¨ç¨åºã
> DCOM
DCOM 代表 COM åè½çæ©å±ï¼ä»èå 许对è¿ç¨è®¡ç®æºä¸ç对象ç访é®ã
该æ¥å£å 许å¨ä¼ä¸ã管çåå ¬å®¤åç产çåºç¨ç¨åºä¹é´è¿è¡æ ååçæ°æ®äº¤æ¢ã以åï¼è®¿é®è¿ç¨æ°æ®çåºç¨ç¨åºåéäºé讯ç½ç»ç访é®åè®®ãä½¿ç¨ OPC æ å软件æ¥å£ï¼å个ç产åç设å¤ååºç¨ç¨åºå°±è½ä»¥ä¸è´çæ¹å¼è¿æ¥èµ·æ¥ã
OPC 客æ·ç«¯æ¯è®¿é®è¿ç¨æ°æ®ãæ¶æ¯å OPC æå¡ç«¯å½æ¡£åå²æ°æ®çåºç¨ç¨åºã访é®éè¦éè¿ OPC 软件æ¥å£ã
OPC æå¡ç«¯æ¯ä¸ä¸ªç¨åºï¼å®ä¸ºä¸åå¶é åçåºç¨ç¨åºæä¾ä¸ä¸ªæ åç软件æ¥å£ãOPC æå¡ç«¯æ¯å¨å¤çè¿ç¨æ°æ®çåºç¨ç¨åºãåç§ç½ç»åè®®åç¨äºè®¿é®è¿äºæ°æ®çæ¥å£ä¹é´çä¸é´å±ã
åªæå½è®¾å¤çæä½ç³»ç»æ¯åºäº Windows COM å DCOM ææ¯æ¶ï¼æè½ä½¿ç¨ OPC 软件æ¥å£è¿è¡æ°æ®äº¤æ¢ã ç®åï¼Windows 2000ãWindows XPãWindows 2003 Server å Windows VISTA å ·æè¿äºè½¯ä»¶æ¥å£ã
> XML
éè¿ DCOM çéè®¯ä» éäºå±åç½ãéè¿ XML çæ°æ®äº¤æ¢ä½¿ç¨ SOAPï¼ç®å对象访é®åè®®ï¼ãSOAP æ¯ç¬ç«äºå¹³å°çãåºäº XML çåè®®ãSOAP å¯ç¨äºå 许åºç¨ç¨åºä¾é HTTPï¼è¶ ææ¬ä¼ éåè®®ï¼ï¼éè¿ Internet æå¨å¤æºç§è®¡ç®æºç½ç»å ç¸äºè¿è¡é讯ã
OPC æ å软件æ¥å£ç± OPC åºéä¼å®ä¹ãOPC åºéä¼æ¯å·¥ä¸èªå¨åé¢åä¸å¤äºé¢å å°ä½çåå ¬å¸çèçãWinCC ç OPC æå¡ç«¯æ¯æä¸åè§èã
OPC æ°æ®è®¿é® 1.0ã2.05a å 3.0
OPC åå²æ°æ®è®¿é® 1.20
OPC æ¥è¦åäºä»¶ 1.10
OPC XML æ°æ®è®¿é® 1.01
OPC æ°æ®è®¿é® (OPC DA) æ¯é对管çè¿ç¨æ°æ®çè§èã WinCC OPC DA æå¡ç«¯ç¬¦å OPC DA è§è 1.0ã2.05a å 3.0ã
OPC åå²æ°æ®è®¿é® (OPC HDA) æ¯é对管çå½æ¡£æ°æ®çè§èã该è§èæ¯ OPC æ°æ®è®¿é®è§èçæ©å ã WinCC V6.2 ææ´é«çæ¬ç WinCC OPC HDA æå¡ç«¯ç¬¦å OPC HDA è§è 1.20ã
OPC æ¥è¦åäºä»¶æ¯åéè¿ç¨æ¥è¦åäºä»¶çè¡¥å è§èã WinCC V6.0 ææ´é«çæ¬ç WinCC OPC A&E æå¡ç«¯ç¬¦å OPC A&E è§è 1.10ã
OPC XML æ åæ¯æéè¿ Internet éç¨ç¬ç«äºå¹³å°çåè®®è¿è¡é讯ã 客æ·ç«¯ä¸åå±éäº Windows ç¯å¢ (DCOM)ã å ¶å®æä½ç³»ç»ï¼å¦ LINUXï¼å¯ä»¥ä½¿ç¨ HTTP åè®®å SOAP æ¥å£å¨ Internet ä¸çè§åäº¤æ¢ OPC æ°æ®ã
è¦ä½¿ç¨ WinCC OPC HDAãWinCC-OPC-XML-DA æå¡å¨å WinCC OPC A&E æå¡å¨ï¼å¿ é¡»è´ä¹°Connectivity Packâè¿éæ§è½¯ä»¶å âææã âè¿éæ§è½¯ä»¶å â ææå¿ é¡»å®è£ å¨ç¨ä½ WinCC OPC HDA æå¡å¨ãWinCC OPC XML DA æå¡å¨æ WinCC OPC A&E æå¡å¨ç WinCC æå¡å¨ä¸ã
2 å¨Excelä¸éè¿OPC DA访é®æ¬å°WinCC
WinCC OPC DA æå¡å¨ä¸ºå ¶å®åºç¨ç¨åºæä¾ WinCC 项ç®çå®æ¶æ°æ®ã åºç¨ç¨åºè½å¤å¨åä¸å°è®¡ç®æºä¸è¿è¡æå¨å·²èç½çè¿ç¨è®¡ç®æºä¸è¿è¡ã 以è¿ç§æ¹æ³ï¼å°WinCC åéçå®æ¶æ°æ®æä¾ç» Microsoft Excelã
å¨Microsoft Excel ä¸ç¨VBAèæ¬è¯è¨å»ºç«OPC 客æ·ç«¯ï¼å¹¶éè¿OPCæ¥å£è¯»åWinCCä¸çæ°æ®ï¼å¹¶å°ä¿®æ¹çæ°æ®åå ¥WinCCãéè¿OPCæ¥å£ï¼Microsoft Excelä½ä¸ºOPC 客æ·ç«¯åèµ·é讯并åé读/å请æ±å°OPCæå¡å¨ï¼OPCæå¡å¨æ§è¡è¿äºè¯»/å请æ±ã对äºWinCC OPC DA æå¡å¨åè½ï¼éè¦å°WinCC项ç®è¿è¡ç³»ç»æ¿æ´»å³å¯ã
为äºè½å¤è¿è¡Excelä¸çVBAå®èæ¬ï¼é¦å éè¦è°æ´å®å ¨æ§è®¾ç½®ãå¦å¾1å¨âå·¥å ·->å®->å®å ¨æ§âä¸ï¼å°Excelçå®å ¨çº§å«è®¾ç½®ä¸ºâä¸âã
å¾1 å®å ¨æ§è®¾ç½®
æå¼æ件excel_opc .xlsï¼å¨âå®å ¨è¦åâä¸éæ©âå¯ç¨å®âã
å¾2å¯ç¨å®
å¨A1åå æ ¼è¾å ¥è¿è¡WinCCç计ç®æºå称ãA3/A4åå æ ¼è¾å ¥WinCCä¸åéçå称ãç¹å»æé®âå¯å¨ WinCC OPCâï¼å¯¹åºWinCCåéçå½åå¼å³å¯è¯»å ¥å°Excelåå æ ¼ä¸ãç´æ¥å¨B3/B4åå æ ¼ä¸ä¿®æ¹æ°å¼ï¼å¯¹åºWinCCä¸çåéå¼ä¹ä¼éä¹ä¿®æ¹ãç¹å»æé®âåæ¢ WinCC OPCâï¼åæ¢Excelä¸WinCCçOPCæ°æ®è®¿é®ã
以ä¸ä¸ºMicrosoft Excel ä½ä¸ºå®¢æ·ç«¯çé 置说æã
å¨Excelä¸å建ä¸ä¸ªæ¥å£ï¼å¨VisualBasic ç¼è¾å¨ä¸çâå·¥å ·->å¼ç¨âä¸ï¼éä¸âSiemens OPC DA Automation 2.0âç»ä»¶ï¼ä½¿VisualBasicè½å¤è¯å«OPC对象ã
å¾3 OPCå¼ç¨ç»ä»¶
å建æéçææ对象ï¼å¦ï¼âMyOPCGroupâ对象
Dim: å建ä¸ä¸ªåé
WithEvents: è¿ä¸ªå¯¹è±¡å¯ä»¥æä¾äºä»¶ï¼å¦ DataChange)
MyOPCGroup: 对象å
As OPCGroup: åéç±»å
å¾4
Sub StartClient() âMicrosoft Excel建ç«ä¸OPCæå¡å¨çè¿æ¥ï¼
Set MyOPCServer = New OpcServer â为âMyOPCServerâ对象åé å åï¼
MyOPCServer.Connect ServerName, NodeName
ServerName ï¼WinCC OPC DA æå¡å¨çå称为 "OPCServer.WinCC"
NodeNameï¼æ¿æ´»WinCCè¿è¡ç³»ç»ç计ç®æºå称
Set MyOPCGroupColl = MyOPCServer.OPCGroups
Microsoft Excelä¸OPCæå¡å¨çè¿æ¥ä¸æ¦å»ºç«ï¼OPCç»å³è¢«å建ãè¿ä¸ªéè¿éå对象æ¥å®ç°ï¼
Set MyOPCGroup = MyOPCGroupColl.Add(GroupName)
å建çç»éè¿âMyOPCGroupâåéæ¥å¯»åã设置MyOPCGroup.IsSubscribed = Trueï¼ä»¥ä¾¿OPCç»è½å¤æä¾DataChangeçäºä»¶ã
Set MyOPCItemColl = MyOPCGroup.OPCItems âå建OPC项
MyOPCItemColl.AddItems 2, ItemIDs, ClientHandles, ServerHandles, Errors
ItemIDs åå¨å¨åå æ ¼A3/A4ä¸ï¼ææå®çItemIDs ä¼ éç»éå对象"MyOPCItemColl.AddItems"
Private Sub MyOPCGroup_DataChangeï¼ï¼
å¨Microsoft Excelä¸ï¼è°ç¨å¦ä¸ç¨äºOPCç»äºä»¶å¤ççç¨åºï¼å®æ¯OPCæå¡å¨çDataChange äºä»¶ï¼DataChange()è¿ä¸ªäºä»¶å¤çç¨åºæä¾äºè®¸å¤åæ°ï¼å¦ItemValue(OPC项çå¼)ï¼å®¢æ·ç«¯å¥æçãéè¿DataChangeäºä»¶ï¼å½OPC项çå¼ååæ¶ï¼æ°æ®ä¼èªå¨åéãOPC项çå½åå¼æ¾ç¤ºå¨åå æ ¼B3/B4ä¸ã读åºå¼çè´¨é代ç åæ¶é´æ³æ¾ç¤ºå¨C/Dååå æ ¼ä¸ã
Private Sub worksheet_changeï¼ï¼
å¦æå¨Microsoft Excelçåå æ ¼B3/B4ä¸è¾å ¥ä¸ä¸ªå¼ï¼éè¿å½æ°MyOPCGroup.SyncWriteå°OPC项åå ¥å°WinCCï¼åå ¥å¼åæå¡å¨å¥æ以åæ°å½¢å¼ä¼ éç»æ¤å½æ°ã
Sub StopClientï¼ï¼
æåï¼æå¼ä¸OPCæå¡å¨çè¿æ¥ã
3 å¨Excelä¸éè¿OPC DAè¿ç¨è®¿é®WinCC
å¯ä»¥éè¿DCOMä»OPC客æ·ç«¯è¿ç¨è®¿é®OPCæå¡å¨WinCC OPC DAãä½å¨A1åå æ ¼éè¦è¾å ¥çæ¯è¿ç¨æ¿æ´»WinCCè¿è¡ç³»ç»ç计ç®æºå称ã
å¾5å¨Excelä¸éè¿OPC DAè¿ç¨è®¿é®WinCC
ç±äºè¿ç¨OPCç使ç¨æ¯ä½ä¸ºä¸ä¸ªDCOMå¨ä½¿ç¨ï¼æ以OPC客æ·ç«¯å¯ä»¥å¨ç½ç»ä¸ä»»ä½ä¸å°è®¡ç®æºè¿è¡ï¼ä½æ¯å¿ é¡»è¦é ç½®DCOMç访é®æéãä¸ä¸ªç®åçæ¹æ³å°±æ¯ï¼å¨æå¡å¨ä¸å®¢æ·ç«¯é½ä½¿ç¨ç¸åçç¨æ·åä¸å¯ç ç»å½ãå¦ææ³é ç½®DCOMï¼è¯·åèDCOMé ç½®çç¸å ³èµæåä¸è½½ä¸å¿ææ¡£ï¼A0265 å¦ä½é ç½®OPC DCOMã
WinCCå¨å®è£ æ¶æä¾äºOPCç客æ·ç«¯æ§ä»¶ï¼ Siemens OPC DAAutomation 2.0( SOPCDAAuto.dll)ï¼è¿ä¸ªæ§ä»¶å°±æ¯å¨VBAä¸å¼ç¨å°çæ§ä»¶ãå¦æè¿è¡Excelç计ç®æºä¸æ²¡æå®è£ WinCCï¼å¯ä»¥ä½¿ç¨æ¹å¤çæ件注ådllæ件ãå°æ´ä¸ªæ件夹 \Regæ·è´å°C:çä¸ï¼åå»reg opcå³å¯ã
1 OPCè§èååè½
OPCæ¯ä¸ç§ä¸è´çç¬ç«äºå¶é åç软件æ¥å£ãOPC æ¥å£åºäº Microsoft Windows ç COMï¼ç»ä»¶å¯¹è±¡æ¨¡åï¼å DCOMï¼åå¸å¼ç»ä»¶å¯¹è±¡æ¨¡åï¼ææ¯ã å¦ä¸æ¹é¢ï¼OPC XML ååºäº Internet æ å XMLãSOAP å HTTPã
> COM
COM æ¯ä½äºåä¸è®¡ç®æºä¸ä¸å±äºä¸åç¨åºç对象ä¹é´è¿è¡é讯æ¶éç¨çæ ååè®®ãæå¡ç«¯æ¯æä¾æå¡ç对象ï¼æ¯å¦æä¾æ°æ®ã客æ·ç«¯æ¯ä½¿ç¨ç±æå¡ç«¯æä¾çæå¡çåºç¨ç¨åºã
> DCOM
DCOM 代表 COM åè½çæ©å±ï¼ä»èå 许对è¿ç¨è®¡ç®æºä¸ç对象ç访é®ã
该æ¥å£å 许å¨ä¼ä¸ã管çåå ¬å®¤åç产çåºç¨ç¨åºä¹é´è¿è¡æ ååçæ°æ®äº¤æ¢ã以åï¼è®¿é®è¿ç¨æ°æ®çåºç¨ç¨åºåéäºé讯ç½ç»ç访é®åè®®ãä½¿ç¨ OPC æ å软件æ¥å£ï¼å个ç产åç设å¤ååºç¨ç¨åºå°±è½ä»¥ä¸è´çæ¹å¼è¿æ¥èµ·æ¥ã
OPC 客æ·ç«¯æ¯è®¿é®è¿ç¨æ°æ®ãæ¶æ¯å OPC æå¡ç«¯å½æ¡£åå²æ°æ®çåºç¨ç¨åºã访é®éè¦éè¿ OPC 软件æ¥å£ã
OPC æå¡ç«¯æ¯ä¸ä¸ªç¨åºï¼å®ä¸ºä¸åå¶é åçåºç¨ç¨åºæä¾ä¸ä¸ªæ åç软件æ¥å£ãOPC æå¡ç«¯æ¯å¨å¤çè¿ç¨æ°æ®çåºç¨ç¨åºãåç§ç½ç»åè®®åç¨äºè®¿é®è¿äºæ°æ®çæ¥å£ä¹é´çä¸é´å±ã
åªæå½è®¾å¤çæä½ç³»ç»æ¯åºäº Windows COM å DCOM ææ¯æ¶ï¼æè½ä½¿ç¨ OPC 软件æ¥å£è¿è¡æ°æ®äº¤æ¢ã ç®åï¼Windows 2000ãWindows XPãWindows 2003 Server å Windows VISTA å ·æè¿äºè½¯ä»¶æ¥å£ã
> XML
éè¿ DCOM çéè®¯ä» éäºå±åç½ãéè¿ XML çæ°æ®äº¤æ¢ä½¿ç¨ SOAPï¼ç®å对象访é®åè®®ï¼ãSOAP æ¯ç¬ç«äºå¹³å°çãåºäº XML çåè®®ãSOAP å¯ç¨äºå 许åºç¨ç¨åºä¾é HTTPï¼è¶ ææ¬ä¼ éåè®®ï¼ï¼éè¿ Internet æå¨å¤æºç§è®¡ç®æºç½ç»å ç¸äºè¿è¡é讯ã
OPC æ å软件æ¥å£ç± OPC åºéä¼å®ä¹ãOPC åºéä¼æ¯å·¥ä¸èªå¨åé¢åä¸å¤äºé¢å å°ä½çåå ¬å¸çèçãWinCC ç OPC æå¡ç«¯æ¯æä¸åè§èã
OPC æ°æ®è®¿é® 1.0ã2.05a å 3.0
OPC åå²æ°æ®è®¿é® 1.20
OPC æ¥è¦åäºä»¶ 1.10
OPC XML æ°æ®è®¿é® 1.01
OPC æ°æ®è®¿é® (OPC DA) æ¯é对管çè¿ç¨æ°æ®çè§èã WinCC OPC DA æå¡ç«¯ç¬¦å OPC DA è§è 1.0ã2.05a å 3.0ã
OPC åå²æ°æ®è®¿é® (OPC HDA) æ¯é对管çå½æ¡£æ°æ®çè§èã该è§èæ¯ OPC æ°æ®è®¿é®è§èçæ©å ã WinCC V6.2 ææ´é«çæ¬ç WinCC OPC HDA æå¡ç«¯ç¬¦å OPC HDA è§è 1.20ã
OPC æ¥è¦åäºä»¶æ¯åéè¿ç¨æ¥è¦åäºä»¶çè¡¥å è§èã WinCC V6.0 ææ´é«çæ¬ç WinCC OPC A&E æå¡ç«¯ç¬¦å OPC A&E è§è 1.10ã
OPC XML æ åæ¯æéè¿ Internet éç¨ç¬ç«äºå¹³å°çåè®®è¿è¡é讯ã 客æ·ç«¯ä¸åå±éäº Windows ç¯å¢ (DCOM)ã å ¶å®æä½ç³»ç»ï¼å¦ LINUXï¼å¯ä»¥ä½¿ç¨ HTTP åè®®å SOAP æ¥å£å¨ Internet ä¸çè§åäº¤æ¢ OPC æ°æ®ã
è¦ä½¿ç¨ WinCC OPC HDAãWinCC-OPC-XML-DA æå¡å¨å WinCC OPC A&E æå¡å¨ï¼å¿ é¡»è´ä¹°Connectivity Packâè¿éæ§è½¯ä»¶å âææã âè¿éæ§è½¯ä»¶å â ææå¿ é¡»å®è£ å¨ç¨ä½ WinCC OPC HDA æå¡å¨ãWinCC OPC XML DA æå¡å¨æ WinCC OPC A&E æå¡å¨ç WinCC æå¡å¨ä¸ã
2 å¨Excelä¸éè¿OPC DA访é®æ¬å°WinCC
WinCC OPC DA æå¡å¨ä¸ºå ¶å®åºç¨ç¨åºæä¾ WinCC 项ç®çå®æ¶æ°æ®ã åºç¨ç¨åºè½å¤å¨åä¸å°è®¡ç®æºä¸è¿è¡æå¨å·²èç½çè¿ç¨è®¡ç®æºä¸è¿è¡ã 以è¿ç§æ¹æ³ï¼å°WinCC åéçå®æ¶æ°æ®æä¾ç» Microsoft Excelã
å¨Microsoft Excel ä¸ç¨VBAèæ¬è¯è¨å»ºç«OPC 客æ·ç«¯ï¼å¹¶éè¿OPCæ¥å£è¯»åWinCCä¸çæ°æ®ï¼å¹¶å°ä¿®æ¹çæ°æ®åå ¥WinCCãéè¿OPCæ¥å£ï¼Microsoft Excelä½ä¸ºOPC 客æ·ç«¯åèµ·é讯并åé读/å请æ±å°OPCæå¡å¨ï¼OPCæå¡å¨æ§è¡è¿äºè¯»/å请æ±ã对äºWinCC OPC DA æå¡å¨åè½ï¼éè¦å°WinCC项ç®è¿è¡ç³»ç»æ¿æ´»å³å¯ã
为äºè½å¤è¿è¡Excelä¸çVBAå®èæ¬ï¼é¦å éè¦è°æ´å®å ¨æ§è®¾ç½®ãå¦å¾1å¨âå·¥å ·->å®->å®å ¨æ§âä¸ï¼å°Excelçå®å ¨çº§å«è®¾ç½®ä¸ºâä¸âã
å¾1 å®å ¨æ§è®¾ç½®
æå¼æ件excel_opc .xlsï¼å¨âå®å ¨è¦åâä¸éæ©âå¯ç¨å®âã
å¾2å¯ç¨å®
å¨A1åå æ ¼è¾å ¥è¿è¡WinCCç计ç®æºå称ãA3/A4åå æ ¼è¾å ¥WinCCä¸åéçå称ãç¹å»æé®âå¯å¨ WinCC OPCâï¼å¯¹åºWinCCåéçå½åå¼å³å¯è¯»å ¥å°Excelåå æ ¼ä¸ãç´æ¥å¨B3/B4åå æ ¼ä¸ä¿®æ¹æ°å¼ï¼å¯¹åºWinCCä¸çåéå¼ä¹ä¼éä¹ä¿®æ¹ãç¹å»æé®âåæ¢ WinCC OPCâï¼åæ¢Excelä¸WinCCçOPCæ°æ®è®¿é®ã
以ä¸ä¸ºMicrosoft Excel ä½ä¸ºå®¢æ·ç«¯çé 置说æã
å¨Excelä¸å建ä¸ä¸ªæ¥å£ï¼å¨VisualBasic ç¼è¾å¨ä¸çâå·¥å ·->å¼ç¨âä¸ï¼éä¸âSiemens OPC DA Automation 2.0âç»ä»¶ï¼ä½¿VisualBasicè½å¤è¯å«OPC对象ã
å¾3 OPCå¼ç¨ç»ä»¶
å建æéçææ对象ï¼å¦ï¼âMyOPCGroupâ对象
Dim: å建ä¸ä¸ªåé
WithEvents: è¿ä¸ªå¯¹è±¡å¯ä»¥æä¾äºä»¶ï¼å¦ DataChange)
MyOPCGroup: 对象å
As OPCGroup: åéç±»å
å¾4
Sub StartClient() âMicrosoft Excel建ç«ä¸OPCæå¡å¨çè¿æ¥ï¼
Set MyOPCServer = New OpcServer â为âMyOPCServerâ对象åé å åï¼
MyOPCServer.Connect ServerName, NodeName
ServerName ï¼WinCC OPC DA æå¡å¨çå称为 "OPCServer.WinCC"
NodeNameï¼æ¿æ´»WinCCè¿è¡ç³»ç»ç计ç®æºå称
Set MyOPCGroupColl = MyOPCServer.OPCGroups
Microsoft Excelä¸OPCæå¡å¨çè¿æ¥ä¸æ¦å»ºç«ï¼OPCç»å³è¢«å建ãè¿ä¸ªéè¿éå对象æ¥å®ç°ï¼
Set MyOPCGroup = MyOPCGroupColl.Add(GroupName)
å建çç»éè¿âMyOPCGroupâåéæ¥å¯»åã设置MyOPCGroup.IsSubscribed = Trueï¼ä»¥ä¾¿OPCç»è½å¤æä¾DataChangeçäºä»¶ã
Set MyOPCItemColl = MyOPCGroup.OPCItems âå建OPC项
MyOPCItemColl.AddItems 2, ItemIDs, ClientHandles, ServerHandles, Errors
ItemIDs åå¨å¨åå æ ¼A3/A4ä¸ï¼ææå®çItemIDs ä¼ éç»éå对象"MyOPCItemColl.AddItems"
Private Sub MyOPCGroup_DataChangeï¼ï¼
å¨Microsoft Excelä¸ï¼è°ç¨å¦ä¸ç¨äºOPCç»äºä»¶å¤ççç¨åºï¼å®æ¯OPCæå¡å¨çDataChange äºä»¶ï¼DataChange()è¿ä¸ªäºä»¶å¤çç¨åºæä¾äºè®¸å¤åæ°ï¼å¦ItemValue(OPC项çå¼)ï¼å®¢æ·ç«¯å¥æçãéè¿DataChangeäºä»¶ï¼å½OPC项çå¼ååæ¶ï¼æ°æ®ä¼èªå¨åéãOPC项çå½åå¼æ¾ç¤ºå¨åå æ ¼B3/B4ä¸ã读åºå¼çè´¨é代ç åæ¶é´æ³æ¾ç¤ºå¨C/Dååå æ ¼ä¸ã
Private Sub worksheet_changeï¼ï¼
å¦æå¨Microsoft Excelçåå æ ¼B3/B4ä¸è¾å ¥ä¸ä¸ªå¼ï¼éè¿å½æ°MyOPCGroup.SyncWriteå°OPC项åå ¥å°WinCCï¼åå ¥å¼åæå¡å¨å¥æ以åæ°å½¢å¼ä¼ éç»æ¤å½æ°ã
Sub StopClientï¼ï¼
æåï¼æå¼ä¸OPCæå¡å¨çè¿æ¥ã
3 å¨Excelä¸éè¿OPC DAè¿ç¨è®¿é®WinCC
å¯ä»¥éè¿DCOMä»OPC客æ·ç«¯è¿ç¨è®¿é®OPCæå¡å¨WinCC OPC DAãä½å¨A1åå æ ¼éè¦è¾å ¥çæ¯è¿ç¨æ¿æ´»WinCCè¿è¡ç³»ç»ç计ç®æºå称ã
å¾5å¨Excelä¸éè¿OPC DAè¿ç¨è®¿é®WinCC
ç±äºè¿ç¨OPCç使ç¨æ¯ä½ä¸ºä¸ä¸ªDCOMå¨ä½¿ç¨ï¼æ以OPC客æ·ç«¯å¯ä»¥å¨ç½ç»ä¸ä»»ä½ä¸å°è®¡ç®æºè¿è¡ï¼ä½æ¯å¿ é¡»è¦é ç½®DCOMç访é®æéãä¸ä¸ªç®åçæ¹æ³å°±æ¯ï¼å¨æå¡å¨ä¸å®¢æ·ç«¯é½ä½¿ç¨ç¸åçç¨æ·åä¸å¯ç ç»å½ãå¦ææ³é ç½®DCOMï¼è¯·åèDCOMé ç½®çç¸å ³èµæåä¸è½½ä¸å¿ææ¡£ï¼A0265 å¦ä½é ç½®OPC DCOMã
WinCCå¨å®è£ æ¶æä¾äºOPCç客æ·ç«¯æ§ä»¶ï¼ Siemens OPC DAAutomation 2.0( SOPCDAAuto.dll)ï¼è¿ä¸ªæ§ä»¶å°±æ¯å¨VBAä¸å¼ç¨å°çæ§ä»¶ãå¦æè¿è¡Excelç计ç®æºä¸æ²¡æå®è£ WinCCï¼å¯ä»¥ä½¿ç¨æ¹å¤çæ件注ådllæ件ãå°æ´ä¸ªæ件夹 \Regæ·è´å°C:çä¸ï¼åå»reg opcå³å¯ã
温馨提示:答案为网友推荐,仅供参考