WinCC WinCC RT Professional V16 - Integerwert mit Nachkommastellen darstellen

Kai Schulz

Level-2
Beiträge
140
Reaktionspunkte
3
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Zusammen,

Ich kenne es von älteren WinCC-Versionen so, wie es der Kollege hier beschreibt:

Oh je steht sogar im Archiv ... Asche auf mein haupt hier fürs Archive:

FRAGE:
Wie kann ich einen WORD-Wert aus der CPU in WinCC mit zwei Nachkommastellen darstellen?

ANTWORT:
Sie haben in der CPU eine Variable vom Typ "WORD" abgelegt und möchten diesen Wert in WinCC mit zwei Nachkommastellen darstellen. Führen Sie dazu die folgenden Schritte aus:

1. Legen Sie eine Variable vom Typ "Gleitkommazahl 32 Bit IEEE 745" im WinCC-Variablenhaushalt an.
2. Stellen Sie unter Formanpassung "FloatToUnsignedWord" ein.
Mit diesen Schritten wird der WORD-Wert von 2 Bytes auf 4 Bytes erweitert und es wird eine Konvertierung der Festkommazahl in eine Gleitpunktzahl vorgenommen.
3. Aktivieren Sie die lineare Skalierung. Tragen Sie in den entsprechenden Feldern die folgenden Werte ein.
"Wertebereich Prozeß" > "Wert1" > "0"
"Wertebereich Prozeß" > "Wert2" > "1000"
"Wertebereich Variable" > "Wert1" > "0"
"Wertebereich Variable" > "Wert2" > "10"
Durch diesem Schritt legen Sie die Anzahl der Nachkommastellen fest. Wenn Sie drei Nachkommastellen benötigen, dann ändern Sie den "Wert2" von 1000 in 10000.

Wie funktioniert das bei WinCC Professional? "FloatToUnsignedWord" gibt es nicht mehr. Aus einer Eingabe von z. B. "4,50" (HMI-Anzeige) wird dann nicht "450" (PLC-Variable) sondern "5,00" (HMI-Anzeige) bzw. "5" (PLC-Variable).

Bin verwirrt (!) ...:confused:

Gruß Kai
 
Zuletzt bearbeitet:
Es gibt sicher mehrere Wege, ich mache das direkt am E/A-Feld.
Meine Variable in der SPS soll den Wert 50 haben, am HMI 5,0 anzeigen (Hab im Beispiel nur eine Kommastelle).
Dafür muß man, je nach Bedarf, einmal den Eingabewert manipulieren und einmal den Ausgabewert. Hat man nur Ausgabe oder nur Eingabe, dann jeweils nur eins von beiden!



Screenshot 2021-01-06 um 16.44.08.jpgScreenshot 2021-01-06 um 16.44.26.jpg
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo, mein eigentliches Problem lag genau hier verborgen:

Variablenhaushalt HMI.jpg

Ich hatte zuvor die PLC-Variable definiert, was das Gleitkommaformat zu einem Integer gemacht hatte. Diese Einstellung ist das alte "FloatToUnsignedWord" ... :ROFLMAO:

Gruß Kai
 
Hi,

es ist schon eine weile her aber wo finde ich die HMI-Datentyp?? bei mir sieht es ein bisschen anders aus... ich nutze TIA V17 und hab das gleiche "Problem" wie Kai

1678347586902.png

Grüße
E
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Morgen Harald,

Ja das stimmt auch aber wenn du das Bild von #6 schaust. Hat Kai die Möglichkeit der Datentyp für die Variable als auch für die HMI einzugeben.

Da hat er als Prozesswert Typ Int und HMI Typ Real. 🤔
 
Guten Morgen,

das ist bei mir WinCC Professional V16.

In WinCC Advanced V14 (z. B.) finde ich die Einstellung auch nicht. Allerdings gab es früher die Einstellung "FloatToUnsignedWord" auch nur in WinCC und nicht in WinCC flexible.

Gruß Kai
 
