PLCBytes
Modbus-Werkzeuge

Modbus Register-Decoder

Rohe Register einfügen und alle Lesarten sehen: 16-, 32- und 64-Bit-Ganzzahlen und Floats, in allen vier Byte-Reihenfolgen. Geben Sie den Wert ein, den Ihr Gerät anzeigt, und der Decoder findet das passende Format.

Register

Beispiel

Getrennt durch Leerzeichen, Kommas oder Zeilenumbrüche. Auch aus Modbus Poll kopierte Zeilen wie 3 = 17254 funktionieren.

Format

Wert finden

Geben Sie den Wert ein, den Zähler, Umrichter oder HMI anzeigt. Der Decoder probiert jedes Register, jeden Datentyp, jede Byte-Reihenfolge und die übliche Skalierung (÷10, ÷100, ÷1000) durch, beste Übereinstimmung zuerst.

Export für Home Assistant

Verwendet den oben gewählten Treffer; ein Klick auf einen anderen Treffer wechselt ihn. Fügen Sie das Ergebnis in configuration.yaml ein.

Verbindung

Sie haben schon einen modbus:-Hub? Kopieren Sie nur den Sensor-Eintrag unter sensors:. Starten Sie Home Assistant nach der Änderung neu.

32-Bit-Werte

Zwei Register als ein Wert gelesen. Wählen Sie das erste Register des Paars.

ReihenfolgeFloat32Int32UInt32Bytes

64-Bit-Werte

Vier Register als ein Wert gelesen, ab dem oben gewählten Register.

ReihenfolgeFloat64Int64UInt64Bytes

16-Bit-Register

AdresseHexUInt16Int16Bits 15 … 0

Läuft komplett in Ihrem Browser. Ihre Eingaben werden an keinen Server gesendet.

Byte-Reihenfolgen erklärt

Ein 32-Bit-Wert besteht aus vier Bytes A B C D, verteilt auf zwei 16-Bit-Register. Geräte ordnen sie unterschiedlich an, deshalb können dieselben Register 230.5 oder Unsinn bedeuten.

ABCD
Big-Endian. Höherwertiges Wort zuerst, wie in der Modbus-Spezifikation vorgesehen. Probieren Sie das zuerst.
CDAB
Word-Swap. Niederwertiges Wort zuerst. Sehr verbreitet bei Energiezählern und SPS.
BADC
Byte-Swap. Bytes innerhalb jedes Registers vertauscht. Selten.
DCBA
Little-Endian. Alles umgekehrt.

So lesen Sie die Ergebnisse

Modbus überträgt nur 16-Bit-Register. Was sie bedeuten – eine vorzeichenbehaftete Zahl, ein 32-Bit-Float, ein Wert in Zehnteln – legt der Gerätehersteller fest, nicht das Protokoll. Der Decoder stellt alle gängigen Lesarten nebeneinander, damit Sie sie mit der Anzeige oder der Registerkarte vergleichen können.

Typische Fehler

Fragen aus der Praxis

Warum bekomme ich statt meines Floats eine riesige Zahl oder NaN?

Die beiden Register sind mit ziemlicher Sicherheit in falscher Reihenfolge zusammengesetzt. Ein Float32 trägt Vorzeichen und Exponent in den ersten Bytes; kommt das niederwertige Wort zuerst, landen Bits der Mantisse im Exponenten und es entstehen Werte wie 4.6e-41 oder 2.6e+9. Vergleichen Sie die vier Zeilen der 32-Bit-Tabelle: Die Zeile, die zu Ihrer Anzeige passt, ist die Byte-Reihenfolge, die Ihre Software braucht.

Im Handbuch steht 40001, meine Software will 0. Was stimmt?

Beides zeigt auf dasselbe Register. 40001 ist eine Registernummer in der klassischen Modicon-Schreibweise: Die führende 4 kennzeichnet ein Holding-Register, gezählt wird ab 1. Die Anfrage auf der Leitung enthält eine nullbasierte Adresse, aus 40001 wird also 0 und aus 40002 wird 1. Die meisten Programme fragen nach der nullbasierten Adresse. Geben Sie hier 40001 als erste Adresse ein, damit die Beschriftung zu Ihrem Handbuch passt.

Welche Byte-Reihenfolge verwenden Energiezähler und Solar-Wechselrichter?

Eine feste Regel gibt es nicht. Die Modbus-Spezifikation definiert nur 16-Bit-Register, daher entscheidet jeder Hersteller selbst, wie er 32-Bit-Werte verpackt. Viele Geräte senden das höherwertige Wort zuerst (ABCD), ein großer Teil der Zähler und SPS jedoch das niederwertige zuerst (CDAB). Die Registerkarte sollte das angeben. Wenn nicht, lesen Sie einen bekannten Wert wie Netzspannung oder Frequenz und nutzen Sie „Wert finden“.

Wie füge ich Werte aus Modbus Poll oder einem Log ein?

Fügen Sie die Zeilen unverändert ein. Der Decoder nimmt den Wert nach einem Gleichheitszeichen oder Doppelpunkt, aus 0 = 17254 und 1 = 32768 werden also zwei Register. Wählen Sie Dezimal, wenn Ihre Werte dezimal sind; kann die Eingabe kein Hex sein (zum Beispiel fünfstellige Zahlen), schaltet der Decoder selbst auf Dezimal um.

Werden meine Daten irgendwohin gesendet?

Nein. Die Dekodierung läuft als Teil dieser Seite in Ihrem Browser. Nichts, was Sie einfügen, wird auf einen Server hochgeladen oder dort gespeichert.

Verwandte Werkzeuge