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)