opcua python set_node 来自客户端 BadTypeMismatch

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

我在从 python 客户端为 opcua 中的节点设置值时遇到问题。事实上,当我使用 set_node(intValue) 时出现错误,我得到了错误的类型不匹配。 代码是:

time.sleep(1)
nodo = client.get_node("ns=1;i=68") 
nodo.set_value(0)
time.sleep(1)
nodo = client.get_node("ns=1;i=68")  
nodo.set_value(1) 

我得到的错误是: opcua.ua.uaerrors._auto.BadTypeMismatch:“为属性提供的值与属性值的类型不同。”(BadTypeMismatch)

python automation client-server plc opc-ua
1个回答
3
投票

必须匹配正确的ua类型。 要找到正确的类型,您可以使用另一个测试客户端 UAExpert 或阅读服务器的文档。

可能的类型是

  • ua.UInt32
  • ua.Int32
  • ua.Int16
  • ua.UInt16
  • ua.UInt64
  • ua.Int64
  • ua.Byte(无符号 8 位)
  • ua.SByte(有符号 8bit)
  • ...

例如 UInt32:

nodo.set_value(ua.UInt32(1)) 
© www.soinside.com 2019 - 2024. All rights reserved.