OSCAT Forum

oscat.lib => Modulentwicklung / Module Development => Thema gestartet von: Mudla am 23. Februar 2013, 15:30:46

Titel: IEEE_to_REAL [gelöst]
Beitrag von: Mudla am 23. Februar 2013, 15:30:46
Hallo Gemeinde,

ich muss 2 Words im IEEE754-Format in eine Real umwandeln. Gibt es dazu ev. schon einen Baustein von OSCAT, oder ist einer in Planung?

Mein Problem ist, dass ich zwar von Möller eine Bibliothek mit so einem Baustein habe (XS40-FB.lib), der jedoch gleichnamige Bausteine hat wie die OSCATbasic.lib (zB. DAY_OF_WEEK). Und des weiteren würde mich interessieren, wie das "Profis" programmieren :)

Grüße
Mudla
Titel: Re: IEEE_to_REAL
Beitrag von: peewit am 23. Februar 2013, 19:08:48
hallo

das sollte eigentlich kein problem sein

oscat basic library

bausteine: DW_TO_REAL und REAL_TO_DW

Titel: Re: IEEE_to_REAL
Beitrag von: Mudla am 23. Februar 2013, 22:27:22
Danke peewit,

genau das, was ich brauche :)

Könntest du mir ev. noch etwas dazu erklären, warum das so funktioniert? Laut Wiki muss man da doch ne ziemiche Rumrechnerei machen?

Grüße
Mudla

Ps. Vielleicht könnte man in der Doku einen Verweiss drauf machen, dass das für Umrechnungen nach IEEE 754 geeignet ist, für die nicht so versierten Benutzer wie mich?
Titel: Re: IEEE_to_REAL [gelöst]
Beitrag von: peewit am 24. Februar 2013, 12:46:42
hallo

eine kommazahl in das 32bit real format umzurechnen ist gar nicht so einfach
das stimmt
aber wir brauchen nichts berechnen oder umrechnen

die lösung ist total simple

eine real variable benötigt auf deiner sps genau 32bit
diese 32 bit werden nach der norm benutzt um deine real zahl zu definieren

und genau den speicherinhalt (32bit) dieser real-variable liest der baustein direkt aus und gibt den wert als dword aus
und umgekehrt.

es wird also nichts konvertiert sondern nur der internen variablenspeicher ausgelesen bzw beschrieben
Titel: Re: IEEE_to_REAL [gelöst]
Beitrag von: Mudla am 24. Februar 2013, 22:09:40
Klingt logisch :)

Danke dir für die Erklärung.

Grüße
Mudla