Grimsey
Level-2
- Beiträge
- 560
- Reaktionspunkte
- 33
-> Hier kostenlos registrieren
Hallo Leute,
ich habe gerade ein riesen Brett vorm Kopf.
Ich lese Daten von Wärmemengenzählern per M-Bus aus. Klappt prima.
Die Zählerwerte liegen in 4 Byte vor. Ich wandle die, wie im Screenshot zu sehen, von BCD32 nach DINT und dann von DINT nach REAL.
Klappt soweit auch prinzipiell.
Bei einem Wert allerdings, in der Schleife bei 8: bzw. "DB Energiedaten"_WMZ_HeizungHalle sind die Bytes 2 und 3 jeweils 00.
Bei der Umwandlung kommt dann 2120.0 raus, was falsch ist.
Wenn ich das, wie auch zu sehen, mal testweise nur ohne die vorherige Umwandlung von BCD nach DINT mache, passt der Zahlenwert mit 8480.0.
Das habe ich nur bei diesem Wert. Bei allen anderen ist die Wandlung korrekt.
Was übersehe ich denn hier gerade?
ich habe gerade ein riesen Brett vorm Kopf.
Ich lese Daten von Wärmemengenzählern per M-Bus aus. Klappt prima.
Die Zählerwerte liegen in 4 Byte vor. Ich wandle die, wie im Screenshot zu sehen, von BCD32 nach DINT und dann von DINT nach REAL.
Klappt soweit auch prinzipiell.
Bei einem Wert allerdings, in der Schleife bei 8: bzw. "DB Energiedaten"_WMZ_HeizungHalle sind die Bytes 2 und 3 jeweils 00.
Bei der Umwandlung kommt dann 2120.0 raus, was falsch ist.
Wenn ich das, wie auch zu sehen, mal testweise nur ohne die vorherige Umwandlung von BCD nach DINT mache, passt der Zahlenwert mit 8480.0.
Das habe ich nur bei diesem Wert. Bei allen anderen ist die Wandlung korrekt.
Was übersehe ich denn hier gerade?