-> Hier kostenlos registrieren
Hallo liebe Foris,
hab hier ein mittelschweres Problem mit einer Datentypwandlung von Real nach 4Byte BCD.
Gerne auch in SCL.
Das BCD Format ist allerdings nicht ein Standard BCD Format, d.h. das auch Werte über 9 darin vorhaden sind.
Das Format sieht folgendermaßen aus:
B1 E2 34 56 -->entspricht +1.23456 B="+", das "E" enstpricht dem komma
D1 E2 34 56 -->enstpricht -1.23456 D="-" , das "E" enstpricht dem komma
B1 23 4E 56 -->entspricht +1234.56 B="+", das "E" enstpricht dem komma
BE 12 34 56 -->entspricht +0.23456 B="+", das "E" enstpricht dem komma
Das Komma kann also überall in den 4Byte stehen.
Ich hab schon die Realzahl in String gewandelt und anschließend in DINT gewandelt, steh jetzt jedoch total auf dem Schlauch wie ich das Komma wieder in die BCD Zahl bekommen soll.
Evtl. gibt es ja noch bestimmt einen einfacheren Weg.
Wäre schön wenn jemand einen einfacheren Lösungsansatz hätte, da wandlungen nicht unbedingt meine Särken sind.
Viele Grüße und Vielen Dank für Eure Hilfe
:sm24:
Bernd
hab hier ein mittelschweres Problem mit einer Datentypwandlung von Real nach 4Byte BCD.
Gerne auch in SCL.
Das BCD Format ist allerdings nicht ein Standard BCD Format, d.h. das auch Werte über 9 darin vorhaden sind.
Das Format sieht folgendermaßen aus:
B1 E2 34 56 -->entspricht +1.23456 B="+", das "E" enstpricht dem komma
D1 E2 34 56 -->enstpricht -1.23456 D="-" , das "E" enstpricht dem komma
B1 23 4E 56 -->entspricht +1234.56 B="+", das "E" enstpricht dem komma
BE 12 34 56 -->entspricht +0.23456 B="+", das "E" enstpricht dem komma
Das Komma kann also überall in den 4Byte stehen.
Ich hab schon die Realzahl in String gewandelt und anschließend in DINT gewandelt, steh jetzt jedoch total auf dem Schlauch wie ich das Komma wieder in die BCD Zahl bekommen soll.
Evtl. gibt es ja noch bestimmt einen einfacheren Weg.
Wäre schön wenn jemand einen einfacheren Lösungsansatz hätte, da wandlungen nicht unbedingt meine Särken sind.
Viele Grüße und Vielen Dank für Eure Hilfe
:sm24:
Bernd