REAL Wert "schön" darstellen

knuppel

Level-1
Beiträge
189
Reaktionspunkte
1
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?
 
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
 
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
 
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.
 
Wieso nicht wie im Beispielprogramm beschrieben.

Unter Webserver ReadPLC / Formated Optones
%.DECIMALf 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>
 
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? :ROFLMAO:

Harald
 
Zurück
Oben