2023年11月30日发(作者:)

如何使用Excel通过OPC访问WinCC的实时数据

How to use Excel access WinCC Real time Datas by OPC.

Getting-started Edition (20115)

Microsoft Excel 中用VBA脚本语言建立OPC 客户端,并通过OPC接口读取

WinCC中的数据,并将修改的数据写入WinCC

关键词 ExcelWinCCDAOPC

Key Words ExcelWinCCDAOPC

IA&DT&BT Service & Support

Page 2-10

1 OPC规范及功能..............................................................4

2 在Excel中通过OPC DA访问本地WinCC.........................................5

3 在Excel中通过OPC DA远程访问WinCC.........................................8

IA&DT&BT Service & Support

Page 3-10

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 标准 XMLSOAP HTTP

¾ COM

COM 是位于同一计算机上且属于不同程序的对象之间进行通讯时采用的标准协议。服

务端是提供服务的对象,比如提供数据。客户端是使用由服务端提供的服务的应用程序。

¾ DCOM

DCOM 代表 COM 功能的扩展,从而允许对远程计算机上的对象的访问。

该接口允许在企业、管理办公室和生产的应用程序之间进行标准化的数据交换。以前,

访问过程数据的应用程序受限于通讯网络的访问协议。使用 OPC 标准软件接口,各个生产

商的设备和应用程序就能以一致的方式连接起来。

OPC 客户端是访问过程数据、消息和 OPC 服务端归档历史数据的应用程序。访问需要

通过 OPC 软件接口。

OPC 服务端是一个程序,它为不同制造商的应用程序提供一个标准的软件接口。OPC

服务端是在处理过程数据的应用程序、各种网络协议和用于访问这些数据的接口之间的中间

层。

只有当设备的操作系统是基于 Windows COM DCOM 技术时,才能使用 OPC 软件

接口进行数据交换。 目前,Windows 2000Windows XPWindows 2003 Server

Windows VISTA 具有这些软件接口。

¾ XML

通过 DCOM 的通讯仅限于局域网。通过 XML 的数据交换使用 SOAP(简单对象访问协

议)。SOAP 是独立于平台的、基于 XML 的协议。SOAP 可用于允许应用程序依靠 HTTP

(超文本传送协议),通过 Internet 或在多机种计算机网络内相互进行通讯。

IA&DT&BT Service & Support

Page 4-10

OPC 标准软件接口由 OPC 基金会定义。OPC 基金会是工业自动化领域中处于领先地

位的各公司的联盟。WinCC OPC 服务端支持下列规范。

OPC 数据访问 1.02.05a 3.0

OPC 历史数据访问 1.20

OPC 报警和事件 1.10

OPC XML 数据访问 1.01

OPC 数据访问

(OPC DA) 是针对管理过程数据的规范。 WinCC OPC DA 服务端符合

OPC DA 规范 1.02.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 HDAWinCC-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

附件程序excel_opc .xlsMicrosoft Excel 中用VBA脚本语言建立OPC 客户端,并通

OPC接口读取WinCC中的数据,并将修改的数据写入WinCC。通过OPC接口,

Microsoft Excel作为OPC 客户端发起通讯并发送读/写请求到OPC服务器,OPC服务器执

行这些读/写请求。对于WinCC OPC DA 服务器功能,需要将WinCC项目运行系统激活即

可。

IA&DT&BT Service & Support

Page 5-10

为了能够运行Excel中的VBA宏脚本,首先需要调整安全性设置。如图1工具->-

>安全性中,将Excel的安全级别设置为“中”。

1 安全性设置

打开文件excel_opc .xls,在“安全警告”中选择“启用宏”。

2

启用宏

IA&DT&BT Service & Support

Page 6-10

A1单元格输入运行WinCC的计算机名称。A3/A4单元格输入WinCC中变量的名

称。点击按钮“启动 WinCC OPC”,对应WinCC变量的当前值即可读入到Excel单元格

中。直接在B3/B4单元格中修改数值,对应WinCC中的变量值也会随之修改。点击按钮

