Python OPCUA带有数组输入参数的调用方法

2024-09-30 08:31:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我是OPC UA的新手,如果这是一个非常基本的问题,请原谅

我想用两个输入参数调用一个方法。输入参数描述如下: Input arguments

我尝试的是:

evse = client.get_node("ns=6;s=::EVSE")
set_default = client.get_node("ns=6;s=::EVSE:SetDefault")
res = evse.call_method(set_default, 1, 20)

这会产生以下错误:

BadInvalidArgument: "One or more arguments are invalid."(BadInvalidArgument)

如果我用这个替换最后一行

res = evse.call_method(set_default, [1, 20])

我得到这个错误:

BadArgumentsMissing: "The client did not specify all of the input arguments for the method."(BadArgumentsMissing)

当我从UaExpert手动调用该方法时,它运行良好。 有人能给我一个如何进行的提示吗

编辑: 以下是展开的参数结构:

Argument structures


Tags: 方法clientnodedefault参数get错误res
1条回答
网友
1楼 · 发布于 2024-09-30 08:31:08

Python库是否自动为您强制转换方法参数

也许您只是在第一次尝试时没有提供正确数据类型的值;请尝试以下方法:

res = evse.call_method(set_default, 1, 20.0)

或者查看文档或源代码,看看是否需要这样做。我也不知道如果库不为您执行此强制转换,您是否需要在第一个参数中使用一个特殊的未签名“包装器”类

相关问题 更多 >

    热门问题