Commit 48460808 authored by yogesh.m's avatar yogesh.m

update

parent f0cb915e
......@@ -16,6 +16,16 @@ class asyncua_server():
self.server=None
self.idx=None
async def delete_all_objects(self):
root_nodes=await self.server.get_root_node().get_children()
obj_nodes=await root_nodes[0].get_children()
for node in obj_nodes:
if("ns=" in str(node)):
sub_obj = await self.server.get_node(node).get_children()
for del_node in sub_obj:
await self.server.delete_nodes([del_node])
await self.server.delete_nodes([node])
async def add_object(self,obj,hierarchy):
if(hierarchy[obj]["name"]=="String"):
var_obj= await self.server.nodes.objects.add_folder(self.idx,obj )
......@@ -31,7 +41,7 @@ class asyncua_server():
await self.server.nodes.objects.add_folder(self.idx, obj)
async def add_variable(self,obj,var):
var= await obj.add_variable(self.idx,var, 11)
var = await obj.add_variable(self.idx,var, 11)
await var.set_writable()
return var
......@@ -42,13 +52,12 @@ class asyncua_server():
# set endpoint information
url = url
self.server.set_endpoint(url)
root_nodes = await self.server.get_root_node().get_children()
obj_nodes = await root_nodes[0].get_children()
# create a new address space
uri = uri
self.idx = await self.server.register_namespace(uri)
await self.server.start()
obj = await self.server.nodes.objects.add_folder(self.idx,"myobj" )
var = await obj.add_variable(self.idx,"myvar",0)
await var.set_writable()
try:
# keep the server running until interrupted
while True:
......@@ -67,7 +76,8 @@ def hash_receive():
bytesAddressPair = UDPServerSocket.recvfrom(bufferSize)
message = bytesAddressPair[0]
hierarchy=pickle.loads(message)
if(prev_hash!=hierarchy["hash"]):
if(prev_hash!=hierarchy["hash"] and asr.idx):
asyncio.run(asr.delete_all_objects())
for object in hierarchy:
if(object!="hash"):
display_name=object
......
......@@ -26,8 +26,7 @@ UDPServerSocket.bind((localIP, localPort))
print("UDP server up and listening")
t1=threading.Thread(target=st,args=())
t1.start()
sleep(30)
print("here")
sleep(5)
opua=opcua_pack()
sock = opua.connect("opc.tcp://2.2.2.5:53531/myopc/free")
......@@ -35,6 +34,4 @@ while (True):
bytesAddressPair = UDPServerSocket.recvfrom(bufferSize)
message = bytesAddressPair[0]
datatype,value,ns,nodeid = message.decode().split("&")
if("int" in datatype):
print(value)
opua.write_opcua_value(sock,ns,nodeid, value,datatype)
\ No newline at end of file
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