OPC UA:如何解决callmethod的错误

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

我想调用一个节点的方法,但是失败了。我尝试了很多但没有成功。这是我的代码:

import asyncio
from asyncua import Client

url = "opc.tcp://localhost:4840"
async def main():
    print(f"Connecting to {url} ...")
    async with Client(url=url) as client:

        # Calling a method
        idname = f"ns=1;s=getCurrentAbsTime"
        var2 = client.get_node(idname)
        res = await var2.call_method("getCurrentAbsTime",[])
        print(res)

if __name__ == "__main__":
    asyncio.run(main())

错误:asyncua.ua.uaerrors._auto.BadNoMatch:请求的操作没有匹配项可返回。(BadNoMatch)

请帮助我。 谢谢你

我不知道为什么会出错。我尝试了很多次输入和表格但失败了。

python client call opc-ua
1个回答
0
投票

通过父对象调用方法:

    idname = f"ns=1;s=?"
    obj = client.get_node(idname)
    result = await obj.call_method("1:getCurrentAbsTime", [])
© www.soinside.com 2019 - 2024. All rights reserved.