OpenOPC时间单位

2024-06-16 12:47:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用python和OpenOPC连接到SCADA服务器。我的标签显示没问题 除了随机读了几次之后(30到50次),我得到了 超时错误。在

File"test7.py", line 12 in <module>
value=opc.read(group='mygroup')
File "C:\OpenOPC\src\OpenOPC.py" line 619, in read
    return list(results)
File "C:\OpenOPC\src\OpenOPC.py" line 537, in iread
raise TimeoutError, 'Callback:Timeout waiting for data'
OpenOPC.TimeoutError:Callback: Timeout waiting for data

有没有接触过OpenOPC的人知道如何恢复 或者忽略错误并继续。我不介意失踪 奇数值只要程序不崩溃。在

^{pr2}$

Tags: inpysrcforreaddata错误line
1条回答
网友
1楼 · 发布于 2024-06-16 12:47:46

您可以用这样的try-catch块包围代码:

#!C:\Python27\python.exe
import OpenOPC

opc = OpenOPC.client()
import datetime, threading, time
opc.connect('Citect.OPC.1')
tags = ['Loop_3_SP']
opc.read(tags, group='mygroup', update=1)
while True:
  try:
     value = opc.read(group='mygroup')
     print value
  except OpenOPC.TimeoutError:
     print "TimeoutError occured"

  time.sleep(10)

这将捕获错误并只打印发生的错误。如果您不希望在发生TimeoutError时发生任何事情,只需使用用户pass而不是print语句。在

相关问题 更多 >