如何使用Excel通过OPC访问WinCC的实时数据
在Excel中通过OPC DA访问本地WinCCWinCC OPC DA 服务器为其它应用程序提供 WinCC 项目的实时数据。 应用程序能够在同一台计算机上运行或在已联网的远程计算机上运行。 以这种方法,将WinCC 变量的实时数据提供给 Microsoft Excel。
附件程序excel_opc .xls ( 44 KB ) 在Microsoft Excel 中用VBA脚本语言建立OPC 客户端,并通过OPC接口读取WinCC中的数据,并将修改的数据写入WinCC。通过OPC接口,Microsoft Excel作为OPC 客户端发起通讯并发送读/写请求到OPC服务器,OPC服务器执行这些读/写请求。对于WinCC OPC DA 服务器功能,需要将WinCC项目运行系统激活即可。
为了能够运行Excel中的VBA宏脚本,首先需要调整安全性设置。如图1在“工具->宏->安全性”中,将Excel的安全级别设置为“中”。https://p6-tt.byteimg.com/origin/pgc-image/660b82baafc34f119d5dff457b064a66?from=pc
图1 安全性设置打开文件excel_opc .xls,在“安全警告”中选择“启用宏”。https://p1-tt.byteimg.com/origin/pgc-image/f1bb09526efb47cfb8b6517885961b05?from=pc
图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对象。https://p3-tt.byteimg.com/origin/pgc-image/6548f172d30b4409a024066008b35586?from=pc
图3 OPC引用组件创建所需的所有对象,如:“MyOPCGroup”对象
Dim: 创建一个变量
WithEvents: 这个对象可以提供事件(如 DataChange)
MyOPCGroup: 对象名
As OPCGroup: 变量类型https://p1-tt.byteimg.com/origin/pgc-image/968c598046f5406181c85c369ead9845?from=pc
图4在Excel中通过OPC DA远程访问WinCC
可以通过DCOM从OPC客户端远程访问OPC服务器WinCC OPC DA。但在A1单元格需要输入的是远程激活WinCC运行系统的计算机名称。https://p1-tt.byteimg.com/origin/pgc-image/abba39a06a0c4fa2942d57688982c74c?from=pc
图5在Excel中通过OPC DA远程访问WinCC由于远程OPC的使用是作为一个DCOM在使用,所以OPC客户端可以在网络上任何一台计算机运行,但是必须要配置DCOM的访问权限。一个简单的方法就是,在服务器与客户端都使用相同的用户名与密码登录。如果想配置DCOM,请参考DCOM配置的相关资料及下载中心文档:A0265 如何配置OPC DCOM。
http://www.ad.siemens.com.cn/download/searchResult.aspx?searchText= A0265WinCC在安装时提供了OPC的客户端控件: Siemens OPC DAAutomation 2.0( SOPCDAAuto.dll),这个控件就是在VBA中引用到的控件。如果运行Excel的计算机上没有安装WinCC,可以使用批处理文件reg opc ( 147 KB ) 注册dll文件。将整个文件夹 \Reg拷贝到C:盘下,双击reg opc即可。
楼主加油,我们都看好你哦。
真是被感动的痛哭流涕……
哈哈哈哈笑不活,楼主这脑洞绝了! 水个经验,支持楼主,加油呀 这评论区卧虎藏龙,个个都是人才! 这波反向操作,我属实没想到! 评论区人才辈出,笑到停不下来😂 赞同 + 10086,没毛病,完全没毛病 同款经历!简直是世另我
页:
[1]
2