如何使用Excel通过OPC访问WinCC的实时数据_第1页
如何使用Excel通过OPC访问WinCC的实时数据_第2页
如何使用Excel通过OPC访问WinCC的实时数据_第3页
如何使用Excel通过OPC访问WinCC的实时数据_第4页
如何使用Excel通过OPC访问WinCC的实时数据_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

OPC(OLEforprocesscontrol)作为标准软件接口,可以使各个生产商的设备和应用程序就能以统一的方式连接起来。WinCC既可以用作OPC服务器提供数据,又可以作为OPC客户机访问其他OPC服务器中的数据。WinCC集成的OPC服务器使得过程数据可由其它应用程序(OPC客户机)访问。在Excel中可以通过VBA脚本建立OPC客户端,并通过OPC接口读取WinCC中的数据,并将修改的数据写入WinCC。1OPC规范及功能OPC是一种一致的独立于制造商的软件接口。OPC接口基于MicrosoftWindows的COM(组件对象模型)和DCOM(分布式组件对象模型)技术。另一方面,OPCXML则基于Internet标准XML、SOAP和HTTP。COMCOM是位于同一计算机上且属于不同程序的对象之间进行通讯时采用的标准协议。服务端是提供服务的对象,比如提供数据。客户端是使用由服务端提供的服务的应用程序。DCOMDCOM代表COM功能的扩展,从而允许对远程计算机上的对象的访问。该接口允许在企业、管理办公室和生产的应用程序之间进行标准化的数据交换。以前,访问过程数据的应用程序受限于通讯网络的访问协议。使用OPC标准软件接口,各个生产商的设备和应用程序就能以一致的方式连接起来。OPC客户端是访问过程数据、消息和OPC服务端归档历史数据的应用程序。访问需要通过OPC软件接口。OPC服务端是一个程序,它为不同制造商的应用程序提供一个标准的软件接口。OPC服务端是在处理过程数据的应用程序、各种网络协议和用于访问这些数据的接口之间的中间层。只有当设备的操作系统是基于WindowsCOM和DCOM技术时,才能使用OPC软件接口进行数据交换。目前,Windows2000、WindowsXP、Windows2003Server和WindowsVISTA具有这些软件接口。>XML通过DCOM的通讯仅限于局域网。通过XML的数据交换使用SOAP(简单对象访问协议)。SOAP是独立于平台的、基于XML的协议。SOAP可用于允许应用程序依靠HTTP(超文本传送协议),通过Internet或在多机种计算机网络内相互进行通讯。OPC标准软件接口由OPC基金会定义。OPC基金会是工业自动化领域中处于领先地位的各公司的联盟。WinCC的OPC服务端支持下列规范。OPC数据访问1.0、2.05a和3.0OPC历史数据访问1.20OPC报警和事件1.10OPCXML数据访问1.01OPC数据访问(OPCDA)是针对管理过程数据的规范。WinCCOPCDA服务端符合OPCDA规范1.0、2.05a和3.0。OPC历史数据访问(OPCHDA)是针对管理归档数据的规范。该规范是OPC数据访问规范的扩充。WinCCV6.2或更高版本的WinCCOPCHDA服务端符合OPCHDA规范1.20。OPC报警和事件是发送过程报警和事件的补充规范。WinCCV6.0或更高版本的WinCCOPCA&E服务端符合OPCA&E规范1.10。OPCXML标准支持通过Internet采用独立于平台的协议进行通讯。客户端不再局限于Windows环境(DCOM)。其它操作系统(如LINUX)可以使用HTTP协议和SOAP接口在Internet上监视和交换OPC数据。要使用WinCCOPCHDA、WinCC-OPC-XML-DA服务器和WinCCOPCA&E服务器,必须购买ConnectivityPack"连通性软件包"授权。"连通性软件包"授权必须安装在用作WinCCOPCHDA服务器、WinCCOPCXMLDA服务器或WinCCOPCA&E服务器的WinCC服务器上。2在Excel中通过OPCDA访问本地WinCCWinCCOPCDA服务器为其它应用程序提供WinCC项目的实时数据。应用程序能够在同一台计算机上运行或在已联网的远程计算机上运行。以这种方法,将WinCC变量的实时数据提供给MicrosoftExcel。附件程序excel_opc.xls(44KB)在MicrosoftExcel中用VBA脚本语言建立OPC客户端,并通过OPC接口读取WinCC中的数据,并将修改的数据写入WinCC。通过OPC接口,MicrosoftExcel作为OPC客户端发起通讯并发送读/写请求到OPC服务器,OPC服务器执行这些读/写请求。对于WinCCOPCDA服务器功能,需要将WinCC项目运行系统激活即可。为了能够运行Excel中的VBA宏脚本,首先需要调整安全性设置。如图1在“工具->宏->安全性”中,将Excel的安全级别设置为“中”。

