Runden einer REAL-Zahl

jimmydir
2006-05-23
2014-05-08
  • jimmydir - 2006-05-23

    Mit welchem Befehl kann man eine REAL-Zahl runden, d.h. aus 1.1 wird 1.0 und aus 1.9 wird 2.0 ?

    TRUNC geht nicht, da wird nur der Nachkommawert abgeschnitten!

     
  • Anonymous - 2006-05-23

    Originally created by: Frank Hailer

    Hi

    Dazu gibt es, zumindest von uns (3S), nichts fertiges in einer Bibliothek oder in CoDeSys. Ich habe früher schon mal ein Beispielprojekt erstellt, in dem auf- und ab-, sowie auf Nachkommastellen gerundet wird. Das Projekt habe ich angefügt.

    Grüße aus dem Allgäu, Frank Hailer

    round_real.zip [6.06 KiB]

     
  • Sydney - 2014-05-07

    Hallo, ich bin auch gerade an so einer Aufgabe. Allerdings in Verbindung mit einem Pointer. Ich muss in einem Array [1..10] REAL eine beliebige Zahl die x.5 ist auf die entsprechende Zahl auf oder abrunden. Mit TRUNC kürze ich ja nur die Nachkommastellen weg...
    Ich habe mir dein Programm mal angesehen und versuche jetzt damit eine Lösung zu finden, falls jemand aber schon etwas in der Richtung gemacht hat, wäre ich über einen Tipp sehr dankbar!
    Bin jetzt seid 1 Woche in der CoDeSys Programmierung und arbeite mich langsam aber sicher durch alle Funktionen durch.

     
  • Anonymous - 2014-05-08

    Originally created by: jl

    Hallo

    Beim konvertieren einer REAL-Zahl zu INT dann wird auch gerundet.

    zahlINT := REAL_TO_INT(3,8);

     
  • Sydney - 2014-05-08

    Ah okay! Danke ich werde es gleich mal ausprobieren.
    Kann ich eigentlich Pointer auch für FB Ausgänge benutzen? Also ich schreibe in einem FB 2x 50 Array´s vom Typ DINT in ein 100 Array DINT und lasse mir dieses über einen Pointer anzeigen, beziehungsweise in den ersten Baustein zurück holen?

    Das Thema Pointer ist noch nicht so ganz meins, da habe ich noch einiges aufzuholen...

     

Log in to post a comment.