如何创建一个Microsoft Excel的OPC客户端.doc_第1页
如何创建一个Microsoft Excel的OPC客户端.doc_第2页
如何创建一个Microsoft Excel的OPC客户端.doc_第3页
如何创建一个Microsoft Excel的OPC客户端.doc_第4页
如何创建一个Microsoft Excel的OPC客户端.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

如何创建一个Microsoft Excel的OPC客户端用法说明:这个说明讲述了如何在Microsoft Excel 中用VBA脚本语言建立OPC 客户端,并通过OPC接口读取PLC中的数据,以及将数据写入PLC。通过OPC接口,Microsoft Excel作为OPC客户端发起通讯并发送读/写请求到OPC服务器。OPC服务器执行这些读/写请求。Microsoft Excel 作为客户端的配置过程如下: 在Excel中创建一个接口,并保存分别申明的控制元件。图 01 在VisualBasic 编辑器中的“工具-引用”中,选中“Siemens OPC DA Automation 2.0”组件,使VisualBasic能够识别OPC对象。 现在创建所需的所有对象,如:“MyOPCGroup”对象Dim: 创建一个变量WithEvents: 这个对象可以提供事件(如 DataChange)MyOPCGroup: 对象名As OPCGroup: 变量类型图 02 为“MyOPCServer”对象分配内存:Set MyOPCServer = New . Microsoft Excel建立与OPC服务器的连接:Call MyOPCServer.Connect(ServerName) 使用如下函数来访问 Microsoft Excel的单元格信息。在本例中,从单元格(第四行,B列)中获取OPC服务器的名称。图03 Microsoft Excel与OPC服务器的连接一旦建立,OPC组即被创建。这个通过集合对象来实现:MyOPCServer.OPCGroups.Add(组名) 在本例中,最新创建的组通过“MyOPCGroup”变量来寻址。设置MyOPCGroup.IsSubscribed = True,以便OPC组能够提供DataChange等事件。图04 创建OPC项。这个通过集合对象完成:MyOPCItems(i) = MyOPCGroup.OPCItems.AddItem(ItemID) 在此例中,ItemIDs 存储在单元格(9-12行,B列)中。使用函数Cells(line, column) ,把指定的ItemIDs 传送给集合对象MyOPCGroup.OPCItems.AddItem。图05 使用下列函数从PLC中读取变量:MyOPCGroup.SyncRead() 以参数形式为此函数传递OPC项的服务器句柄。图06 从PLC读出的值显示在单元格(9-10行,E列)中。 这些读出值的质量代码和时间戳显示在单元格(9-10行,H、I列)中。函数“MyOPCGroup.SyncRead()”以返回值的形式提供这些数据。图07 在Microsoft Excel中,调用如下用于OPC组事件处理的程序,它是一个OPC服务器的DataChange 事件:DataChange()这个事件处理程序提供了许多参数,如ItemValue(OPC项的值),客户端句柄等。 通过DataChange事件,当OPC项的值变化时,数据会自动发送。OPC项的当前值显示在单元格(9-12行,D列)中。图08 如果在Microsoft Excel的单元格(9-13行,F列)中输入一个值,通过下面的函数将OPC项写入到PLC:MyOPCGroup.SyncWrite() 写入值和服务器句柄以参数形式传递给此函数。图09函数GetQualityText以字符串的形式,为预定义的错误代码传递错误消息。Private Function GetQualityText(Quality) As String Select Case Quality Case 0:GetQualityText = BAD Case 64: GetQualityText = UNCERTAIN Case 192: GetQualityText = GOOD Case 8:GetQualityText = NOT_CONNECTED Case 13: GetQualityText = DEVICE_FAILURE Case 16: GetQualityText = SENSOR_FAILURE Case 20: GetQualityText = LAST_KNOWN Case 24: GetQualityText = COMM_FAILURE Case 28: GetQualityText = OUT_OF_SERVICE Case 132: GetQualityText = LAST_USABLE Case 144: GetQualityText = SENSOR_CAL Case 148: GetQualityText = EGU_EXCEEDED Case 152: GetQualityText = SUB_NORMAL Case 216: GetQualityText = LOCAL_OVERRIDE Case Else: GetQualityTex

温馨提示

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

评论

0/150

提交评论