Welcome to our new forum
All users of the legacy CODESYS Forums, please create a new account at account.codesys.com. But make sure to use the same E-Mail address as in the old Forum. Then your posts will be matched. Close

Anfängerfrage Nachkommastellen bei DIV (Wago 750-(841)

2007-04-03
2007-04-17
  • Volker 1966 - 2007-04-03

    Hallo

    Ich habe den Wert eines analogen Moduls und möchte den gerne durch 10 teilen.

    Beispiel: 178/10=17.8

    Wenn ich dazu den Funktionsblock DIV benutze liefert der mir aber 178/10=17.0

    Was muß ich tun, bzw welche Funktion muß ich benutzen um Nachkommastellen zu erhalten?

    Gruß Volker

     
  • Ralph Holz - 2007-04-03

    Hallo Volker,

    sind die Werte Konstanten geht das mit einem einfachen Trick nähmlich einfach bei Divisor oder Divident eine .0 (178.0) anhängen oder typisierte Konstanten verwenden (REAL#178). Der Hintergrund ist alle Konstanten ohne . werden als Integer interpretiert. Das Ergebniss einer Integerdivision ist eine Integer und hat keine Nachkommastellen.

    Sind Divisor und Divident Variablen dann entweder eine der beiden Variablen als REAL deklarieren oder bei einer der Beiden eine Typkonvertierung INT_TO_REAL durchführen.

    Tip aus der Praxis die ganzen Möglichkeiten ausprobieren in einem kleinen Testprogramm auf der Zielhardware nicht in Simulation!

    Gruß Ralph

     
  • Volker 1966 - 2007-04-17

    Hallo Ralph

    Danke für den Tip. Ich habe die Int. Variable einfach einer reals Variablen zugewiesen und dann geteilt. Nun gibt es auch Nachkommastellen.

    Danke Volker

     
  • Volker 1966 - 2007-04-17

    Hallo Ralph

    Danke für den Tip. Ich habe die Int. Variable einfach einer reals Variablen zugewiesen und dann geteilt. Nun gibt es auch Nachkommastellen.

    Danke Volker

     

Log in to post a comment.