2016-10-20 7 views
0

pymodbus3을 사용하여 직렬 포트에서 작업하고 있습니다.pymodbus3로 직렬 포트 읽기

다음 코드를 실행하면 '없음'이 출력됩니다. 반면 modpoll을 사용하여 직렬 포트를 테스트 할 때 장치에서 응답을 얻을 수 있습니다.

어떻게이 문제를 해결할 수 있습니까?

from pymodbus3.client.sync import ModbusSerialClient as mbc 

def PortTest(self): 
    client = mbc(method="rtu", port="/dev/ttyUSB0", stopbits=1, bytesize=8, parity='N', baudrate=9600) 
    try: 
     client.connect() 
     coil = client.read_coils(0, 1) 
     print(coil) 
     client.close() 
    except OSError as err: 
     raise EnvironmentError(err) 
     pass 

답변

1

pymodbus3에는 버그가 있습니다. 그것을 제거하고 pymodbus 1.2.0의 python 3 브랜치로 대체하십시오. github에 가서 다운로드하십시오.

https://github.com/bashwork/pymodbus/tree/python3

+0

나는 포기했다. – bazo

+0

나는 무엇을해야할지 모르겠다. 그러나 pymodbus3는 버그로 가득하다. 나는 pymodbus 1.2.0이 py3 compat를 가지고 있다는 것을 깨닫기 위해서만 그들을 알아 내려고 노력하면서 3 일간의 시간을 낭비했다. pymodbus3에는 최근 활동이 많으므로 좋지 않습니다. 죽은 모듈이라고 말할 수는 없습니다. 그러나 그것은 소스에서 파생 된 것만 큼 확실하게 작동하지 않습니다. –