2017-12-08 7 views
1

私は、スレーブレジスタを読み出すためにjlibmodbusライブラリを使用しています。 私は0から125までのレジスタを読み取ることができますが、レジスタ値126以上を読み込もうとすると、開始オフセットにエラーが発生するというエラーが表示されます。Jlibmodbus読込保持レジスタの制限を125に設定

私は約500のレジスタを持っていますが、どのように読み込み保持レジスタを使ってすべてを1つに読み込むのですか?

答えて

2

Modbusリードレジスタ応答(ファンクションリード入力レジスタまたはリード保持レジスタ)には、125個のレジスタ用のスペースがあります。

500個のレジスタを読み取るために4つの要求を発行する必要があります。

  • 要求1:開始アドレス= 125、レジスタの数= 125
  • 要求3:= 0、レジスタの数= 125
  • 要求2開始アドレス毎に使用すると、開始アドレスを指定して要求します。開始アドレス= 250、レジスタ数= 125
  • 要求4:開始アドレス= 375、レジスタの数=ここで使用される架空のある125の

アドレス、あなたが得るためにあなたのデバイスのModbusのマッピングをチェックする必要があります正しいもの。

関連する問題