通过 pycomm 读取标签时超时



我在使用Pycomm时遇到了问题。 我有两个文件:

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

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

这是第一个文件的代码

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

当我从第二个文件写入标签时,会发生这种情况:第一个文件控制台

仅当同时执行读取或写入操作时,才会发生这种情况。

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

最新更新