Werte richtig anzeigen? Aber wie ? Mod bus Hex werte.

Hallo ihr ,

ich brauch mal eure Hilfe. Mein Stromzähler mit Mod-bus Schnittstelle soll mir die richtigen werte anzeigen.
Die meisten Werte passen aber der Wert vom Gesamtzählerstand nicht. Wenn ich im debug Fenster
vom dem Mod bus Gateway die hex Daten anschaue und es dann umrechne Passt es. Aber wie lasse ich mir das richtig anzeigen ?? Meine Idee wäre hex werte auslesen und dann Umrechnen. Aber wie ? Im Debug-fenster gibt es als Antwort
10 Zeichen 03 08 00 00 00 78 DD 1A 00 00 und wenn ich jetzt 78 DD 1A rausnehme und es umrechne Passt es.

  1. Wie kann man nur die Hex werteauslesen ohne das es umgerechnet wird ?
  2. Was muss im Script stehen damit er nur 78 DD 1A nimmt und es dann Umrechnet.

Danke für eure Hilfe

Abend!

Bzgl. richtige Hex-Zahlen ausfiltern und als Dezimal ausgeben würde mir spontan das hier einfallen:

<?
$hex = "03 08 00 00 00 78 DD 1A 00 00";
preg_match('|...............(.*)......|', $hex, $match);
$dec = hexdec($match[1]);
echo $dec;
?>

Edit: Die „.“ in preg_match stehen jeweils für ein beliebiges Zeichen. Der Teil in (.*) steht dann in $match[1] als "Ergebnis.

Grüße,
Chris

Hast du mal probiert im Modbus-Splitter MSB/LSB umzustellen ?
Michael

Hallo

Aber wie bekomme ich an die Hex werte ?

danke

Ich vermute mal einfach das der Datentyp nicht stimmt. IPS rechnet das in das Format um, welches du in der Modbus-Instanz an gibst.

Jetzt aufwendig mit einer RegisterVariable an die IO-Instanz hängen um die Daten selbst aus zuwerten halte ich für den falschen Weg (an die Daten des Debug kommst du sonst nicht)
Michael