【问题标题】:How to fix the error 'TypeError: can't pickle time objects'?如何修复错误“TypeError:无法腌制时间对象”?
【发布时间】:2020-06-24 20:53:58
【问题描述】:

我正在使用 OpenOPC 库从 OPC 服务器读取数据,我正在使用“Matrikon OPC 模拟服务器”,当我尝试读取数据时它向我发送以下错误:

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

【问题讨论】:

    标签: python python-2.7 opc


    【解决方案1】:

    我通过在调用opc.read() 时添加sync=True 解决了这个问题

    代码:

    import OpenOPC
    opc = OpenOPC.client()
    opc.connect('Matrikon.OPC.Simulation')
    opc.read('Random.Int4', sync=True)
    

    【讨论】:

      猜你喜欢
      • 2017-10-23
      • 2019-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-14
      相关资源
      最近更新 更多