我在使用Pycomm时遇到了问题。 我有两个文件:
- 用于在 while 循环中读取标签
-
是在标签中写入值
- 读取标签时,它可以正常工作并在控制台中打印值。
- 当我尝试在 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 通信。它会拦截来自设备的所有通信,因此当您启动第二个文件并启动第二个连接时,第一个连接会拦截所有数据,而第二个连接什么也得不到。