import asyncio from asyncua import Client NODE_IDS = [ 'A201CD124/MOT_01.AV_Out#Value', 'A201CJ003/PID_01.PV_Out#Value', 'A201CJ004/PID_01.PV_Out#Value', 'A201CJ011/PID_01.PV_Out#Value', 'A201CJ014/PID_01.PV_Out#Value', 'A201CJ021/MMON_01.PV_Out#Value', 'A201CJ022/MMON_01.PV_Out#Value', 'A201CJ023/MMON_01.PV_Out#Value', 'A201CJ024/PID_01.PV_Out#Value', 'A201CJ025/PID_01.PV_Out#Value', 'A201CD123/MOT_01.AV_Out#Value', 'A201CD121/MOT_01.AV_Out#Value', 'A212DD110/MOT_01.AV_Out#Value', 'A212DD130/MOT_01.AV_Out#Value', 'A212DD131/MOT_01.AV_Out#Value', 'A212DD111/MOT_01.AV_Out#Value', 'A212DD113/MOT_01.AV_Out#Value', 'A212DJ004/PID_01.PV_Out#Value', 'A212DJ021/PID_01.PV_Out#Value', 'A212DJ001/PID_01.PV_Out#Value', 'A212DJ011/PID_01.PV_Out#Value', 'A212DJ032/MMON_01.PV_Out#Value', 'A212DJ031/MMON_01.PV_Out#Value', 'A212DJ033/MMON_01.PV_Out#Value', 'A212DJ010/MMON_01.PV_Out#Value', 'A212DJ042/MMON_01.PV_Out#Value', 'A214BJ055/PID_01.PV_Out#Value', 'A214BJ065/PID_01.PV_Out#Value', 'A212BJ010/MMON_01.PV_Out#Value', 'A212BJ010/MMON_02.PV_Out#Value' ] NAMESPACE_INDEX = 1 URL = 'opc.tcp://192.168.254.5:4863' async def test(): client = Client(url=URL, timeout=10.0) # await client.set_security_string('') async with client: for nodeId in NODE_IDS: node = client.get_node(f"ns={NAMESPACE_INDEX};s={nodeId}") value = await node.read_value() displayName = (await node.read_display_name()).Text print(f"{displayName=} = {value=}") asyncio.run(test())