在手册2中,地址是 0x301 十六进制。 尝试 client.read_coils address = 769 count = 1 。 地址应以十进制格式给出(十六进制 0x301 = dec 769 )。
0x301
client.read_coils address = 769 count = 1
769
每个Modbus从站/服务器都有一个 UNIT_ID ,所以你需要添加它 .read_coil() 方法。
.read_coil()
在许多情况下 unit 论证等于 1 默认情况下在Modbus从站端。
unit
1
这是一个例子(Modbus客户端):
pymodbus.console tcp --host 192.168.178.200 --port 502 client.connect client.read_coils address=301 count=1 unit=1
这是另一个多次阅读的例子 .read_holding_registers() 及其解码器:
.read_holding_registers()
client.read_holding_registers count=4 address=9 unit=1 { "registers": [ 60497, 47134, 34091, 15424 ] } result.raw { "registers": [ 15626, 55203, 28733, 18368 ] } result.decode word_order=little byte_order=little formatters=float64 28.17
[ 的 注意 强> ]:
read_coil()
read_holding_registers()
301
=
count=1
count 1