如何创建一个Microsoft Excel的OPC客户端.docVIP

如何创建一个Microsoft Excel的OPC客户端.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
如何创建一个Microsoft Excel的OPC客户端

如何创建一个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:? GetQuali

文档评论(0)

cgtk187 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档