-> Hier kostenlos registrieren
Modbus: "Illegal data address" Fehler in Holding Register in zulässigem Bereich
Bei den Unit-Tests für einen Modbus-Treiber am Testobjekt einer Wago-Steuerung bin ich über folgendes Verhalten gestoßen:
Das Verhalten verwundert mich, da ich angenommen hatte, dass Geräte, welche Modbus unterstützen, sich auf eine der beiden folgenden Arten im Bezug auf Read Holding Registers (3) verhalten:
Keine der beiden oben genannten Thesen würde das vorgefundene Verhalten erklären, deswegen hier meine Fragen:
Vielen Dank für jede Hilfe!
Bei den Unit-Tests für einen Modbus-Treiber am Testobjekt einer Wago-Steuerung bin ich über folgendes Verhalten gestoßen:
- Ich kann die Holding Register 0 bis 1022 auslesen.
- Ich kann die Holding Register 1022 bis 13000 nicht auslesen. Ich bekomme eine "illegal data address" Fehlermeldung.
- Ich kann die Holding Register 13000 bis 25000 auslesen.
Das Verhalten verwundert mich, da ich angenommen hatte, dass Geräte, welche Modbus unterstützen, sich auf eine der beiden folgenden Arten im Bezug auf Read Holding Registers (3) verhalten:
- Jedes Gerät unterstützt die volle Reichweite an Adressen zwischen 0x0000 und 0xFFFF.
- Jedes Gerät unterstützt Adressen im Bereich 0x0000 bis N, wobei N <= 0xFFFF
Keine der beiden oben genannten Thesen würde das vorgefundene Verhalten erklären, deswegen hier meine Fragen:
- Ist eine der Thesen über das erwartete Verhalten bei Lesezugriffen zutreffend und mein Gerät verhält sich fehlerhaft? Wenn nein, welches Verhalten kann ich erwarten?
- Gibt es einen anderen Grund, als "out of bounds" für eine "illegal data address" Fehlermeldung die das Verhalten erklären könnte?
Vielen Dank für jede Hilfe!
Zuletzt bearbeitet: