问题标签 [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 回答
248 浏览

python-2.7 - serialposix.py 中的“_reconfigure_port”函数在重新启动串行服务器时引发错误。使用 Pymodbus 模块

我使用 Pymodbus 模块来启动同步串行服务器。我将端口定义为'/dev/ttyUSB0'.

为了启动服务器,我使用socat. 然后我将端口的所有者从 更改rootcurrent user


以下是我使用的命令:

我第一次启动和停止服务器。但是当我尝试重新启动它时,服务器会抛出以下错误:

PS:我在 Ubuntu 上运行程序。

0 投票
0 回答
359 浏览

python - 将 pyModbus 数据检索到列表中

我正在使用 pymodbus 从我的设备中读取数据。

这是我使用的代码,它有效!

结果:

结果显示为“.registers”。但我不知道如何将值放入列表中。

0 投票
1 回答
1116 浏览

python - Raspberry Pi 3B 上的 pymodbus 和电表连接错误

我在使用 pymodbus 的树莓派 3B 上出现连接错误。使用 MAX14854G 作为 RS-485 收发器设计了一块电路板,连接到 RPI3 的 UART 引脚(8 和 10)。它通过 T1、T2 和 T4 (GND) 引脚连接到 m-system 电能表 (53U-1211-AD4/H)。

附加信息:我通过使用此过程使用 UART 的全部功能:链接

这是我的代码:

更新:

遵循@BenyaminJafari 的建议并更改了 root 权限:

我终于可以按照以下代码进行连接,但导致了不同的错误:

错误日志:

更新(添加了一些新行):

有人可以帮忙并建议我哪里出错了吗?

0 投票
0 回答
251 浏览

python - Raspberry Pi 上基于 python3 的 Modbus 正在产生 usbserial 错误

我想知道是否有任何人可以帮助解释我在串口下面遇到的错误。

我正在使用 USB 转 RS485 线连接到 epever 太阳能控制器。我有一个小的 python3 程序可以通过 Modbus 读取寄存器。我让它在 Windows 上使用 Python3 和 pymodbus 成功运行。

我找到了一些为 Raspian 编译驱动程序的说明,将其加载并接受。但是,当我运行与在 Windows 中相同的程序时,我没有得到结果并得到以下作为对 'dmesg' 命令的响应。

有谁知道这意味着什么,是否有线索可以尝试?

谢谢

0 投票
1 回答
703 浏览

c - 从用 pymodbus 编写的 modbus slave 和 C 中的 modbus master 读取寄存器时出现问题

我正在尝试创建一个 modbus 主从模型。我已经使用 pymodbus 编写了 modbus slave,而 modbus master 正在使用 c libmodbus。

从站有一堆寄存器集,寄存器 0 的值为

我在 TCP 上使用 modbus

下面是c代码

我得到低于 modbus master 的输出

Modbus 从机上的输出

我正在尝试检索寄存器的值。不知道为什么我没有得到价值

0 投票
2 回答
1422 浏览

python - pymodbus解码错误:[输入/输出]没有收到来自远程单元的响应/无法解码响应

我一直在使用 pymodbus 在我的 Raspberry Pi 3B 上解码错误。使用 MAX14854G 作为 RS-485 收发器设计了一块电路板,连接到 RPI3 的 UART 引脚(8 和 10)。目前使用 RS-485 电缆和 modbus 模拟器(Modbus 模拟器 --> RS485 电缆 --> RS-485 HAT 板 UART --> Raspberry Pi 3B)对其进行测试。

框图:

在此处输入图像描述

附加信息:我通过交换 ttyS0 和 ttyAMA0 并禁用串行控制台和蓝牙来使用 UART (ttyAMA0) 的全部功能:

这是我的代码+错误+日志:

这是解码问题还是 Raspberry Pi 3B 的 UART 设置不正确?在禁用串行控制台之前,我什至无法连接到设备。基于 Modbus 模拟器,有数据流量。

在此处输入图像描述

0 投票
2 回答
2178 浏览

python - 如何使用 pymodbus 为将读取它们的外部 Modbus 客户端写入输入寄存器

我的任务是实现一个基于 pymodbus 的 Modbus 服务器。服务器将在 Linux 机器上运行,如 Raspberry Pi 或 Up2 控制器。预计它将与我无法控制的 Modbus 客户端进行交互。该外部 Modbus 客户端期望能够读取 INPUT REGISTERS 以及保存由我的 Modbus 服务器提供服务的寄存器。

我可以设置将由外部客户端读取的 HOLDING 寄存器的值。我无法设置外部客户端将读取的 INPUT 寄存器的值。如何做到这一点?

我看到这个帖子问了一个类似的问题,但这个问题似乎没有得到回答:

如何使用 pymodbus 写入 PLC 输入寄存器

提前感谢您的帮助!

0 投票
1 回答
760 浏览

raspberry-pi3 - 是否可以通过 OpenPLC ModBus 控制 %QX0.0 LED 灯?

刚刚开始我的 OpenPLC 之旅并使用教程创建了我的第一个项目,我想知道是否可以通过发送到默认 ModBus 服务器端口 502 的数据包来打开 LED,而不是物理按下按钮?我一直在兜圈子,很乐意得到任何帮助和指导!先感谢您!

设置:1 X RPI 3 b+ 1 X LED 2 X 按钮

Raspberry pi 与 OpenPLC 一起安装,并将项目上传到 OpenPLC。PLC服务器启动后,只需按一下按钮即可打开和关闭灯。

0 投票
1 回答
1041 浏览

python - 模块名称中的 async 关键字阻止导入

我正在尝试在Python 3.7.2和 Windows 10 下使用 pymodbus。有一个名为 pymodbus.server.async 的模块在Python 2.7.14中没有问题。在 3.7 下看起来 async 现在是一个关键字,这会阻止模块被导入。我收到此错误:

有没有解决这个问题的正确方法?作为临时的权宜之计,将模块重命名为 bsync 但这不是一个可持续的解决方案。

0 投票
3 回答
1964 浏览

python - 如何停止 pymodbus 异步 ModbusTcpServer?

我想停止pymodbus异步ModbusTcpServer然后启动一个新服务器。因此,我尝试使用以下简化的代码片段,但出现错误:

出去:


[更新]

另外,我尝试使用另一个线程来停止ModbusTcpServer使用 in 中的defer_reactor_run=False参数(默认)ModbusTcpServer,但尽管如此,行为保持不变:

出去: