加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
client-minimal-Lin.py 2.13 KB
一键复制 编辑 原始数据 按行查看 历史
LinSan 提交于 2019-04-18 16:34 . add get "Views" folder capability
import sys
sys.path.insert(0, "..")
from opcua import Client
if __name__ == "__main__":
#client = Client("opc.tcp://localhost:4840/freeopcua/server/")
client = Client("opc.tcp://localhost:4842")
# client = Client("opc.tcp://admin@localhost:4840/freeopcua/server/") #connect using a user
try:
client.connect()
# Client has a few methods to get proxy to UA nodes that should always be in address space such as Root or Objects
root = client.get_root_node()
print("Objects node is: ", root)
# Node objects have methods to read and write node attributes as well as browse or populate address space
print("Children of root are: ", root.get_children())
# get a specific node knowing its node id
#var = client.get_node(ua.NodeId(1002, 2))
#var = client.get_node("ns=3;i=2002")
#print(var)
#var.get_data_value() # get value of node as a DataValue object
#var.get_value() # get value of node as a python builtin
#var.set_value(ua.Variant([23], ua.VariantType.Int64)) #set node value using explicit data type
#var.set_value(3.9) # set node value using implicit data type
# Now getting a variable node using its browse path
#myvar = root.get_child(["0:Objects", "2:MyObject", "2:MyVariable"])
myvar = root.get_children()
obj = root.get_child(["0:Objects", "2:MyObject"])
print("myvar is: ", str(myvar))
print("myobj is: ", str(obj))
# Stacked myvar access
# print("myvar is: ", root.get_children()[0].get_children()[1].get_variables()[0].get_value())
finally:
client.disconnect()
#"""\
# % Search needed signal nodes from namespace
# topNodes = uaClient.Namespace;
# simulationChildren = topNodes(2).Children;
# The NodeId’s of all Apros modules, properties, and simulation control methods are of type
# String and belong to the namespace http://www.apros.fi/OPC_UA/ (the namespace
# index is 2).
# simulationTypes = simulationChildren(1).Children;
# % Get analog signal nodes
# simulationTypesA = simulationTypes(1).Children;
#"""
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化