我在使用 Pycomm 时遇到问题。 我有两个文件:
- 用于在 while 循环中读取标签
就是在标签中写入值
- 读取标签时,它工作正常并在控制台打印值。
- 当第一个文件在终端中运行时,当我尝试在标签中写入值时出现问题。 当我运行第二个文件写入值时,在第一个文件控制台中它开始打印:超时
这是第一个文件的代码
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
只有在同时执行读取或写入操作时才会发生这种情况。
最佳答案
按照 SLC 驱动程序的编写方式,一次只能有一个连接与 PLC 通信。它会拦截来自设备的所有通信,因此当您启动第二个文件并启动第二个连接时,第一个连接会拦截所有数据,而第二个则什么也得不到。
关于python - 通过pycomm读取标签时超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51779836/