“停止 WinCC OPC”,停止ExcelWinCCOPC数据访问。

以下为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”对象分配内存;

z t ServerName, NodeName

IA&DT&BT Service & Support

Page 7-10

ServerName WinCC OPC DA 服务器的名称为 ""

NodeName:激活WinCC运行系统的计算机名称

Set MyOPCGroupColl = ups

Microsoft ExcelOPC服务器的连接一旦建立,OPC组即被创建。这个通过集合对象

来实现;

Set MyOPCGroup = (GroupName)

创建的组通过“MyOPCGroup”变量来寻址。设置cribed = True

以便OPC组能够提供DataChange等事件。

Set MyOPCItemColl = ms ’创建OPC

ms 2, ItemIDs, ClientHandles, ServerHandles, Errors

ItemIDs 存储在单元格A3/A4中,把指定的ItemIDs 传送给集合对象

"ms"

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中输入一个值,通过函数

iteOPC项写入到WinCC,写入值和服务器句柄以参数形式传递给

此函数。

Sub StopClient()

最后,断开与OPC服务器的连接。

3 Excel中通过OPC DA远程访问WinCC

可以通过DCOMOPC客户端远程访问OPC服务器WinCC OPC DA。但在A1单元

格需要输入的是远程激活WinCC运行系统的计算机名称。

IA&DT&BT Service & Support

Page 8-10

5Excel中通过OPC DA远程访问WinCC

由于远程OPC的使用是作为一个DCOM在使用,所以OPC客户端可以在网络上任何一台

计算机运行,但是必须要配置DCOM的访问权限。一个简单的方法就是,在服务器与客户端

都使用相同的用户名与密码登录。如果想配置DCOM,请参考DCOM配置的相关资料及下载

中心文档:A0265 如何配置OPC DCOM

/download/?searchText= A0265

WinCC在安装时提供了OPC的客户端控件: Siemens OPC DAAutomation

2.0( ),这个控件就是在VBA中引用到的控件。如果运行Excel的计算机上

没有安装WinCC,可以使用批处理文件reg opc注册dll文件。将整个文件夹 Reg拷贝到C:

盘下,双击reg opc即可。

如果您对该文档有任何建议,请将您的宝贵建议提交至下载中心留言板

该文档的文档编号:A0554

IA&DT&BT Service & Support

Page 9-10

附录-推荐网址

SIMATIC HMI人机界面

西门子(中国)有限公司

工业自动化与驱动技术与楼宇科技集团 客户服务与支持中心

网站首页:

WinCC下载中心

/download/?TypeId=0&CatFirst=1&CatSecond=

9&CatThird=-1

HMI全球技术资源

/CN/view/zh/10805548/130000

找答案WinCC版区:

/service/answer/?cid=1032

注意事项

应用示例与所示电路、设备及任何可能结果没有必然联系,并不完全相关。应用示例不表示

客户的具体解决方案。它们仅对典型应用提供支持。用户负责确保所述产品的正确使用。这

些应用示例不能免除用户在确保安全、专业使用、安装、操作和维护设备方面的责任。当使

用这些应用示例时,应意识到西门子不对在所述责任条款范围之外的任何损坏/索赔承担责

任。我们保留随时修改这些应用示例的权利,恕不另行通知。如果这些应用示例与其它西门

子出版物(例如,目录)给出的建议不同,则以其它文档的内容为准。

声明

我们已核对过本手册的内容与所描述的硬件和软件相符。由于差错难以完全避免,我们不能

保证完全一致。我们会经常对手册中的数据进行检查,并在后续的版本中进行必要的更正。

欢迎您提出宝贵意见。

版权© 西门子(中国)有限公司2001-2011 版权保留

复制、传播或者使用该文件或文件内容必须经过权利人书面明确同意。侵权者将承担权利人

的全部损失。权利人保留一切权利,包括复制、发行,以及改编、汇编的权利。

西门子(中国)有限公司

IA&DT&BT Service & Support

Page 10-10