java - Jlibmodbus 读取保持寄存器限制为 125

标签 java modbus

我正在使用 jlibmodbus 库来读取从属寄存器。 我能够读取从 0 到 125 的寄存器,但如果我尝试读取寄存器值 126 或更大,则会收到错误消息,指出起始偏移量错误。

我有大约 500 个寄存器,如何使用读取保持寄存器一次性读取所有寄存器。

最佳答案

Modbus 读取寄存器响应(功能读取输入寄存器或读取保持寄存器)具有可容纳 125 个寄存器的空间。

您需要发出四个请求才能读取 500 个寄存器。在每个请求中,您指定起始地址:

  • 请求1:起始地址=0,寄存器数量=125
  • 请求2:起始地址=125,寄存器数量=125
  • 请求3:起始地址=250,寄存器数量=125
  • 请求4:起始地址=375,寄存器数量=125

此处使用的地址是虚构的,您需要检查设备的 Modbus 映射以获得正确的地址。

关于java - Jlibmodbus 读取保持寄存器限制为 125,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47710510/

相关文章:

java - modbus4j的依赖

python - 是否可以并行运行以下网络查询?

Python modbus 库

Javascript 将 int 值转换为八位字节流数组

java - 查找类用法

java - 来自与 fragment 无关的另一个 Activity 的 fragment 中的setText

java - Hibernate saveOrUpdate 方法创建新条目/行而不是更新现有条目/行

java - 如何更改继承类中的集合类型?

modbus - 如何使用libmodbus计算出 'read/write'函数?(c代码)

java - JMockit模拟目标类的方法