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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
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
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
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