2017-12-08 6 views
1

Ich benutze jlibmodbus-Bibliothek, um Slave-Register zu lesen. Ich bin in der Lage, Register von 0 bis 125 zu lesen, aber wenn ich versuche, Register-Wert 126 oder größer zu lesen, erhalte ich einen Fehler, der einen Fehler beim Start-Offset sagt.Jlibmodbus Lese Holding Register Limit auf 125

Ich habe etwa 500 Register, wie lese ich alles auf einmal mit Lese-Holding-Register.

Antwort

2

Eine Modbus-Lese-Register-Antwort (Funktionen Read Input Register oder Read Holding Register) bietet Platz für 125 Register.

Sie müssen vier Anfragen zum Lesen von 500 Registern stellen. In jedem fordern Sie die Startadresse angeben:

  • Anfrage 1: Startadresse = 0, die Zahl der Register = 125
  • Anfrage 2: Startadresse = 125, Anzahl der Register = 125
  • Anfrage 3: Startadresse = 250, Anzahl der Register = 125
  • Anfrage 4: Startadresse = 375, Anzahl der Register = 125

die hier verwendeten Adressen sind fiktiv, müssen Sie Ihr Gerät Modbus-Mapping überprüfen, die erhalten richtige.