python之kepserver连接测试

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名称,选择一个输入回车,完成连接测试: