pymodbus, python 2.7 및 Windows를 사용하여 WAGO 750-881 PLC에서 레지스터를 읽는 데 문제가 있습니다. Modbus Poll 유틸리티로 잘 읽으므로 파이썬 코드에 문제가 있다고 생각합니다.pymodbus로 PLC에서 읽는 데 문제가 있습니다
from pymodbus.client.sync import ModbusTcpClient
c = ModbusTcpClient(host="192.168.1.20")
chk = c.read_holding_registers(257,10, unit = 1)
response = c.execute(chk)
print response
runfile('C:/Users/Mike/modbustest2.py', wdir='C:/Users/Mike') Exception Response(131, 3, IllegalValue)
내가 print response.registers
을 읽어야 내 코드를 인식하지만 .registers
확장이 나에게 제공 될 것 같지 않습니다 : 다음 코드를 사용하여 나는 오류가 발생합니다. print response.registers
이이 오류를 throw합니다. AttributeError: 'ExceptionResponse' object has no attribute 'registers'
어떤 점에서 도움이 될 수 있다고 생각하여 print response
오류 만 포함했습니다. 문제가 무엇인지 아는 사람 있습니까?
귀하의 도움으로 문제가 발견되었습니다. 한 번에 두 개 이상의 레지스터를 읽으려고하면 어떤 이유로 프로그램이 작동하지 않습니다. 따라서'chk = c.read_holding_registers (257,1, unit = 1)'이라고 쓰면 오류가 발생하지 않습니다. 나는 응답이 나에게 잘못된 결과를주는 또 다른 문제가 있는데, 그것은 또 다른 질문이다. 나는 다른 질문 [여기] (http://stackoverflow.com/questions/39418049/unexpected-number-when-reading-plc-using-pymodbus)을 올렸다. –