我正在使用python 3.5(32位),win10-64位,OpenOPC,并且我已经下载了pywin32 build 64位。我已经运行了以下python代码:
import OpenOPC
import time
opc=OpenOPC.client()
opc.connect('Matrikon.OPC.Simulation.1')
tags =['Random.Int4','Random.Real4']
while True:
try:
value = opc.read(tags,group='Group0',update=1)
print (value)
except OpenOPC.TimeoutError:
print ("TimeoutError occured")
time.sleep(5)
但我总是收到此错误消息:
回溯(最近一次通话最近):文件“ C:\ Program Files (x86)\ Python35-32 \ lib \ multiprocessing \ queues.py“,第241行,在_feed中 obj = ForkingPickler.dumps(obj)文件“ C:\ Program Files(x86)\ Python35-32 \ lib \ multiprocessing \ reduction.py”,第50行,在转储中 cls(buf,protocol).dump(obj) _pickle.PicklingError:无法腌制:在pywintypes上的属性查找日期时间失败。
答案 0 :(得分:0)
我找到了解决方法:
import OpenOPC
import time
import pywintypes
pywintypes.datetime = pywintypes.TimeType
opc=OpenOPC.client()
opc.servers()
opc.connect('Matrikon.OPC.Simulation.1')
tags =['Random.Int1','Random.Real4','Random.Int2','Random.Real8']
while True:
try:
value = opc.read(tags,group='Group0',update=1)
print (value)
except OpenOPC.TimeoutError:
print ("TimeoutError occured")
time.sleep(1)