从PLC(micrologix 1100)到python获取数据

从PLC(micrologix 1100)到python获取数据,python,plugins,plc,Python,Plugins,Plc,我正在寻找使用python获取PLC数据的方法,以便对其进行大量处理。我只需要获取“0”和“1”值。我找到了这个python库pycomm(),其中还有一个代码段: from pycomm.ab_comm.slc import Driver as SlcDriver if __name__ == '__main__': c = SlcDriver(True, 'delete_slc.log') if c.open('172.16.2.160'): print

我正在寻找使用python获取PLC数据的方法,以便对其进行大量处理。我只需要获取“0”和“1”值。我找到了这个python库pycomm(),其中还有一个代码段:

from pycomm.ab_comm.slc import Driver as SlcDriver


if __name__ == '__main__':
    c = SlcDriver(True, 'delete_slc.log')
    if c.open('172.16.2.160'):

        print c.read_tag('S:1/5')
        print c.read_tag('S:60', 2)

        print c.write_tag('N7:0', [-30, 32767, -32767])
        print c.write_tag('N7:0', 21)
        print c.read_tag('N7:0', 10)

        print c.write_tag('F8:0', [3.1, 4.95, -32.89])
        print c.write_tag('F8:0', 21)
        print c.read_tag('F8:0', 3)

        print c.write_tag('B3:100', [23, -1, 4, 9])
        print c.write_tag('B3:100', 21)
        print c.read_tag('B3:100', 4)

        print c.write_tag('T4:3.PRE', 431)
        print c.read_tag('T4:3.PRE')
        print c.write_tag('C5:0.PRE', 501)
        print c.read_tag('C5:0.PRE')
        print c.write_tag('T4:3.ACC', 432)
        print c.read_tag('T4:3.ACC')
        print c.write_tag('C5:0.ACC', 502)
        print c.read_tag('C5:0.ACC')

        c.write_tag('T4:2.EN', 0)
        c.write_tag('T4:2.TT', 0)
        c.write_tag('T4:2.DN', 0)
        print c.read_tag('T4:2.EN', 1)
        print c.read_tag('T4:2.TT', 1)
        print c.read_tag('T4:2.DN',)

        c.write_tag('C5:0.CU', 1)
        c.write_tag('C5:0.CD', 0)
        c.write_tag('C5:0.DN', 1)
        c.write_tag('C5:0.OV', 0)
        c.write_tag('C5:0.UN', 1)
        c.write_tag('C5:0.UA', 0)
        print c.read_tag('C5:0.CU')
        print c.read_tag('C5:0.CD')
        print c.read_tag('C5:0.DN')
        print c.read_tag('C5:0.OV')
        print c.read_tag('C5:0.UN')
        print c.read_tag('C5:0.UA')

        c.write_tag('B3:100', 1)
        print c.read_tag('B3:100')

        c.write_tag('B3/3955', 1)
        print c.read_tag('B3/3955')

        c.write_tag('N7:0/2', 1)
        print c.read_tag('N7:0/2')

        print c.write_tag('O:0.0/4', 1)
        print c.read_tag('O:0.0/4')

    c.close()
请原谅我的未知,但我唯一需要知道的是,如果有足够的(172.16.2.160)ip链接到PLC,对吗

“并选择正确的标记”


感谢您以后的帮助,并为这个“罕见的问题”感到抱歉。我现在无法用PLC测试代码。(可能几周后)因此我无法成功尝试代码的这一部分。我需要开始另一部分的工作。(只是为了确保我可以用python获得数据。如果您知道python中的另一个库,请告诉我该选项)

更改IP地址就足够了。

请详细说明您的答案