图1安全性设置打开文件excel_opc.xls,在“安全警告”中选择“启用宏”。图2启用宏

在A1单元格输入运行WinCC的计算机名称。A3/A4单元格输入WinCC中变量的名称。点击按钮“启动WinCCOPC”,对应WinCC变量的当前值即可读入到Excel单元格中。直接在B3/B4单元格中修改数值,对应WinCC中的变量值也会随之修改。点击按钮“停止WinCCOPC”,停止Excel与WinCC的OPC数据访问。以下为MicrosoftExcel作为客户端的配置说明。在Excel中创建一个接口,在VisualBasic编辑器中的“工具->引用"中,选中“SiemensOPCDAAutomation2.0"组件,使VisualBasic能够识别OPC对象。[韵文件叫堀掘®视图①插入①格式训试迦运行(E)二具①]外接程序⑻筋口⑷MicrosoftVisualBasic-excel_apc.xls[设计]-[Sheetl(代码)J[韵文件叫堀掘®视图①插入①格式训试迦运行(E)二具①]外接程序⑻筋口⑷lieros^ftEscel1L0ObjectLibr<ir-lieros^ftEscel1L0ObjectLibr<ir-讶OLEAoAemati亦i.*Ihcro~sci£t匚。LIL0Clbi白匚t丄iLra.取消VBAProject屈性⑥….aemertEDFCBAAutcwatioFi2.0JIASH>filp4:rCOMtwpo口•nl1.0Typ«IASRAUIIEFreto^ol1.0TypeLibr浏逛迦…忧先级XPHrhCLH引用⑻附加控件⑻…弓I用-VBAProject可便用的引用®图3OPC引用组件创建所需的所有对象,如:“MyOPCGroup”对象Dim:创建一个变量WithEvents:这个对象可以提供事件(如DataChange)MyOPCGroup:对象名AsOPCGroup:变量类型

OptionExplicitOptionBase1DimWithEventsMyOPCServerAsOpcServerDimWithEventsMyOPCGroupAsOPCGroupDimMyOPCGroupCoilAsOPCGroupsDimMyOPCItemCollAsOPCItems图4SubStartClient()'MicrosoftExcel建立与OPC服务器的连接;SetMyOPCServer=NewOpcServer'为"MyOPCServer"对象分配内存;MyOPCServer.ConnectServerName,NodeNameServerName:WinCCOPCDA服务器的名称为"OPCServer.WinCC"NodeName:激活WinCC运行系统的计算机名称SetMyOPCGroupColl=MyOPCServer.OPCGroupsMicrosoftExcel与OPC服务器的连接一旦建立,OPC组即被创建。这个通过集合对象来实现;SetMyOPCGroup=MyOPCGroupColl.Add(GroupName)创建的组通过"MyOPCGroup"变量来寻址。设置MyOPCGroup.lsSubscribed=True,以便OPC组能够提供DataChange等事件。SetMyOPCItemColl=MyOPCGroup.OPCItems'创建OPC项MyOPCItemColl.AddItems2,ItemIDs,ClientHandles,ServerHandles,ErrorsItemIDs存储在单元格A3/A4中,把指定的ItemIDs传送给集合对象"MyOPCItemColl.AddItems"PrivateSubMyOPCGroup_DataChange()在MicrosoftExcel中,调用如下用于OPC组事件处理的程序,它是OPC服务器的DataChange事件,DataChange()这个事件处理程序提供了许多参数,如ItemValueQPC项的值),客户端句柄等。通过DataChange事件,当OPC项的值变化时,数据会自动发送。OPC项的当前值显示在单元格B3/B4中。读出值的质量代码和时间戳显示在C/D列单元格中。PrivateSubworksheet_change()如果在MicrosoftExcel的单元格B3/B4中输入一个值,通过函数MyOPCGroup.SyncWrite将OPC项写入到WinCC,写入值和服务器句柄以参数形式传递给此函数。SubStopClient()最后,断开与OPC服务器的连接。3在Excel中通过OPCDA远程访问WinCC可以通过DCOM从OPC客户端远程访问OPC服务器WinCCOPCDA。但在A1单元格需要输入的是远程激活WinCC运行系统的计算机名称。图5在Excel中通过OPCDA远程访问WinCC由于远程OPC的使用是作为一个DCOM在使用,所以OPC客户端可以在网络上任何一台计算机运行,但是必须要配置DCOM的访问权限。一个简单的方法就是,在服务器与客户端都使用相同的用户名与密码登录。如果想配置DCOM,请参考DCOM配置的相关资料及下载中心文档:A0265如何配置OPCDCOM。/download/searchResu

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论