关于python OpenOPC库的两个问题

时间:2014-01-23 05:31:08

标签: python opc

问题描述和环境

OpenOPC库友好且易于使用,api也很简单,但我在开发记录实时OPC项目数据的工具时发现了两个问题。

  1. 开发环境是:Window 8.1,Python 2.7.6,wxpython 2.8 unicode
  2. 测试环境是:Window XP SP3,Python 2.7.6,wxpython 2.8 unicode,Rockwell的软件logix作为OPC Server Test environment snapshot0 Test environment snapshot1
  3. 部署环境为:Window XP SP3,与Rockwell的真实PLC连接,安装RSLogix 5000和RSLinx Classic Gateway
  4. 问题

    1. opc.list函数未在test和workstaion环境中列出指定节点的所有项。问题是如何从opc服务器列出't'?
      • 在soft_1的范围内添加了一个int数组'dint100'和一个dint't'与RS logix 5000相加 Add dint tag 't' with RS logix 5000
      • 使用罗克韦尔的默认OPC客户端测试工具,它可以列出新添加的't' Rockwell's default opc test tool could display 't'
      • 使用OpenOPC库,我无法找到如何列出项目't',但我可以通过opc.read('[soft_1] t')用它的标签来读取它的值。 Try to list tag 't' with OpenOPC with pythonwin but failed
      • 如果可以列出't',可以将其添加到我工具的IO树中。 Personal opc monitor tool snapshot
    2. opc.servers函数将在部署环境中遇到OPCError,但客户端可以直接将“RSLinx OPC Server”与服务器名称连接。 opc.servers是否依赖于某些特殊的dll或服务? opc.servers function failed on deploy environments

      任何建议将不胜感激!提前致谢!

1 个答案:

答案 0 :(得分:1)

考虑到浏览问题(“opc.list”)可能不在你身边。 RSLinx因其破坏的OPC浏览而臭名昭着。尝试来自不同供应商的一些测试/模拟服务器来测试这个假设。