python可由win32com.client模块连接kepserver,用于读取工业设备数据。连接使用的参数是opcServer名称、IP地址,这里提供一个连接测试程序:
import logging
from win32com.client import gencache
logging.basicConfig(level='DEBUG')
logger = logging.getLogger('dll_dispatch')
OPC_DA_DLL = gencache.EnsureModule('{28E68F91-8D75-11D1-8DC3-3C302A000000}', 0, 1, 0) #需注册OPCDAAuto.dll
opcServer = OPC_DA_DLL.OPCServer()
def getOpcServer():
node = '127.0.0.1'
for svr in opcServer.GetOPCServers(node):
print(svr)
def connectOpc(progID):
node = '127.0.0.1'
opcServer.Connect(progID, node)
logger.info('已连接到opc - [{}:{}]'.format(node, progID))
if __name__ == '__main__':
# 获取本机可用的opcserver
getOpcServer()
# 连接KepServer
progID = input("KEPServer ID:")
connectOpc(progID)
opcServer.Disconnect()
input()
程序输出了本机可用的opcServer名称,选择一个输入回车,完成连接测试: