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

时间:2017-12-08 08:39:32

标签: java modbus

我正在使用jlibmodbus库来读取从属寄存器。 我能够读取0到125之间的寄存器,但如果我尝试读取寄存器值126或更大,我会得到错误,说错误在起始偏移。

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

1 个答案:

答案 0 :(得分:3)

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

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

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

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