Int Variable mit 1 Kommastelle

Anonymous
2008-12-21
2011-01-23
  • Anonymous - 2008-12-21

    Originally created by: Patrik Bärtschi

    Hallo miteinander

    Ich habe folgendes Problem: Für die Webvisu habe ich haufenweise Temperaturen anzuzeigen, die ich direkt von der Wagoklemme in 1/10 Grad Auflösung erhalte. Leider geht die Darstellung mit float nicht (%2.1f) und die anderen Formatierungen haben keine Kommastellen. Hat jemand eine praktikable Lösung, ohen in der Steuerung Werte zu wandeln?

     
  • Oberchefe - 2008-12-21

    einfach die Formel mit angeben, also /10.

     
  • Anonymous - 2008-12-22

    Originally created by: Patrik Bärtschi

    Danke für die rasche Anwort. Dann habe ich aber nur noch ganze Grade...

     
  • gravieren - 2008-12-23

    Int grad = 210; Von Temperaturmodul (21,0°C)

    real f_grad;

    f_grad := grad / 10.0

    Sodann die Gradzahl als float anzeigen f_grad mit (%2.1f)

    Oder der Wert z.b. 210 (21,0°C) sofort in eine real-zahl wandeln.

     
  • Anonymous - 2009-01-02

    Originally created by: Patrik Bärtschi

    Die Wandlung machst du aber in der Steuerung und nicht in der Visualisierung, oder?

    Bei WinCC Flexible gibts die Möglichkeit, das Komma einer Zahl an der gewünschten Stelle zu setzen. Gibts die bei der Codesys Visualisierung nicht?

     
  • gravieren - 2009-01-03

    Hi

    Noch mal das ganze von vorne:

    Ich habe folgendes Problem:

    Für die Webvisu habe ich haufenweise

    Temperaturen anzuzeigen, die ich direkt

    von der Wagoklemme in 1/10 Grad Auflösung erhalte.

    210 --> 21,5°C Zahlenformat INT

    Leider geht die Darstellung mit float nicht (%2.1f)

    Logisch die ist für REAL-Zahlen

    und die anderen Formatierungen haben keine Kommastellen.

    INT-Zahl hat KEINE kommastellen, für was auch

    Hat jemand eine praktikable Lösung,

    ohne in der Steuerung Werte zu wandeln?

    NEIN

    Die Wandlung machst du aber in der

    Steuerung und nicht in der Visualisierung, oder?

    Ja, die Visualisierung ist fürs anzeigen

    Bei WinCC Flexible gibts die Möglichkeit,

    das Komma einer Zahl an der gewünschten Stelle zu setzen.

    Stimmt.

    Gibts die bei der Codesys Visualisierung nicht?

    Die gibt es nicht.

     
  • Speicherzelle - 2009-01-17

    Patrik Bärtschi hat geschrieben:
    Hallo miteinander
    Ich habe folgendes Problem: Für die Webvisu habe ich haufenweise Temperaturen anzuzeigen, die ich direkt von der Wagoklemme in 1/10 Grad Auflösung erhalte. Leider geht die Darstellung mit float nicht (%2.1f) und die anderen Formatierungen haben keine Kommastellen. Hat jemand eine praktikable Lösung, ohen in der Steuerung Werte zu wandeln?

    Hallöchen Patrick,

    das geht schon.Habe das auch

    siehe mal hier nach

    http://wagobuero.dyndns.org/plc/webvisu.htm m

     
  • DIN - 2010-09-12

    Hallo,

    Habe das gleiche Problem mit der Kommastelle.
    Habt ihr eine Lösung gefunden?

    Bei den Link: http://wagobuero.dyndns.org/plc/webvisu.htm
    sehe ich die Kommastelle, aber ich weis nicht wie es programmiert wurde.

     
  • gravieren - 2010-09-12

    Patrik Bärtschi hat geschrieben:
    Hallo miteinander
    Ich habe folgendes Problem: Für die Webvisu habe ich haufenweise Temperaturen anzuzeigen, die ich direkt von der Wagoklemme in 1/10 Grad Auflösung erhalte. Leider geht die Darstellung mit float nicht (%2.1f) und die anderen Formatierungen haben keine Kommastellen. Hat jemand eine praktikable Lösung, ohen in der Steuerung Werte zu wandeln?

    Ich habe momentan KEINE Steuerung hier.

    Bitte mal Probieren.

    Sollte es jedoch nicht %5.1f heissen ?

    5 --> Anzahl der Anzeigestellen.
    1 --> Nachkommastelle ?

    also xxx.0 --> 5 Anzeigestellen

     
  • DIN - 2010-09-12

    Hallo Gravieren,

    Danke für die schnelle Antwort.

    Mit REAL-Werten ist das klar.
    Ich habe aber INT-Werte. Wie kann ich bei INT-Werten ein Komma einfügen?

    z.B. INT-Wert 456 soll als 45.6 angezeigt werden.

     
  • gravieren - 2010-09-12

    Hi

    Teste doch mal:

    Gib als Format %5.1f an.
    Bei der Variable (Variablenfeld) gibst du anstelle

    Z.b. "temper" --> int_ro_real(temper/10.0) ein.

    Da kannst du normalerweise mehr als nur die Variable angeben/eingaben.

    Mach doch mal den Test und gib uns ein Feedback.

     
  • DIN - 2010-09-13

    Hallo,

    Vielen Dank für Beschreibung.
    Das klappt.

    Noch eine Frage:
    Mit der Konvertierung von INT to REAL kann ich jetzt Kommawerte sehen.
    Aber von der WEB-Visu kann ich die Variable nicht mehr verändern. Wenn ich auf das Feld klicke
    öffnet sich kein Eingabefeld.

     
  • gravieren - 2010-09-13

    DIN hat geschrieben:
    Vielen Dank für Beschreibung.
    Mit der Konvertierung von INT to REAL kann ich jetzt Kommawerte sehen.
    Das klappt.

    O.K.
    Das freut uns.

    DIN hat geschrieben:
    Hallo,
    Mit der Konvertierung von INT to REAL kann ich jetzt Kommawerte sehen.
    Aber von der WEB-Visu kann ich die Variable nicht mehr verändern.
    Wenn ich auf das Feld klicke öffnet sich kein Eingabefeld.

    Hier sind die Grenzen der Visu.
    Wenn du das haben willst, mußt du mit REAL-Werten arbeiten.

    Dumme Frage:
    Du bekommst diese Werte von der Analogkarte.
    210 für die Temperaturistwerte --> 21.0°C

    Warum willst du die Temperatur-Istwerte überschreiben ?
    Beim nächsten Zyklus überschreibt dir die Steuerung deinen "von Hand" geänderten Wert.

    Ich denke, du willst eine Eingabe für die Soll-Temperatur machen.
    Die Variable ist dann halt eine REAL.

    Oder sehe ich das falsch.

     
  • DIN - 2010-09-13

    Hallo,

    Es handelt sich um Soll- und Istwerte in INT.
    Um mit gleichen Werten zu arbeiten, werde ich mir die Arbeit machen, komplett auf REAL umsteigen.

    Trotzdem vielen Dank.

     
  • nar21 - 2010-09-16

    gravieren hat geschrieben:
    und die anderen Formatierungen haben keine Kommastellen.
    INT-Zahl hat KEINE kommastellen, für was auch
    Bei WinCC Flexible gibts die Möglichkeit,
    das Komma einer Zahl an der gewünschten Stelle zu setzen.
    Stimmt.
    Gibts die bei der Codesys Visualisierung nicht?
    Die gibt es nicht.

    Der Patrik hat eine existenzielle Frage gestellt und man kann gut erkennen wie fern der Praxis CoDeSys doch sein kann.
    Jede gute Visu lässt mich INT Daten mit virtuellem Komma darstellen! Wozu? Ganz klar, bspw. zur effizienten Übertragung von Werten in Bussystemen. REAL Werte lassen sich kaum oder garnicht übertragen und wenn man mal versehentlich SPS + Visu koppeln muss wird ein Parameter oder Anzeigewert normalerweise als INT definiert und das Komma virtuell gesetzt. So macht man das schon seit "Urzeiten".
    Wenn bspw. jeder Parameter erst umständlich von INT in REAL konvertiert werden muss, ist meine Steuerung (>1000 Parameter) damit schon gut beschäftigt... Mal ganz davon abgesehen, dass die Parameter auch noch fein in eine Datei geschrieben werden müssen und eigentlich die meisten Unternehmen Parametereingabewerte an Funktionsblöcken als INT erwarten

    Das hier 3S die Ecken und Kanten seiner CoDeSys VISU aussitzt (bspw. Balkenanzeigen ohne definierbaren Startpunkt, INT Anzeige ohne virtuelles Komma, Darstellungsfehler der WebVisu in allen Browsern, usw.), hilft keinem weiter der auf die Werbung um die WebVisu und Target Visu "hereinfällt" und dann ggf. auch noch bis zu 200EUR Lizenzgebühren pro Gerät löhnt.
    Anstatt v2.x rund zu machen wird seit Jahren an 3.x gedoktort.
    So, ich mach jetzt Feierabend!

    Grüße

     
  • franzhoepfinger - 2011-01-01

    Hallo,

    hatte ein ähnliches Problem, und habe hier eine mögliche Lösung:

    in der Variablenkonfiguration eines VISU-Elementes gibt es die Felder "Umrechnungsbasis" und "Umrechnungsfaktor"

    die Umrechnungsbasis ist einfach ein Offset, der von der Variablen abgezogen wird,
    der Umrechnungsfaktor ist ein Wert, der mit der angezeigten Variablen multipliziert wird. hier trage ich z.B. 0.1 ein für 10tel Grad.

    nun ist der Clou, dass bei Verwendung dieser die Eingabe immer noch Funktioniert, was bei einer Darstellung VAR/10 nicht.

    Auch das leidige Problem, dass z.B. die 12,45 intern 12,44999999900468785 ist lässt sich damit lösen.

    ich habe damit z.B. Millisekunden zur Timereingabe abgebildet.

    Der Anwender kann jetzt z.B. 2.5 sekunden einfach als 2.5 eingeben.

    Umrechnungsfaktor ist damit 0.001 (also /1000 )

    denke das hilft sehr oft ....

     
  • DIN - 2011-01-22

    Hallo,

    Das mit dem Umrechnungsfaktor ist interressant.

    Habe es mit REAL-Werten ausprobiert. Umrechnungsfaktor 0.1 und Text Anzeige %3.1f.
    Die Werte kann ich mit Komma eingeben. In der SPS kommen sie auch richtig an.
    Möchte ich den Wert verändern habe ich immer noch das Problem mit den vielen Stellen hinter den Komma.
    z.B. Eingegeben 1.9
    Bei einer erneuten Eingabe wird im Eingabefeld 1.9000000000000001
    SPS: 19
    oder
    z.B. Eingegeben 63.3
    Bei einer erneuten Eingabe wird im Eingabefeld 63.3000000000000004
    SPS: 633

    Mache ich etwas falsch?

     
  • franzhoepfinger - 2011-01-23

    dieses Problem habe ich in der Web-Visu,
    aber NICHT auf der Target oder PC Visu.

    bin gerade am klären.

     

Log in to post a comment.