# S7-Real in TwinCAT verarbeiten 

**URL:** <https://oscat.discourse.group/t/s7-real-in-twincat-verarbeiten/526>\
**Category:** oscat.lib fuer TwinCAT/CoDeSys\
**Created:** [25. Januar 2009 um 14:31 UTC](https://oscat.discourse.group/t/s7-real-in-twincat-verarbeiten/526 "2009-01-25T14:31:13Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/free1/uploads/oscat/original/1X/2efdfb9c592ff9a666c94dff124ee84fa863dae5.jpeg) [@system](https://oscat.discourse.group/u/system)\
**Post date:** [25. Januar 2009 um 14:31 UTC](https://oscat.discourse.group/t/s7-real-in-twincat-verarbeiten/526/1 "2009-01-25T14:31:13Z")

</div>

Hallo,

ich habe folgenes Problem:

Von einem externen Gerät erhalte ich einen Messwert als real im S7-Datenformat. Zum Beispiel wird die Zahl 721,0 als 44344000h übertragen. Wenn ich diese Zahl nun im TwinCAT auf eine real Variable schreibe kommt eine völlig “blödsinnige” Zahl heraus. Auch das Drehen der Eingangsvariable (Motorolaformat → Intelformat) 00403444h bringt nicht den gewünschten Erfolg.

Wer kann mir hier weiterhelfen?

Vielen Dank!

---

<div class="post-metadata">

**Author:** ![hugo](https://yyz2.discourse-cdn.com/free1/user_avatar/oscat.discourse.group/hugo/32/133_2.png) [@hugo](https://oscat.discourse.group/u/hugo)\
**Post date:** [25. Januar 2009 um 21:57 UTC](https://oscat.discourse.group/t/s7-real-in-twincat-verarbeiten/526/2 "2009-01-25T21:57:46Z")

</div>

dein hexadezimal wort 44344000h ist die hexadezimale darstellung einer real zahl  
die obersten 8 bits (44) sind der exponent mit vorzeichen.  
die unteren 24 bits die mantisse  
das ist ein real im ieee format 32 bits single precision

in der oscat library findest du den baustein dw\_to\_real wenn du dem die bitfolge 44344000h als dword am eingang gibst kommt am ausgang 721 heraus
