Commit 7d99e8bd authored by olivier R-D's avatar olivier R-D

small examples update

parent cfe6d6e5
import sys
sys.path.insert(0, "..")
from opcua import Client
if __name__ == "__main__":
client = Client("opc.tcp://localhost:4841/freeopcua/server/")
# client = Client("opc.tcp://admin@localhost:4841/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"])
obj = root.get_child(["0:Objects", "2:MyObject"])
print("myvar is: ", myvar)
finally:
client.disconnect()
...@@ -14,7 +14,7 @@ except ImportError: ...@@ -14,7 +14,7 @@ except ImportError:
shell.interact() shell.interact()
from opcua import ua, uamethod, Server, Event, ObjectIds from opcua import ua, uamethod, Server, Event
# method to be exposed through server # method to be exposed through server
...@@ -73,34 +73,25 @@ if __name__ == "__main__": ...@@ -73,34 +73,25 @@ if __name__ == "__main__":
inargx = ua.Argument() inargx = ua.Argument()
inargx.Name = "x" inargx.Name = "x"
inargx.DataType = ua.NodeId(ObjectIds.Int64) inargx.DataType = ua.NodeId(ua.ObjectIds.Int64)
inargx.ValueRank = -1 inargx.ValueRank = -1
inargx.ArrayDimensions = [] inargx.ArrayDimensions = []
inargx.Description = ua.LocalizedText("First number x") inargx.Description = ua.LocalizedText("First number x")
inargy = ua.Argument() inargy = ua.Argument()
inargy.Name = "y" inargy.Name = "y"
inargy.DataType = ua.NodeId(ObjectIds.Int64) inargy.DataType = ua.NodeId(ua.ObjectIds.Int64)
inargy.ValueRank = -1 inargy.ValueRank = -1
inargy.ArrayDimensions = [] inargy.ArrayDimensions = []
inargy.Description = ua.LocalizedText("Second number y") inargy.Description = ua.LocalizedText("Second number y")
outarg = ua.Argument() outarg = ua.Argument()
outarg.Name = "Result" outarg.Name = "Result"
outarg.DataType = ua.NodeId(ObjectIds.Int64) outarg.DataType = ua.NodeId(ua.ObjectIds.Int64)
outarg.ValueRank = -1 outarg.ValueRank = -1
outarg.ArrayDimensions = [] outarg.ArrayDimensions = []
outarg.Description = ua.LocalizedText("Multiplication result") outarg.Description = ua.LocalizedText("Multiplication result")
multiply_node = myobj.add_method(idx, "multiply", multiply, [inargx, inargy], [outarg]) multiply_node = myobj.add_method(idx, "multiply", multiply, [inargx, inargy], [outarg])
# import some nodes from xml
server.import_xml("custom_nodes.xml")
# creating an event object
# The event object automatically will have members for all events properties
myevent = server.get_event_object(ObjectIds.BaseEventType)
myevent.Message.Text = "This is my event"
myevent.Severity = 300
# starting! # starting!
server.start() server.start()
print("Available loggers are: ", logging.Logger.manager.loggerDict.keys()) print("Available loggers are: ", logging.Logger.manager.loggerDict.keys())
......
...@@ -14,7 +14,7 @@ except ImportError: ...@@ -14,7 +14,7 @@ except ImportError:
shell.interact() shell.interact()
from opcua import ua, uamethod, Server, Event, ObjectIds from opcua import ua, uamethod, Server, Event
class SubHandler(object): class SubHandler(object):
...@@ -92,7 +92,7 @@ if __name__ == "__main__": ...@@ -92,7 +92,7 @@ if __name__ == "__main__":
# creating an event object # creating an event object
# The event object automatically will have members for all events properties # The event object automatically will have members for all events properties
myevent = server.get_event_object(ObjectIds.BaseEventType) myevent = server.get_event_object(ua.ObjectIds.BaseEventType)
myevent.Message.Text = "This is my event" myevent.Message.Text = "This is my event"
myevent.Severity = 300 myevent.Severity = 300
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment