Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11

Thema: Beckhoff TwinCat Visualisierung, REAL Wert mit nur einer Kommastelle anzeigen

  1. #1
    Registriert seit
    20.04.2007
    Beiträge
    81
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    ich habe mit TwinCat PLC Control eine Visualisierung erstellt. Dabei wird ein RealWert angezeigt, diesen kann man auch per Eingabe verändern. Allerdings ist es nun möglich, dass der Benutzer über die Tastatur einen Wert wie 25,4567 eingibt. Allerdings soll nur eine Kommastelle angezeigt werden, also bei genannter Eingabe entweder 24,4 oder gleich gerundet auf 25,5. Im Feld für Text habe ich %s eingetragen. Ich habe gehört, dass man diesen Platzhalter irgendwie modifizieren kann, dass er nur eine Kommastelle anzeigt. Weiß jemand wie das geht?

    Grüße,

    Parallax
    Zitieren Zitieren Beckhoff TwinCat Visualisierung, REAL Wert mit nur einer Kommastelle anzeigen  

  2. #2
    Registriert seit
    01.09.2015
    Beiträge
    72
    Danke
    10
    Erhielt 3 Danke für 3 Beiträge

    Standard

    %.1f würde dir nur eine Stelle nach dem Komma anzeigen. Orientiert sich an der C-Notation

    Unbenannt.png
    Geändert von bone666 (07.04.2016 um 12:47 Uhr)

  3. #3
    Registriert seit
    20.04.2007
    Beiträge
    81
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ah super, funktioniert.... Kannst du mir evtl kurz erklären wie diese Notation funktioniert?

  4. #4
    Registriert seit
    01.09.2015
    Beiträge
    72
    Danke
    10
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Hier sollte eig. alles stehen, ansonstens in Kurzform % ist halt immer am Anfang vor dem Punkt kannst du die Stellen davor begrenzen und nach dem Punkt eben danch und f steht für floating point also REAL. Als Bsp. %2.f3 würde 00.000 ergeben wenn ich mich nicht irre

    https://infosys.beckhoff.com/index.p...cation.htm&id=
    Geändert von bone666 (07.04.2016 um 13:10 Uhr)

  5. #5
    Registriert seit
    20.04.2007
    Beiträge
    81
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ok, verstanden....

    Nun bin ich jedoch gerade auf ein zweites Problem gestoßen.
    Ich setze bei einem Klick auf einen Button einen Nullpunkt Offset, dieser soll natürlich bei Stromausfall erhalten bleiben. Also habe ich die intVariable die den Offsetwert enthält in VAR RETAIN geschrieben. Auch VAR PERSISTENT habe ich schon probiert. Allerdings ist die Variable nach Stromausfall immer wieder 0. Die angeschlossene Hardware ist ein CP6606. Mach ich da irgendetwas falsch? Die RETAIN bzw PERSISTENT Variablen stehen im MAIN Baustein. Soweit ich gesehen habe, wird RETAIN als remanent gespeichert, allerdings bei Download wieder auf 0 gesetzt. PERSISTENT sollte nur durch Urlöschen wieder auf 0 wechseln. Allerdings funktioniert das irgendwie scheinbar nicht. Muss man dafür noch irgendetwas einstellen?

    Grüße,
    Parallax

  6. #6
    Registriert seit
    20.04.2007
    Beiträge
    81
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ok, verstanden....

    Nun bin ich jedoch gerade auf ein zweites Problem gestoßen.
    Ich setze bei einem Klick auf einen Button einen Nullpunkt Offset, dieser soll natürlich bei Stromausfall erhalten bleiben. Also habe ich die intVariable die den Offsetwert enthält in VAR RETAIN geschrieben. Auch VAR PERSISTENT habe ich schon probiert. Allerdings ist die Variable nach Stromausfall immer wieder 0. Die angeschlossene Hardware ist ein CP6606. Mach ich da irgendetwas falsch? Die RETAIN bzw PERSISTENT Variablen stehen im MAIN Baustein. Soweit ich gesehen habe, wird RETAIN als remanent gespeichert, allerdings bei Download wieder auf 0 gesetzt. PERSISTENT sollte nur durch Urlöschen wieder auf 0 wechseln. Allerdings funktioniert das irgendwie scheinbar nicht. Muss man dafür noch irgendetwas einstellen?

    Grüße,
    Parallax

  7. #7
    Registriert seit
    21.02.2014
    Ort
    Sachsen-Anhalt
    Beiträge
    1.491
    Danke
    263
    Erhielt 243 Danke für 222 Beiträge

    Standard

    Für den CP gibts als Option 128KByte NOVRAM. Dahin kann Mann solche Variablen gut speichern. Dazu werden einfach die remanent gewünschten Variablen als Ausgangsvariablen gemappt und dem NOVRAM zugewiesen.
    Sollte die Option nicht verbaut sein: Da gibt es auch eine NOVRAM-Klemme.

  8. #8
    Registriert seit
    20.04.2007
    Beiträge
    81
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hi, hab das Problem gefunden... Das CP6606 hat keine eingebaute 1 Sekunden USV, somit kann bei Stromausfall der Wert nicht auf die SD Karte geschrieben werden. Allerdings kann ich mit einem Funktionsbaustein beim Nullpunktabgleich die Daten manuell auf die SD Karte schreiben.
    Daraus resultiert natürlich (wie immer) ein neues Problem: Ich müsste auch noch eine Werteingabe in der Visualisierung remanent setzen. Allerdings gibt es ja scheinbar keine Option wie var.onChange... Somit weiß ich nicht bei welchem Ereignis ich den Funktionsbaustein zum Schreiben der persistenten Daten aufrufen soll. Hat da jemand eine Idee?

  9. #9
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.166
    Danke
    921
    Erhielt 3.286 Danke für 2.655 Beiträge

    Standard

    Man könnte sich in einer zweiten Variable merken welchen Wert der Visu-Eingabewert hat und die beiden Werte vergleichen. Wenn unterschiedlich und nicht im ersten Run-Zyklus dann die Schreibfunktion aufrufen.

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  10. Folgender Benutzer sagt Danke zu PN/DP für den nützlichen Beitrag:

    weißnix_ (07.04.2016)

  11. #10
    Registriert seit
    21.02.2014
    Ort
    Sachsen-Anhalt
    Beiträge
    1.491
    Danke
    263
    Erhielt 243 Danke für 222 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Mit der NOVRAM-Klemme sollte das einfach gehen: Die Variable wird zyklisch in den NOVRAM übertragen und beim Systemstart automatisch wieder initialisiert. Dafür brauchts die 1s USV nicht.

Ähnliche Themen

  1. Antworten: 1
    Letzter Beitrag: 06.07.2015, 18:07
  2. Dint Zahl in der Visu mit kommastelle anzeigen
    Von noherm im Forum CODESYS und IEC61131
    Antworten: 7
    Letzter Beitrag: 10.06.2014, 16:53
  3. Antworten: 2
    Letzter Beitrag: 07.06.2012, 16:36
  4. Beckhoff TwinCat mit C# Visualisierung über ADS
    Von Gerri im Forum CODESYS und IEC61131
    Antworten: 5
    Letzter Beitrag: 04.03.2011, 19:26
  5. Real Kommastelle verschieben
    Von Deep Blue im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 13.01.2010, 13:01

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •