def write_tag(addr, tag, val, plc_type="CLX"): """Write a tag value to the PLC.""" direct = plc_type == "Micro800" clx = ClxDriver() if clx.open(addr, direct_connection=direct): try: prevval = clx.read_tag(tag) if direct: time.sleep(1) write_result = clx.write_tag(tag, val, prevval[1]) return write_result except Exception: print("Error during writeTag({}, {}, {})".format(addr, tag, val)) err = clx.get_status() clx.close() print(err) return False clx.close() return False
filename="ClxDriver.log", format="%(levelname)-10s %(asctime)s %(message)s", level=logging.DEBUG ) c = ClxDriver() print c["port"] print c.__version__ if c.open("172.16.2.161"): while 1: try: print (c.read_tag(["ControlWord"])) print (c.read_tag(["parts", "ControlWord", "Counts"])) print (c.write_tag("Counts", -26, "INT")) print (c.write_tag(("Counts", 26, "INT"))) print (c.write_tag([("Counts", 26, "INT")])) print (c.write_tag([("Counts", -26, "INT"), ("ControlWord", -30, "DINT"), ("parts", 31, "DINT")])) sleep(1) except Exception as e: err = c.get_status() c.close() print err pass # To read an array r_array = c.read_array("TotalCount", 1750) for tag in r_array: print (tag) c.close()
print c['port'] print c.__version__ if c.open('172.16.2.161'): while 1: try: print(c.read_tag(['ControlWord'])) print(c.read_tag(['parts', 'ControlWord', 'Counts'])) print(c.write_tag('Counts', -26, 'INT')) print(c.write_tag(('Counts', 26, 'INT'))) print(c.write_tag([('Counts', 26, 'INT')])) print( c.write_tag([('Counts', -26, 'INT'), ('ControlWord', -30, 'DINT'), ('parts', 31, 'DINT')])) sleep(1) except Exception as e: err = c.get_status() c.close() print err pass # To read an array r_array = c.read_array("TotalCount", 1750) for tag in r_array: print(tag) c.close()