问题标签 [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 投票
2 回答
4825 浏览

raspberry-pi3 - Pymodbus - 在 raspberry pi3 的 uart 上通过 rs485 读取电能表的输入寄存器

我有一个电能表,我正在尝试通过 RS485 从树莓派 uart 上的仪表中检索电压、频率值

我对树莓派和 rs485 的连接如下 Rs485 DI - 树莓派的 Tx Rs485 R0 - 树莓派的 Rx Rs485 DE/RE - 树莓派的引脚 7

我的代码如下:

导入串行导入 RPi.GPIO 作为 GPIO

从 pymodbus.client.sync 导入 ModbusSerialClient 作为 ModbusClient
从 pymodbus.register_read_message 导入 ReadInputRegistersResponse

从 pymodbus.register_read_message 导入 ReadInputRegistersRequest

导入日志

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

GPIO.setmode(GPIO.BOARD) GPIO.setup(7,GPIO.OUT,initial=GPIO.LOW)

客户端= ModbusClient(方法='rtu',端口='/dev/ttyS0',停止位=1,超时=0.3,字节大小=8,奇偶校验='N',波特率='9600')

连接 = client.connect()

print "Connection" 打印连接

而1:

我收到的输出如下

0 投票
1 回答
74 浏览

raspberry-pi3 - 安装 pylibmodbus 和 cffi 的问题

我无法安装pylibmodbus库,因为cffi没有安装。
如果我尝试安装cffi,我会遇到以下问题

0 投票
0 回答
115 浏览

python - 无法从 pymodbus 导入 BinaryPayloadBuilder

我尝试在下面编写此代码:

但是会引发错误:

需要你的帮助。

0 投票
1 回答
911 浏览

python - 异常响应 (131, 3, IllegalAddress)

我知道这似乎是一个重复的问题,但提供的答案并没有解决我遇到的问题。我正在编写一个程序,使用pymodbus从ADAM 6017读取模拟通道。首先,我只是要求第一个保持寄存器 40000 或者我有它的寄存器 0,我可以使用 Simply Modbus 获得读数,但是当我在 Python 中运行我的代码时,我得到的只是异常响应(131、3、IllegalAddress)

0 投票
3 回答
1988 浏览

python - Master请求保存Arduino Slave的注册表值时如何解决Pymodbus异常

我目前正在尝试从我的 Arduino slave 接收数据到我的计算机。我成功地创建了一个 Arduino 奴隶。但是,当我尝试使用 Pymodbus 库从我的计算机接收数据时,我的代码无法从 Arduino 接收数据并引发 ModbusIOException。对于我的项目的规范,我正在尝试使用 Arduino 构建一个 Modbus RTU 来模拟一个以随机数作为读数的传感器。Arduino 代码使用 Andre Sarmento 的 Modbus-Arduino 库。

https://github.com/andresarmento/modbus-arduino

我已经检查了我的 Arduino 奴隶是否工作正常。我尝试通过 Modbus Master 仿真器 (QModMaster) 读取数据,它工作得很好。这可能证明问题本身来自于 Master 的代码。此外,串行连接似乎工作正常,因为 self.client.connect() 返回 True。

这些是 QModMaster 配置的屏幕截图。

从机配置 串口配置

大师的Python代码:

模拟从机和传感器的 Arduino 代码:

在打印 时results.registers,它应该是一个整数列表。但是,它只会引发 ModbusIOException 并显示以下消息:

它也给出了这个信息。

0 投票
1 回答
690 浏览

python - 使用 pymodbus 转换 Modbus 响应

我想将 PC 与允许 Modbus TCP 通信的智能仪表通信,PC 将成为主机,我只需要读取保持寄存器并以浮点格式显示它们。我正在使用 python 和 pymodbus 2.2.0 我的代码是:

我得到的是:

你知道如何使用 pymodbus 2.2.0 解决它吗?

0 投票
1 回答
471 浏览

python - 将modbus寄存器地址和对应的设置值存入mysql数据库

我正在尝试运行一个 Modbus 服务器代码,它只将 Modbus 寄存器地址和相应的值存储到 MySQL 数据库。例如,我想向 Modbus 服务器发送命令,将 40001 地址值设置为 25。Modbus 服务器只是将此地址和值保存到数据库中。有人对此有想法吗?我正在使用 pymodbus python 库。

0 投票
1 回答
1279 浏览

python - Pymodbus:响应中错误的字节数

我们从 RS485 设备请求 14 个响应,有时我们得到的响应没有设置的 9 个字节。那是因为它有时会在 3 个参数中回复。

当错误发生时,我从 pymodbus 得到这个消息:

我试过让 for 进入睡眠状态,这样它就不会因调用而使设备崩溃,但无论哪种方式我都能得到它们。我也读过https://wingpath.co.uk/docs/modtest/troubleshoot.html 他们这样说:

但我不知道如何在 PYMODBUS 上进行主动跟踪,该功能是正确的,另一个是用于我认为我没有使用的库

代码看起来像这样

# # #

我很想解决这个问题,也许只是再次咨询,直到我得到正确的答案。我不擅长尝试,除了那些也许有答案。

0 投票
1 回答
1785 浏览

python - AttributeError: 'ExceptionResponse' 对象在 pymodbus 中没有属性 'registers'

我想使用基于 pymodbus 和 modbus TCP 协议的代码从 SMA STP6.0 太阳能逆变器读取温度。

首先,我从https://pymodbus.readthedocs.io/en/latest/source/example/sunspec_client.html运行 Sunspec 客户端示例。此代码失败并显示以下错误消息:

AttributeError:“ExceptionResponse”对象没有属性“registers”

我在 Ubuntu 上使用 Python3 未更改地运行示例代码。

我已经研究过这个问题,但没有找到解决方案。任何帮助/指针将不胜感激。

0 投票
0 回答
297 浏览

python - 是否可以使用 pymodbus 进行 32 位数据传输并将数据值保存在 sql server 中?

我正在从 modscan32 客户端发送命令以在 pymodbus 数据库中存储 32 位无符号整数。但它显示的值与我从 modscan 客户端发送的值不同。这里附有 modscan、pymodbus 数据库和源代码的截图。 Modscan32 视图

pymodbusdb 视图