【问题标题】:Modbus TCP/IP on RaspberryPi wit PyModBusRaspberryPi 上的 Modbus TCP/IP 与 PyModBus
【发布时间】:2021-02-16 13:52:25
【问题描述】:

我需要使用 ModBus 协议和 Raspberry Pi 与多个模块和设备进行通信。 我在 Raspberry Pi 上使用 PyModBus 来读取/写入 Modbus 功能代码。 (https://pymodbus.readthedocs.io/en/latest/readme.html)

我能够通过 RS485 与设备通信 Modbus RTU,但现在我尝试通过以太网电缆通信 ModbusTCP 并不断遇到以下错误:

import pymodbus
from pymodbus.client.sync import ModbusTcpClient
client = ModbusTcpClient('127.0.0.1')
connection = client.connect()

输出: ERROR.pymodbus.client.sync:连接到(127.0.0.1, 502)失败:[Errno 111] 连接被拒绝

有什么错误提示或解释吗?

【问题讨论】:

    标签: raspberry-pi4 modbus-tcp pymodbus


    【解决方案1】:

    127.0.0.1 是一个loopback address;这意味着ModbusTcpClient('127.0.0.1') 将尝试建立与 Pi 的连接。除非在 Pi 上运行 Modbus 服务器,否则您收到的错误是意料之中的。

    “我正在尝试通过以太网电缆与 ModbusTCP 通信”表示您正在与另一个应该有自己的 IP 地址的设备通信。您需要弄清楚该地址是什么,并在尝试连接时使用该地址(以及确保您的网络设置有效)。用于设置/确定设备地址的方法因设备而异,因此您需要查看文档(您没有指定设备是什么)。

    【讨论】:

    • 嗨,我只是对 ModbusTCP 上给出的示例感到困惑。我最终通过 ModbusTcpClient("xxx,x,x,x) 传递了我的设备 ip,并将我的 ip 地址从 DHCP 更改为 pi 上的静态并且通信没有问题。感谢您的回复!
    猜你喜欢
    • 2016-09-06
    • 1970-01-01
    • 2020-07-16
    • 2015-03-08
    • 2021-12-05
    • 2019-10-27
    • 1970-01-01
    • 2020-12-01
    • 2019-11-27
    相关资源
    最近更新 更多