?header=HEXSTRING
und/oder ?value=-150&json=1
bzw. ?from=-100&to=-200&step=10&json=1
können direkte Links nutzen.?json=1
anfügen.Leistung P in Watt (kann negativ oder positiv sein). Um den 16-Bit-Wert D zu berechnen, wenden wir folgende Formel an:
D = (P − 1) mod 216
Anschließend wandeln wir D in einen 4‑stelligen Hexadezimalwert um:
Hex = HEX4(D)
FFF5
FF
), dann Low‑Byte (F5
).
P−1 = −11 → +65536 = 65525 → Hex: FFF5
P−1 = 99 → Hex: 0063
P−1 = −301 → +65536 = 65235 → Hex: FED3
Feld (Hex) | Beschreibung |
---|---|
01 |
Geräteadresse (Device Nr. 1) |
10 |
Funktionscode: 03 = Lesen, 10 = Schreiben |
0068 |
Startadresse des Registers (2 Byte) |
0001 |
Anzahl der Register (2 Byte) |
02 |
Byte Count: Anzahl der folgenden Datenbytes (1 Byte) |
FFEB |
Registerwert in Hex (2 Byte). Negativer Wert: 0xFFFF - |Wert| (in Hex) FFFFhex − 0014hex = FFEBhex (für −20 W) |
AF07 |
CRC16-Modbus (Low‑Byte zuerst). Wird über alle vorherigen Bytes berechnet. |
Zur Umrechnung eines negativen Dezimalwerts −P in 2‑Byte‑Hex:
HEX = (0xFFFF − (|P| in Dezimal)) in Hex
Beispiel für −20 W (20dec = 0x0014hex):
0xFFFF − 0x0014 = 0xFFEB
Kompletter Befehl:
01 10 00 68 00 01 02 FF EB AF 07
Aufgeschlüsselt:
01
= Device Nr. 110
= Funktionscode Schreiben0068
= Register-Adresse0001
= 1 Register02
= 2 DatenbytesFF EB
= −20 W in HexAF 07
= CRC16-Modbus