hatte bis jetzt alle Temperaturwerte der analogen Eingänge mit der ROUND-Funktion (oscat) auf eine Stelle hinter Komma gerundet, und dann mittels %s im HMI angezeigt.
Funktioniert so weit so gut, nur das die ganzen Zahlen ohne Komma angezeigt werden, und dann bei Wechsel zwischen z.B. 11 und 11.1 °C die Werte immer hin und her springen.
Jetzt habe ich das Format %2.1f anstatt %s verwendet, und jetzt funktioniert es für einige wenige Anzeigen, aber die meisten Anzeigen "springen" immer noch und zigen die '.0' nicht an.
Was gibt es hier noch für Möglichkeiten ?
Grüsse,
Dieter
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
ja das Umwandeln in Strings würde gehen, würde mich aber zusätzlich zu den REAL-Variablen nochmals je eine Stringvariable kosten. Dies wollte ich eigentlich vermeiden.
Komisch ist ja, das der Codesys HMI einige wenige Werte richtig anzeigt, aber die meisten anderen nicht.
Grüsse,
Dieter
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Zitat:
ja das Umwandeln in Strings würde gehen, würde mich aber zusätzlich zu den REAL-Variablen nochmals je eine Stringvariable kosten. Dies wollte ich eigentlich vermeiden.
Nur so ein Denkansatz:
Lassen sich in der HMI-Variable auch z.b. real_to_str( 1234.1) anstelle von 1234.1 setzen.
Natürlich als Variable gesehen.
real_to_str( wert_a ) das Output ist dann ein String.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hallo,
hatte bis jetzt alle Temperaturwerte der analogen Eingänge mit der ROUND-Funktion (oscat) auf eine Stelle hinter Komma gerundet, und dann mittels %s im HMI angezeigt.
Funktioniert so weit so gut, nur das die ganzen Zahlen ohne Komma angezeigt werden, und dann bei Wechsel zwischen z.B. 11 und 11.1 °C die Werte immer hin und her springen.
Jetzt habe ich das Format %2.1f anstatt %s verwendet, und jetzt funktioniert es für einige wenige Anzeigen, aber die meisten Anzeigen "springen" immer noch und zigen die '.0' nicht an.
Was gibt es hier noch für Möglichkeiten ?
Grüsse,
Dieter
Hi
Wandle die REAL-Werte in STRINGS.
Bereite die STRINGS so auf, wie diese zur Anzeige gewünscht sind.
Eine geeignete Routine könntest du bei OSCAT finden.
Hallo Karl,
ja das Umwandeln in Strings würde gehen, würde mich aber zusätzlich zu den REAL-Variablen nochmals je eine Stringvariable kosten. Dies wollte ich eigentlich vermeiden.
Komisch ist ja, das der Codesys HMI einige wenige Werte richtig anzeigt, aber die meisten anderen nicht.
Grüsse,
Dieter
Hi
Nur so ein Denkansatz:
Lassen sich in der HMI-Variable auch z.b. real_to_str( 1234.1) anstelle von 1234.1 setzen.
Natürlich als Variable gesehen.
real_to_str( wert_a ) das Output ist dann ein String.