0
wym 750-881 PLC의 레지스터를 읽으려면 pymodbus를 사용하고 있습니다. 또한 Modbus Poll 유틸리티와 HMI에서 동일한 레지스터를 읽습니다. Modbus Poll 및 HMI는 올바르게 읽었지만 pymodbus 프로그램은 올바로 읽지 않습니다. 여기 pymodbus를 사용하여 PLC를 읽을 때 예기치 않은 번호
from pymodbus.client.sync import ModbusTcpClient
c = ModbusTcpClient(host="192.168.1.20")
chk = c.read_holding_registers(257, 1, unit = 1)
response = c.execute(chk)
print response.getRegister(0)
코드 실행의 반응이다 : 여기서
코드이다
가
>>> runfile('C:/Users/Mike/modbustest2.py', wdir='C:/Users/Mike')
18283
올바른 출력되어야한다 2043 또한에서 동일한 번호 "18283"를 읽어 다른 레지스터들. 나는 다른 프로그램/장치에서 레지스터를 읽을 수 있기 때문에 문제가 코드와 관련되어야한다는 것을 안다. 어떤 도움을 주셔서 감사합니다.
Modbus Poll의 그림을 추가했습니다. –
이 주소에서 +/- 1을 읽으려고 시도 했습니까? 257 대신 40257을 읽으려고 했습니까? 나는 당신이 사용하고있는 Modbus Poll 유틸리티에 익숙하지 않아서 파이썬 코드가하는 일과 실제로 무엇을하는지 확신 할 수 없다. Wireshark가 이상적입니다. –
@mikec. 이걸 알아 냈어? –