#Address="opc.tcp://odroidRCU2:4842/" Address="opc.tcp://LTSpi:4842/" import sys sys.path.insert(0, "..") import logging import time from opcua import Client from opcua import ua #import numpy as np def connect(): global client,root # logging.basicConfig(level=logging.INFO) logging.basicConfig(level=logging.WARN) # client = Client("opc.tcp://localhost:4840/freeopcua/server/") client = Client(Address) client.connect() client.load_type_definitions() # load definition of server specific structures/extension objects root = client.get_root_node() return root root=connect() def disconnect(): client.disconnect() def get_value(name): var1 = root.get_child(["0:Objects", "2:PCC", "2:"+name]) return var1.get_value() def set_value(name,value): var1 = root.get_child(["0:Objects", "2:PCC", "2:"+name]) var1.set_value(value) def setRCUmask(rcu=[]): name="RCU_mask_RW" M=get_value(name) print(name," old:",M) M=[False for m in M] for r in rcu: M[r]=True set_value(name,M) print(name," new:",get_value(name)) def setAntmask(rcu=[],ant=[True,True,True]): name="Ant_mask_RW" M=get_value(name) print(name," old:",M) for i,j in enumerate(M): M[i]=False for r in rcu: for i in range(3): M[r*3+i]=ant[i] set_value(name,M) print(name," new:",get_value(name)) def callmethod(name): try: obj = root.get_child(["0:Objects", "2:PCC"])# return obj.call_method("2:"+name) except: # print("error") return None