Я пытаюсь подключить PYCOMM к моему процессору CLX 5000.
Каждый раз, когда я запускаю свой код, я получаю: CommError: должен быть str, а не байты.
Я просмотрел весь код, и я не могу найти, где проблема. Все, что должно быть в строковом формате.
Я использую python3.6
Вот код:
import sys
from pycomm.ab_comm.clx import Driver as ClxDriver
c = ClxDriver()
if c.open('172.16.2.161'):
print(c.read_tag('Start'))
# Prints (1,'BOOL') if true; (0,'BOOL') if false
c.close()
Вот ошибка:
C: \ Users \ shirley \ Miniconda3 \ python.exe C: /Users/shirley/Downloads/pycomm-pycomm3/pycomm-pycomm3/examples/test_clx_comm.py
Traceback (последний вызов был последним):
Файл "C: \ Users \ shirley \ Miniconda3 \ lib \ site-packages \ pycomm \ cip \ cip_base.py", строка 617, в build_header
h + = pack_uint (length) # Длина UINT
Ошибка типа: должна быть str, а не байтами
The header is 24 bytes fixed length, and includes the command and the length of the optional data portion.
:return: the headre
"""
try:
h = command # Command UINT
**h += pack_uint(length) # Length UINT**
h += pack_dint(self._session) # Session Handle UDINT
h += pack_dint(0) # Status UDINT
h += self.attribs['context'] # Sender Context 8 bytes
h += pack_dint(self.attribs['option']) # Option UDINT
return h
except Exception as e:
raise CommError(e)
Во время обработки вышеуказанного исключения произошло другое исключение:
Traceback (последний вызов был последним):
Файл "C: \ Users \ shirley \ Miniconda3 \ lib \ site-packages \ pycomm \ cip \ cip_base.py", строка 786, в открытом виде
если self.register_session () равен None:
Файл "C: \ Users \ shirley \ Miniconda3 \ lib \ site-packages \ pycomm \ cip \ cip_base.py", строка 635, в register_session
self._message = self.build_header (ENCAPSULATION_COMMAND ['register_session'], 4)
Файл "C: \ Users \ shirley \ Miniconda3 \ lib \ site-packages \ pycomm \ cip \ cip_base.py", строка 624, в build_header
поднять CommError (e)
pycomm.cip.cip_base.CommError: должен быть str, а не байты
Во время обработки вышеуказанного исключения произошло другое исключение:
Traceback (последний вызов был последним):
Файл "C: /Users/shirley/Downloads/pycomm-pycomm3/pycomm-pycomm3/examples/test_clx_comm.py", строка 5, в
если c.open ('172.16.2.161'):
Файл "C: \ Users \ shirley \ Miniconda3 \ lib \ site-packages \ pycomm \ cip \ cip_base.py", строка 793, в открытом виде
поднять CommError (e)
pycomm.cip.cip_base.CommError: должен быть str, а не байты
Процесс завершен с кодом выхода 1