猿问

读取/写入时 modbus 错误无法连接到 ModbusTcpClient

最近我的任务是一个涉及读取 Modbus 数据的项目,特别是 pymodbus 包。在深入研究这个项目之前,我想用 python 模拟一些 Modbus 数据的读写(无需使用机器)。使用他们主页上的示例数据,我尝试使用客户端编写但遇到 Modbus 错误


我试过调查此事,看看我能挖掘出什么,想知道我是否需要一个服务器来写或读。但是,我不确定根据我在套接字和串行方面的经验,我只需要建立与正确端口的连接即可简单地写入(但我知道 Modbus 是不同的)。


这是代码


client = ModbusTcpClient('localhost')

client.write_coil(1, True)

result = client.read_coils(1,1)

print(result.bits[0])

client.close()

这是我的错误“pymodbus.exceptions.ConnectionException:Modbus错误:[连接]无法连接[ModbusTcpClient(localhost:502)]”


我希望输出简单地写入 Modbus 而不需要任何东西,不一定在另一端监听,但是在尝试连接/写入时我不断收到错误消息。(对不起,如果这很难理解,我的大脑到处都是,而且我对 Modbus 非常陌生)。


慕婉清6462132
浏览 750回答 1
1回答

皈依舞

如果你想发送 Modbus 查询并且你没有任何 Modbus 硬件,你需要在你的计算机上运行一个虚拟的 Modbus 服务器。你可以看看例子。您可能还需要在防火墙中为端口 502 添加规则。如果您在 Linux 上,您可以将端口切换到更高的端口号,例如两端的 5020,以避免此问题。
随时随地看视频慕课网APP

相关分类

Python
我要回答