通过pycomm读取标签时超时

时间:2018-08-10 05:54:10

标签: python plc

我对Pycomm有问题。 我有两个文件:

  1. 用于在while循环中读取标签
  2. 是要在标签中写入值

    • 读取标签时,它可以正常工作并在控制台中显示价值。
    • 当我在终端中运行第一个文件时尝试在标记中写入值时出现问题。 当我运行第二个文件写入值时,在第一个文件控制台中它开始打印:超时

这是第一个文件的代码

from pycomm.ab_comm.slc import Driver as SlcDriver

c = SlcDriver()
if c.open('192.168.46.124'):
        while (1 < 3):
            try:
                print c.read_tag('N7:0')
            except Exception as e:
                print e
                pass

和第二个文件的代码

from pycomm.ab_comm.slc import Driver as SlcDriver

c = SlcDriver()
if c.open('192.168.46.124'):
        c.write_tag('N7:1',1)

此图显示第一个文件的输出: read_plc.py

当我从第二个文件写入标签时,会发生这种情况: first file console

仅在同时执行读或写操作时才会发生这种情况。

1 个答案:

答案 0 :(得分:0)

编写SLC驱动程序的方式,一次只能有一个连接与PLC通讯。它会拦截来自设备的所有通信,因此,当您启动第二个文件并启动第二个连接时,第一个连接将拦截所有数据,而第二个则什么也没得到。