首先说一下什么是OPC ?
OPC是OLE for Process Control(用于过程控制的OLE)。一般常说的OPC规范一般是指OPC Classic,。
随着技术的发展及新的要求,促使OPC基金会创立了新的架构—-OPC统一架构(OPC UA)(Unified Architecture)。OPC统一架构(UA)将各个OPC Classic规范的所有功能集成到一个可扩展的框架中,独立于平台并且面向服务。那么了解了OPC的相关知识,再来说说题主的问题。目前 Excel 通过OPC访问Wincc实时数据,主要是应用 OPC DA。那么什么是OPC DA呢?它是OPC Classic 中一部分,OPC Data Access (OPC DA) ,OPC DA规范定义了数据交换,包括值、时间和质量信息。
Wincc 可以作为 OPC DA服务器,可以为其他应用程序提供WINCC的实时数据。那么该应用程序可以安装在有WINCC的服务器上,也可以是其他服务器。
大家可以使用EXCEL作为OPC DA的客户端,在 EXCEL上使用VB开发相关程序,来实现读取WINCC的实时数据。
首先在EXCEL中配置安全性设置。在“工具->宏->安全性”中,将Excel的安全级别设置为“中”
然后配置EXCEL作为客户端。在EXCEL中点击开发工具,点击 VisualBasic打开VB编辑器后,然后再“工具->引用”中,选中“Siemens OPC DA Automation 2.0”组件,使VisualBasic能够识别OPC对象。
然后编写相关连接wincc opc的程序,通过OPC读取实时值。具体的做法可以参考西门子官方网站相关文章。代码不再这里写。可以找到相关EXCEL文档,下载后,可以打开VB编辑器查看代码,主要输入正确的wincc的计算机名称,以及变量名后通过点击按钮就可以查看当前变量值。