问题标签 [pymodbus]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
1278 浏览

python - 在 pymodbus 中读取多个保持寄存器

我正在使用 pymodbus 库的ModbusSerialClient。我有多个要读取的寄存器。

我能够一次读取一个寄存器,但无法弄清楚如何一次读取所有寄存器以获得更好的性能。

我试过这样的东西

但它抛出“非法地址”错误。

0 投票
1 回答
201 浏览

python - 如何摆脱 Python 代码中的 LoopingCall

我正在使用Modbuspymodbus 库中的服务器示例代码来制作数据转发器(读取一些串行数据,格式化然后将数据分配给 modbus 寄存器以供 Modbus 主设备读取)。我的问题是串行延迟(从 6 个不同的设备读取,每个设备有 5 秒的延迟,但它是随机的,它们不会同时发送数据)。在此示例中,他们使用 LoopingCall,这对我的计时不利。我如何摆脱它,所以我可以自己调用函数?

我试图摆脱:

并简单地调用:

但显然我错过了一些论点:

我的部分代码:

0 投票
1 回答
1621 浏览

pymodbus3 - Modbus TCP 客户端无法连接

背景资料:

我正在尝试从我的能量计中读取数据。我已将 gprs 调制解调器连接到仪表(通过 rs485)端口。该调制解调器通过 tcp-ip 协议将数据发送到指定的服务器和端口。在服务器(aws ec2 实例)上,我可以看到来自设备的连接。

问题:

当我尝试使用 PyModbus 连接到此设备时,我无法打开连接。

响应始终是“未连接”。

我已确保 a) 端口已打开。b) ip 地址在服务器上被列入白名单

为什么我无法连接?我在这里想念什么?

0 投票
1 回答
1022 浏览

python-3.x - pymodbus:modbus TCP 中的异常

当客户端将超出范围的数字写入我的服务器时,如何生成异常?另外,我希望我的服务器上的一些变量是只读的和其他读/写的。有什么推荐吗?

0 投票
2 回答
112 浏览

python - 从另一个类修改一个类的功能

server.sync的 pymodbus 库中,使用了SocketServer.BaseRequestHandler,定义如下:

raise NotImplementedException("方法未由派生类实现")

当客户端连接到服务器时调用 setup(),当客户端断开连接时调用 finish()。我想在另一个使用库(pymodbus)的文件的另一个类中操作这些方法(setup()和finish()),并添加一些代码来设置和完成函数。我不打算修改库,因为它可能会在特定情况下导致奇怪的行为。

---已编辑----为了澄清,我希望 ModbusBaseRequestHandler 类中的设置函数像以前一样工作并且保持不变,但是添加其他东西,但是这个修改应该在我的代码中而不是在库中完成。

0 投票
1 回答
2191 浏览

python - 如何检查 pymodbus 版本以解码 float_32 值?

我使用 pymodbus 读取和解码 float_32 值。

之前,我用下面的代码简单地解码它:


但最近我发生了这个错误:


[更新]

我认为较新的版本pymodbus已被修改(endian参数已被弃用):

参考:看起来参数已更改,但文档未更改

然后我将这一行更改如下:


问题:

现在我想检查 pymodbus 版本以了解必须使用哪个版本的解码。

0 投票
1 回答
670 浏览

python - 即使没有连接也收到 PyModbus RTU 响应

我在 Linkit MK7688 上使用 PyModbus,它使用 MAX485 连接到 Arduino UNO。以下是我写入线圈的代码。

我正在尝试在 Modbus 上没有任何连接的情况下进行此操作。在此设置中,我关闭了 Arduino,并且不希望写入请求得到响应。但是,在调试日志中,我看到事务已完成。这是错误的,因为我不应该收到任何.write_coil(). 如果某处发生环回,我如何检测它?

感谢您的回复。

0 投票
1 回答
2638 浏览

python - 使用 pymodbus 的 Modbus RTU - 无法从 modbus 数据中读取保持寄存器

大家好,我需要一些帮助

代码:

0 投票
1 回答
47 浏览

python-3.x - 升级地址pymodbus

如果程序正在运行,我如何更新在 pymodbus 中配置的服务器的地址?我试图停止服务器并重新启动它,但出现错误。

有什么建议么?

0 投票
2 回答
6539 浏览

modbus - 自动发现网络中 modbus 设备的从设备 ID

通过广播机制获得有效的ip范围后如何确定连接到网络的设备是否为modbus设备或如何自动发现连接到网关的modbus设备的slave id?