我是modbus的新手,但我有一个小项目可以继续工作。我需要从能量计读取一些值。我是从互联网上的一些例子中写的:
导入日志记录来自pymodbus.client ….
我想你应该设置 unit 和 port 参数,以及获取值使用 rr.registers ,因此您需要知道unit_ID值和设备端口。
unit
port
rr.registers
在大多数情况下, unit 是 1 和 port 是 502 作为modbus的默认值。
1
502
如果你想从地址读取 40012 至 40014 ,你可以读一读 40012 作为一个笨重的阅读 count=3 。
40012
40014
count=3
我改进了你的代码,尝试一下:
from pymodbus.client.sync import ModbusTcpClient client = ModbusTcpClient('192.168.80.210', port=502) if client.connect(): res = client.read_holding_registers(40012, count=3, unit=1) if not res.isError(): '''.isError() was implemented in pymodbus version 1.4.0 and above.''' print(res.registers) else: # handling error print(res) client.close()