aber wenn du das Bild von #6 schaust. Hat Kai die Möglichkeit der Datentyp für die Variable als auch für die HMI einzugeben.
Deine HMI-Variable ist eine HMI-interne Variable ohne Verbindung zu einer PLC-Variable. Da kann man nur einen Datentyp (der HMI-Variable) festlegen. Wenn die HMI-Variable eine Verbindung zu einer PLC-Variable hat, dann kann man wegen Skalierung unterschiedliche Datentypen festlegen: oben den Datentyp der PLC-Variable und unten den Datentyp der HMI-Variable.
Also: projektiere links eine Verbindung zu einer PLC-Variable, dann sollte rechts das Auswahlfeld "HMI-Datentyp" auftauchen.
EDIT: das scheint wohl nur für WinCC Professional Runtime zu gelten. Bei einem HMI-Panel oder WinCC Advanced Runtime erscheint das "HMI-Datentyp" bei meinem TIA V15.1 nicht.

Was für ein WinCC Gerät projektierst Du? Bei Kai ist das eine WinCC Professional Runtime.
 
Zuletzt bearbeitet:
Hi,

hier meine Lizenzen

1678356417832.png

EDIT: dann ist scheinbar weil ich kein WinCC Professional habe... hättet ihr andere Vorschläge wie ich das umsetzen kann? außer meine Lizenz hoch zurüsten? 😅😂. Ich würde gern in der CPU ein Prozesswert (INT) beispielsweise 800 in der HMI als ein Real anzeigen 8,0 bzw in der HMI 8,0 (Real) eingeben und in der CPU soll 800 (Int)kommen . Das Konzept von Skalierung kenne ich ja aber das reicht glaube ich nicht da die Variable ein INT ist.
ich Projektiere alles wie gesagt in Tia V17 und HMI wäre ein KTP700 Basic, kann ich aber ein Comfort bestellen wenn ich Skripte dafür brauche.
 
Zuletzt bearbeitet:
Nee, lass das mal. Die Advanced-Lizenz ist höherwertig, als die Comfort-Lizenz und beinhaltet diese quasi.

Du kannst doch in den Bildern bei den Ein-/Ausgabefeldern die Nachkommastellen angeben. So solltest Du einen Integerwert (z. B.) so zurecht gerückt bekommen, das Nachkommastellen angezeigt werden. Den ganzen Rest machste in der Steuerung mit Rechenfunktionen. Kannst den Kram auch in der Steuerung in Gleitkommawerte (REAL) wandeln. Es gibt da verschiedene Möglichkeiten.

Gruß Kai
 
Hi,

hier meine Lizenzen

Anhang anzeigen 67616

EDIT: dann ist scheinbar weil ich kein WinCC Professional habe... hättet ihr andere Vorschläge wie ich das umsetzen kann? außer meine Lizenz hoch zurüsten? 😅😂. Ich würde gern in der CPU ein Prozesswert (INT) beispielsweise 800 in der HMI als ein Real anzeigen 8,0 bzw in der HMI 8,0 (Real) eingeben und in der CPU soll 800 (Int)kommen . Das Konzept von Skalierung kenne ich ja aber das reicht glaube ich nicht da die Variable ein INT ist.
ich Projektiere alles wie gesagt in Tia V17 und HMI wäre ein KTP700 Basic, kann ich aber ein Comfort bestellen wenn ich Skripte dafür brauche.
Lineare Skalierung (WinCC, Variablendeklaration): PLC Endwert = 100, HMI Endwert = 10
Darstellungsformat (WinCC, Bildeditor, E/A-Feld): s9,9 (bei REAL) / 999 + Dezimalstellen = 1 (bei INT)

Gruß Kai
 
Das lineare Skalieren von 800 (8,00) auf 80 (8,0) und wieder zurück kannste aber auch in der Steuerung machen, wie oben schon erwähnt.

Btw.: Bei der Einstellung "Darstellungsformat" bedeutet "999" eine Feldlänge von 3 Stellen, wobei die "Dezimalstelle = 1" aus der mittleren dieser 3 Stellen ein Komma macht.
 
Zurück
Oben