You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

pymodbus使用时Modbus RTU正常但Modbus TCP通信失败问题求助

问题原因及修正方案

  • 端口配置错误:Modbus TCP默认服务端口为502,你代码中使用的端口22是树莓派默认的SSH服务端口,从日志返回的报文可看出,你实际连接到了树莓派的SSH服务而非Modbus TCP服务,因此无法解析Modbus协议报文。
  • 连接地址配置错误:你代码中填写的连接地址为localhost,指向运行脚本的本地设备,若你在PC端运行脚本连接局域网内的树莓派,需要替换为树莓派的实际局域网IP地址。
  • 额外检查项:确认树莓派上已经正常运行Modbus TCP服务端程序,且防火墙未拦截502端口的访问请求。

修正后代码示例

from pymodbus.client.sync import ModbusTcpClient
import logging

logging.basicConfig()
log = logging.getLogger()
log.setLevel(logging.DEBUG)

# modbus连接配置替换为树莓派实际IP和Modbus TCP默认端口502
client = ModbusTcpClient('替换为树莓派的局域网IP', 502)
connection = client.connect()
read=client.read_input_registers(address = 1008, count =16, unit=55)

print(read.isError())
if not read.isError():
    print(read.registers)
else:
    print('Modbus Error:', read)

内容的提问来源于stack exchange,提问作者Banks

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 12:45:01