如何创建一个Microsoft Excel的OPC客户端.docx
-
资源ID:3407609
资源大小:37.77KB
全文页数:4页
- 资源格式: DOCX
下载积分:6.99金币
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
如何创建一个Microsoft Excel的OPC客户端.docx
如何创建一个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: 这个对象可以提供事件中获取OPC服务器的名称。 图 03 · Microsoft Excel与OPC服务器的连接一旦建立,OPC组即被创建。这个通过集合对象来实现: MyOPCServer.OPCGroups.Add · 在本例中,最新创建的组通过“MyOPCGroup”变量来寻址。设置MyOPCGroup.IsSubscribed = True,以便OPC组能够提供DataChange等事件。 图 04 · · 创建OPC项。这个通过集合对象完成: MyOPCItems(i) = MyOPCGroup.OPCItems.AddItem(ItemID) 在此例中,ItemIDs 存储在单元格中。使用函数Cells(line, column) ,把指定的ItemIDs 传送给集合对象"MyOPCGroup.OPCItems.AddItem"。 图 05 · · 使用下列函数从PLC中读取变量: MyOPCGroup.SyncRead 以参数形式为此函数传递OPC项的服务器句柄。 图 06 · · 从PLC读出的值显示在单元格中。 这些读出值的质量代码和时间戳显示在单元格中。函数“MyOPCGroup.SyncRead”以返回值的形式提供这些数据。 图 07 · 在Microsoft Excel中,调用如下用于OPC组事件处理的程序,它是一个OPC服务器的DataChange 事件: DataChange 这个事件处理程序提供了许多参数,如ItemValue(OPC项的值),客户端句柄等。 · 通过DataChange事件,当OPC项的值变化时,数据会自动发送。OPC项的当前值显示在单元格中。 图 08 · 如果在Microsoft Excel的单元格中输入一个值,通过下面的函数将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: GetQualityText = "UNKNOWN ERROR" End Select End Function 最后,断开与OPC服务器的连接。 图 10 在此下载在Microsoft Excel中实现OPC客户端编程的Visual Basic 示例程序。 此外,条目ID23829402包含一个使用Microsoft Excel 和VBA,创建个性化、可视化接口的简单程序。 注意: 对于通过DCOM访问OPC服务器,使用Microsoft Excel 作为客户端的本示例程序没有经过测试。