首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Coding
V2EX  ›  问与答

有谁处理过 OPC 协议呢?求例子

  •  
  •   ninestep · 229 天前 · 947 次点击
    这是一个创建于 229 天前的主题,其中的信息可能已经有所发展或是发生改变。

    目前有个需求是使用 OPC 协议从组态王的接口中取出数据,原本设想是使用 Python 的 OPC 库开发,但是开发过程中遇到很多问题,举步维艰,各位大佬谁做过相关的开发,求例子,语言最好是 php,python,js 中其中一个

    6 回复  |  直到 2019-04-28 17:24:57 +08:00
        1
    ruoyu0088   229 天前
    是那个和 PLC 通讯的 OPC 吗,我用 Python 做过一个项目,没有遇到什么问题啊。
        2
    Joe0920   229 天前 via iPhone
    以前用 cpp 写过,依稀记得有 1.0 2.0 3.0 版本的都不一样吧,是个很头疼的东西
        3
    ninestep   229 天前
    @ruoyu0088 我对 opc 这方面没有了解,我用的库是`http://openopc.sourceforge.net/`这个库,然后我在本地使用`http://www.matrikonopc.com/downloads/178/index.aspx`家里了一个虚拟 OPC 接口,在使用下载的 opc 工具的时候可以访问,但是自己读服务器列表的时候就会报错
    ![1]( https://i.loli.net/2019/04/28/5cc547601ecb8.png)
    ![2]( https://i.loli.net/2019/04/28/5cc54767c4c5c.png)
        4
    loserwn   229 天前
    js opc 就算了。协议相对传统,目前也就 python 好一点。
        5
    windflyer   229 天前
    @ninestep 感觉你使用 OpenOPC 的方式有问题。


    如果通过本地 COM 访问:
    opc = OpenOPC.client()

    如果是通过网络访问(前提是在运行 OPC server 的机器上需要安装并启动一个服务来作为 proxy,这个 proxy 本质上还是通过 COM 访问 OPC server ):
    opc = OpenOPC.open_client(host, port)


    不论通过哪种方式,获得一个 opc 对象之后,就可以调用其他 API 了
    opc.servers()
    opc.connect('YOUR OPC SERVER'))
        6
    ninestep   229 天前
    @windflyer 现在的问题是用下载的 opc 软件可以连上,但是如果是自己写这两种方式全部都不行,都连不上
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2416 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 32ms · UTC 13:49 · PVG 21:49 · LAX 05:49 · JFK 08:49
    ♥ Do have faith in what you're doing.