Python - OPCDA 使用 OpenOPC 从远程服务器读取

问题描述 投票:0回答:1

我对 OPCDA 和 OpenOPC 有很大的问题。我应该(必须)从远程服务器读取一组标签,我无法以任何方式访问机器。我只知道IP和OPC服务器名称。

使用此代码在本地测试 OpenOPC 一切正常。否则,使用远程主机更改主机名不会出现 0x800706BA 错误。

import OpenOPC
import time

try:
    opc = OpenOPC.client()

    opc.servers()

    #change localhost to remote
    opc.connect('Matrikon.OPC.Simulation.1', 'localhost')

    srvList = opc.list()

    print(srvList)

    tags = opc.read(opc.list('Simulation Items.Random.Int*'), group='myTest')

    for name, value, quality, tagTime in opc.read(opc.list('Simulation Items.Random.Int*'), group='myTest'):
    print(name, value, quality, tagTime)

    for tag in tags:
        print(tag)

    except Exception as e:
        print('OPC failed')
        print(str(e))
        pass
    finally:
        print('END')

有人对此有什么想法吗?

无法访问服务器(设置为匿名登录),我已经尽可能进行了DCOM配置。

有人知道可能的解决方案的程序吗?

谢谢!

python dcom opc-da
1个回答
0
投票
在安装了 OPC 客户端的计算机上的命令提示符上...

运行以下命令:

opc -h 服务器的主机名或 IP 地址 -i
 您应该获得有关主机和服务器的信息

就像是 ...
协议DCOM
Matrikon.OPC.自动化类
客户端名称 OpenOPC
OPC 主机您的服务器主机名
OPC 服务器 HwHsc.OPCServer
状态运行
版本 921.4(内部版本-1)
浏览器分层
开始时间 04/17/24 15:40:57
当前时间 04/17/24 15:40:57
供应商 霍尼韦尔公司

使用该信息填写您的 opc.connect
opc.connect('HwHsc.OPCServer', 'YourServerHostName')

然后继续你的工作...
© www.soinside.com 2019 - 2024. All rights reserved.