How to fix the error 'TypeError: can't pickle time objects'?
How to fix the error 'TypeError: can't pickle time objects'?
我正在使用 OpenOPC 库从 OPC 服务器读取数据,我正在使用 'Matrikon OPC Simulation Server',当我尝试读取数据时它向我发送以下错误:
TypeError: can't pickle time objects
我使用的代码如下,我从 python 控制台 运行 它。
代码:
import OpenOPC
opc = OpenOPC.client()
opc.connect('Matrikon.OPC.Simulation')
opc.read('Random.Int4')
当我 运行 行 opc.read ('Random.Int4') 时,就会出现错误。
这是变量在我的 MatrikonOPC Explorer 中的显示方式:
这是完整的错误:
Traceback (most recent call last):
File "C:\Python27\Lib\multiprocessing\queues.py", line 264, in _feed
send(obj)
TypeError: can't pickle time objects
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "C:\Users\User\PycharmProjects\OPC2\venv\lib\site-packages\OpenOPC.py", line 625, in read
return list(results)
File "C:\Users\User\PycharmProjects\OPC2\venv\lib\site-packages\OpenOPC.py", line 543, in iread
raise TimeoutError('Callback: Timeout waiting for data')
TimeoutError: Callback: Timeout waiting for data
我通过在调用 opc.read()
时添加 sync=True
解决了这个问题
代码:
import OpenOPC
opc = OpenOPC.client()
opc.connect('Matrikon.OPC.Simulation')
opc.read('Random.Int4', sync=True)
我正在使用 OpenOPC 库从 OPC 服务器读取数据,我正在使用 'Matrikon OPC Simulation Server',当我尝试读取数据时它向我发送以下错误:
TypeError: can't pickle time objects
我使用的代码如下,我从 python 控制台 运行 它。
代码:
import OpenOPC
opc = OpenOPC.client()
opc.connect('Matrikon.OPC.Simulation')
opc.read('Random.Int4')
当我 运行 行 opc.read ('Random.Int4') 时,就会出现错误。
这是变量在我的 MatrikonOPC Explorer 中的显示方式:
这是完整的错误:
Traceback (most recent call last):
File "C:\Python27\Lib\multiprocessing\queues.py", line 264, in _feed
send(obj)
TypeError: can't pickle time objects
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "C:\Users\User\PycharmProjects\OPC2\venv\lib\site-packages\OpenOPC.py", line 625, in read
return list(results)
File "C:\Users\User\PycharmProjects\OPC2\venv\lib\site-packages\OpenOPC.py", line 543, in iread
raise TimeoutError('Callback: Timeout waiting for data')
TimeoutError: Callback: Timeout waiting for data
我通过在调用 opc.read()
sync=True
解决了这个问题
代码:
import OpenOPC
opc = OpenOPC.client()
opc.connect('Matrikon.OPC.Simulation')
opc.read('Random.Int4', sync=True)