# REAL Wert "schön" darstellen



## knuppel (24 Februar 2015)

Hallo ich habe auf einer B&R Steuerung mehrere REAL Werte (z.B. 2,889e+10) diese sollen auf dem Webserver dargstellt werden, aber ohne Exponenten. Also anstatt 2,889e+10 soll 2957,336 dargestellt werden. Wie mache ich das am besten?


----------



## Larry Laffer (24 Februar 2015)

Hallo,
dafür musst du dir eine eigene Routine erstellen, die den REAL in einen passend formatierten String ausgibt.
Die Standard-Funktion String_to_Real wandelt es dir so, wie du es eben nicht haben willst ...

Gruß
Larry


----------



## manseluk (24 Februar 2015)

Schau dir mal die oscat library an, dort sollte es fertige Funktionen geben, die dir Realwerte auf n kommastellen runden


----------



## winnman (24 Februar 2015)

Alternativ 2 Felder dazwischen das Komma.

Realwert -> INT sind mal die Stellen vor dem Komma
Int -> Real diesen Wert von original Realwert abziehen

Restbetrag Realwert mal 10, 100, 1000 oder wieviel Kommatellen du haben willst.
Real -> Int sollten die Nachkommastellen ergeben


----------



## Thomas_v2.1 (24 Februar 2015)

Meiner Meinung nach ist für die Darstellung das Anzeigeprogramm zuständig. Eine Zahl im SPS Programm in einen String zu wandeln nur weil das Anzeigeprogramm zu doof sollte eigentlich nicht die Lösung sein.
Irgendwo sollte es in deinem Programm womit du die Webseite konfigurierst, hoffentlich eine Einstellungsmöglichkeit für die Vor- und Nachkommastellen geben.


----------



## roger34 (24 Februar 2015)

Wieso nicht wie im Beispielprogramm beschrieben. 

Unter Webserver ReadPLC / Formated Optones
%.*DECIMAL*f     für REAL LREAL  Number of decimal places to be output. Can also be used for suppressing  exponential display.

Beispielprogramm
 <p>Current temperature:* <%  ReadPLC("gHeating.status.actTemp","%.1f"); %>* </p>


----------



## PN/DP (24 Februar 2015)

winnman schrieb:


> Realwert -> INT sind mal die Stellen vor dem Komma
> Int -> Real diesen Wert von original Realwert abziehen
> 
> Restbetrag Realwert mal 10, 100, 1000 oder wieviel Kommatellen du haben willst.
> Real -> Int sollten die Nachkommastellen ergeben


Tut es aber leider nicht immer. (Beispielrechnung)
Das ist ein weit verbreiteter Irrtum, selbst Siemens glaubt daß diese Rechnung funktionieren würde bzw. empfiehlt diese ungenaue Lösung für TIA. Ob dieser ungenügend getestete Lösungsvorschlag wohl von einem der TIA-Programmierer kam? 

Harald


----------



## computershooter (22 April 2015)

%2.2f sollte gehen.


----------

