我对 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配置。
有人知道可能的解决方案的程序吗?
谢谢!
在安装了 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') 然后继续你的工作...