Darstellung von Real-Variablen im HMI

dietere
2008-01-14
2008-01-15
  • dietere - 2008-01-14

    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

     
  • gravieren - 2008-01-15

    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.

     
  • dietere - 2008-01-15

    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

     
  • gravieren - 2008-01-15

    Hi

    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.

     

Log in to post a comment.