저는 파이썬과 modbus를 모두 사용하는 초보자입니다. 이제는 몇 시간 동안 pymodbus를 사용하여 직렬 포트에 연결된 팬을 제어하려고합니다. 제조업체의 독점 소프트웨어를 사용하여 팬을 제어 할 수 있었기 때문에 연결 자체가 작동합니다. 그러나 내 자신의 코드는 그렇지 않습니다.Pymodbus RTU 연결 문제
모드 : RTU
전송 속도 : 19200
패리티 : 짝수
초과 1
슬레이브 팬은 다음과 같은 값으로 설정되는 매뉴얼에 따라
ID : 247 (F7h)
databits : 8
Pymodbus Library Examples에서 pymodbus 예제 코드를 수정했습니다. 이건 내 코드입니다 :
from pymodbus3.client.sync import ModbusSerialClient as ModbusClient
Fan = ModbusClient(method='rtu',port ='/dev/ttymxc1', parity = 'E', baudrate='19200', timeout=1)
connection = Fan.connect()
a = Fan.write_register(2,1, unit=0xF7)
b = Fan.read_holding_registers(2,1, unit = 0xF7)
Fan.close()
모두 읽고 다음과 같은 오류가 명령의 결과를 쓰기 :.
pymodbus3.exceptions.ModbusIOException: Modbus Error: [Input/Output] Server responded with bad response
케이블이 연결되어 있지 않거나 심지어 얻을 같은 메시지
합니까 누구나 잘못된 제안이 있습니까? 미리 감사드립니다.