Пример #1
0
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
Пример #2
0
        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()
Пример #3
0
    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()