0

ここに画像の説明を入力Wago 750-881 PLC のレジスタを読み取るために pymodbus を使用しています。また、Modbus Poll ユーティリティと HMI で同じレジスタを読み取っています。Modbus Poll と HMI は正しく読み取っていますが、pymodbus プログラムはそうではありません。

コードは次のとおりです。

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」を読み取ります。他のプログラム/デバイスからレジスタを読み取ることができるため、問題がコードに関連しているに違いないことはわかっています。どんな助けでも大歓迎です。

4

1 に答える 1