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

python - pymodbus:请求创建和响应接收

谁能解释如何通过 Modbus TCP/IP 使用 pymodbus 以正确的方式创建请求并获得响应?

我有PLC,我想用作从站和PC - 作为主站。

我试图这样做:

0 投票
2 回答
5829 浏览

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

我正在尝试运行这段代码:

但我只得到这个:

另一方面,这个 C 代码(使用 libmodbus)正在工作:

我究竟做错了什么?

0 投票
1 回答
3712 浏览

python - pymodbus 和 pymodbus3 模块有什么区别?

希望你过得很好!我最近开始使用 python 进行 modbus 通信。我想澄清我的几个疑问。

  1. 什么模块更适合使用 Python 实现 modbus - minimummodbus、pymodbus、pymodbus3 或其他。
  2. 我正在使用 python3.4但无法使用 pip 或任何方式安装 pymodbus 模块。所以我安装了 pymodbus3
  3. 在使用 pymodbus3 模块时,我能够使用以下代码编写线圈:

    /li>

读取线圈状态(功能 0x01):

它返回无。

或者写入注册和阅读也不起作用:

欢迎积极回应!

0 投票
3 回答
5019 浏览

python - Modbus 错误:[输入/输出] 未收到来自远程单元的响应

我正在尝试使用“安装”到/dev/cu.SLAB_USBtoUART.

这是我的代码:

控制台中的输出是:

我很想在理解我遇到的错误方面有所帮助。我尝试了配置pymodbus以及不同的功能,如read_discrete_inputsor read_holding_registers。有什么帮助吗?

谢谢

0 投票
1 回答
830 浏览

python - Pymodbus 和异步串行客户端

我正在尝试将一些寄存器读/写到一些 modbus 设备。我的软件使用 Python 3.4 和 Twisted,所以我想要一个与此类堆栈集成并允许异步通信的库。

我正在尝试使用 pymodbus 来实现 modbus 串行客户端,但该库似乎不再提供 ModbusSerialClient 了?

以下代码:

将使用 pymodbus 1.4.0 在 Python 3.4 上引发 ImportError。

标准示例使用 ModbusClient 和 connectTCP,但 Twisted 还没有提供串行端点。

我已经看到有一个 StartSerialServer,但我不清楚是否以及如何使用它。

我想通过 pymodbus 获得用于读/写寄存器的语法,或者对另一个工作库提出建议,只要它可以在带有 tty、Python 3.x 和 Twisted 的 Linux 上工作。

0 投票
1 回答
2948 浏览

python - 使用 pymodbus 模块的 Python Modbus 服务器

我想创建一个 Modbus 服务器(IP 地址:152.168.96.11 - 与系统相同)和在不同系统中运行的 Modbus 客户端(IP 地址:152.168.96.32)。我的客户端应用程序运行成功,我正在使用 pymodbus 服务器应用程序创建 Modbus 服务器应用程序。32 位数据交换(为测试目的读取或写入)。我想读取和写入特定地址的值到 Modbus 客户端。

如何配置 python pymodbus 服务器,服务器能够读取和写入数据到客户端 IP 地址

这是 pymodbus 服务器应用程序 -

0 投票
0 回答
63 浏览

python - 正确的python程序顺序/时序

我有一个 python 程序,它读取串行端口,然后充当 ModbusTCP 服务器更新 Modbus 寄存器。我在使用 Modbus 客户端读取 Modbus 寄存器时遇到问题,如果我设置时间 = 5 # 更新延迟它甚至不显示值,如果我将其设置为 10 它会更新值并且我可以使用 modbus 客户端读取它们,但是值更新太慢了。

我明白这个问题。从串口读取应该是单独的功能,它应该等待串口接收到值,然后将这些值添加到 modbus 服务器寄存器。在串行端口等待值时,modbus 客户端应该能够读取已添加到 modbus 服务器寄存器的值。

LoopingCall 调用 updates_writer()时,它执行ser_read_JB1 = ser_JB1.read(386)并且我认为代码只是停在那里等待接收串行数据并且在它等待时# modbus 部分没有执行,所以 modbus 客户端正在请求数据,但是 modbus服务器无法响应。

代码:

0 投票
0 回答
56 浏览

python - 使用 Python 的 PI 上的 Modbus 可以工作,但只有空结果

在我在 PI 上进行的第一次 Modbus 实验中,我可以连接到设备。但是我返回的所有值都是零。正如您从我的代码中看到的那样,我对此并不陌生。我究竟做错了什么?

0 投票
1 回答
1722 浏览

python - pymodbus“单位”参数是什么意思?

我有一些在 pymodbus 1.2 下编写的 modbus TCP 代码,相关代码是

result = modbus_client.read_holding_registers(40093, 3)

更新到 pymodbus 1.4.0 后,它无法工作,直到我将新的 unit 参数添加到函数调用中(示例中都有 unit=1):

result = modbus_client.read_holding_registers(40093, 3, unit=1)

pymodbus read_holding_registers()中的unit参数是什么意思?我似乎无法在任何地方找到解释。消息来源说“:param unit:此请求所针对的从属单元”,但我不明白这是什么意思,也不明白除了 1 之外的其他选择。

0 投票
0 回答
341 浏览

python - 主尝试在树莓派中使用 python 通过 modbus 串行控制台读取几个寄存器时出现问题

我正在使用通过串行控制台连接到其他系统的 RasPi。我的另一个系统正在运行 modbus master,而 Raspi 正在充当 modbus slave。Raspi 已写入一些寄存器值,并且 master 不断要求一些寄存器值。

下面是奴隶的代码

在 Raspi 上获取日志为

在 Master 上,无法检索某些寄存器。有时它能够读取寄存器,下一次读取成功。

任何人都知道我在这里做错了什么