Не могу мариновать: поиск атрибута datetime на pywintypes не удался - PullRequest
0 голосов
/ 14 февраля 2019

Я использую python 3.5 (32bit), win10-64bit, OpenOPC, и я скачал pywin32 build 64bit.Я запустил следующий код 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)

, но всегда получаю это сообщение об ошибке:

Traceback (последний вызов был последним): Файл "C: \ Program Files (x86) \ Python35-32 \ lib \ multiprocessing \ queues.py ", строка 241, в _feed obj = ForkingPickler.dumps (obj) Файл" C: \ Program Files (x86) \ Python35-32 \ lib \ multiprocessing \ Сокращение.py ", строка 50, в дампах cls (buf, protocol) .dump (obj) _pickle.PicklingError: Can't pickle: поиск по атрибуту datetime на pywintypes не выполнен.

1 Ответ

0 голосов
/ 17 февраля 2019

Я нашел решение:

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)
...