WinCC Unified EA Felder Zahlen Formatieren

user25434

Level-1
Beiträge
27
Reaktionspunkte
3
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo ich habe ein Problem mit der EA-Feld Zahlenformatierung. Ich habe auf einem Faceplate ein EA-Feld. Auf das ich ein wert schreiben möchte. Der wert soll am ende 3 Vorkomazahlen und eine Nachkomazahl haben. Die Variable die ich dafür zur Verfügung habe hat jedoch keine Nachkomazahlen. Also muss ich das ganze eigentlich geteilt durch 10 darstellen. Ich habe schon einiges probiert komme aber nicht drauf weiss jemand wie das geht? Ich würde es ja mit einem Script machen jedoch habe ich noch nicht gefunden wie ich von einem Scipt aus auf die Variablen Schnittstellen des Faceplates zugreife.
 
Wenn Dein Wert (noch) keine Nachkommastellen enthält, muss Du ihn nicht durch 10 teilen sondern mit 10 multiplizieren.
Sprich, aus 123 wird 1230.

Dafür gibt es für die HMI-Variablen die lineare Skalierung:

1675973424956.png

In der PLC beträgt Dein Wert 1, in der HMI 10.
Ergibt im obigen Beispiel PLC 123 zu HMI 123(,)0.

PS:
Ups, hab' total übersehen, dass es um Unified geht.
Sollte aber eigentlich ähnlich/genauso sein.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wenn Dein Wert (noch) keine Nachkommastellen enthält, muss Du ihn nicht durch 10 teilen sondern mit 10 multiplizieren.
Sprich, aus 123 wird 1230.

Dafür gibt es für die HMI-Variablen die lineare Skalierung:

Anhang anzeigen 66913

In der PLC beträgt Dein Wert 1, in der HMI 10.
Ergibt im obigen Beispiel PLC 123 zu HMI 123(,)0.

PS:
Ups, hab' total übersehen, dass es um Unified geht.
Sollte aber eigentlich ähnlich/genauso sein.
Ja das hat funktioniert also ich wollte aus 1000 100,0 machen. also ich bekomme eine Prozentzahl mit 4 stellen und soll sie auf 3stellen mit einer Koma zahl verwandeln. also zB. 0955 sollte zu 95.5% werden.
Aber das was du gesagt hast hat für das Funktioniert also danke🤝
 
also zB. 0955 sollte zu 95.5% werden.
Das Komma wird bei sowas meist nur virtuell im EA-Feld an die entsprechende Stelle gesetzt.
Daher bei 95,5 der Ganzzahlwert 955 (oder z.B. 95 = 95,0 ≡ 950).

Ganzzahlen sind im Handling meist etwas einfacher als Gleitkommazahlen und genauer sind sie auch noch, weil keine Bits zum Speichern der Kommaverschiebung "verschwendet" werden. Da muss sich dafür der Programmierer einen Kopp drum machen.
 
Das Komma wird bei sowas meist nur virtuell im EA-Feld an die entsprechende Stelle gesetzt.
Daher bei 95,5 der Ganzzahlwert 955 (oder z.B. 95 = 95,0 ≡ 950).
Ja das ist gut muss ja nicht damit rechnen will nur das es mit einer Komastelle angezeigt wird also solange mir 955 als 95,5 angezeigt wird ist alles im Gut
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin,

ich persönlich verzichte lieber auf die Skalierung im Panel und mache das auf der Steuerung. Je nach Projektgröße und Leuten, die daran arbeiten und denen die Freiheit gelassen wird da zu skalieren, wo sie wollen, findet man manchmal sie Stelle, an der skaliert wird nur nach viel suchen. Oder ein "Rohwert" wird in der Steuerung skaliert. Irgendwann später will Jemand "nur gerade diesen Wert" im Panel anders darstellen und skaliert noch einmal im Panel.. absolutes Chaos!
Besser ist es m.E. in der Steuerung einen DB für skalierte Anzeigewerte vorzusehen. Die Kommastelle kann man dann im Panel mit "Anzahl Dezimalstellen" einstellen.
 
Die lineare Skalierung wird dann aber die Stellen hinter dem Komma runden 955 wird als 96,0 angezeigt. In Unified V17 geht das Setzen des Kommas über Anzahl Dezimalstellen wie das in Advanced möglich war nicht mehr, ich denke dass man hier auf eine Gleitpunktvariable wechseln muss.
 
Es war ja die Anzeige auf dem Ausgabefeld gemeint in der Variablen am HMI ist es natürlich die 96. Es kommt ja darauf an, dass daraus keine 95,5 in der Anzeige werden kann.
 
Aber eben auch keine 96,0.

Wenn dort eine Ganzzahl mit einer Kommastelle zur Anzeige gebracht werden soll, dann ist die Ganzzahl z.B. eine 955 und wird angezeigt als 95,5.
Die 955 kann man 10:1 skalieren, dann wird 96 daraus, die im gleichen Feld als 9,6 angezeigt wird. Dort hätte man also eine Rundung..
Die Skalierung von 955 (95,5) zu 960 (96,0) ist zwar nicht unmöglich aber doch eher ungewöhnlich.

Was man dagegen öfter hat, dass man eine 95 nicht als 9,5 sondern als 95,0 anzeigen möchte und dann braucht man die Skalierung von 1:10.
Dabei wird aber nicht gerundet.

Lange Rede kurzer Sinn:
Eine Skalierung von 95(,)5 zu 96(,)0 wäre doch sehr sehr untypisch. :D
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich möchte nochmals das Beispiel verwenden weil die ursprüngliche Frage war eine Stelle hinter dem Komma anzuzeigen. Eine 955 soll als 95,5 angezeigt werden, ich brauche ja keine Nachkommastelle anzeigen, wenn dort immer eine 0 angezeigt wird. Unified unterstützt das mit den Anzahl Dezimalstellen im Gegensatz zu Advanced nicht, dort gibt es nur das Ausgabeformat. Habe kurz die verschiedenen Möglichkeiten projektiert. Variable auf der PLC hat den Wert 955.

1676022881604.png
 
Ich verstehe es jetzt nichtmehr wirklich..
Also ist es nicht möglich das ich einen wert der 995 enthält als 99.5 auf dem Hmi anzuzeigen lassen?
wird dieser immer gerundet?
 
Habe verschiedene Formate getestet und keine ging. Im Prinzip ist es am einfachsten zum HMI eine REAL Variable zu verwenden. Auf dem HMI selbst ist das meiner Ansicht nach aufwendiger, da man hier beispielsweise über ein Script gehen muss, was bei lesen und schreiben, dann nicht mehr ganz einfach ist.
 
Habe verschiedene Formate getestet und keine ging. Im Prinzip ist es am einfachsten zum HMI eine REAL Variable zu verwenden. Auf dem HMI selbst ist das meiner Ansicht nach aufwendiger, da man hier beispielsweise über ein Script gehen muss, was bei lesen und schreiben, dann nicht mehr ganz einfach ist.
hmaa ja ist schlecht da ich den datentyp eigentlich nicht verändern darf da dies von den Firmenstandarts vorgegeben ist aber ich schau mal was ich machen kann
Danke!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich verstehe es jetzt nichtmehr wirklich..
Also ist es nicht möglich das ich einen wert der 995 enthält als 99.5 auf dem Hmi anzuzeigen lassen?
wird dieser immer gerundet?
Doch, es ist möglich.

Mich hat das Ganze auch interessiert, deswegen habe ich mich das erste Mal ein wenig mit Unified auseinander gesetzt.
So was Einfaches wie bei Advanced mit dem Format Dezimalstellen ist mir bis dato aber für die Ganzzahlen noch nicht über den Weg gelaufen.

Aber zumindest für die reine Ausgabe habe ich eine mögliche Lösung gefunden:
1676133786442.png

Dafür habe ich diese Einstellungen/Script genutzt:
1676133972525.png

Im Gegensatz zur Skalierung wird hier nicht gerundet.


Momentan habe ich noch keine Ahnung, wie man dann bei ner Ein- & Ausgabe vorgehen kann.
Aber ich hoffe, das hilft trotzdem erst einmal weiter.
 
Doch, es ist möglich.

Mich hat das Ganze auch interessiert, deswegen habe ich mich das erste Mal ein wenig mit Unified auseinander gesetzt.
So was Einfaches wie bei Advanced mit dem Format Dezimalstellen ist mir bis dato aber für die Ganzzahlen noch nicht über den Weg gelaufen.

Aber zumindest für die reine Ausgabe habe ich eine mögliche Lösung gefunden:
Anhang anzeigen 66943

Dafür habe ich diese Einstellungen/Script genutzt:
Anhang anzeigen 66945

Im Gegensatz zur Skalierung wird hier nicht gerundet.


Momentan habe ich noch keine Ahnung, wie man dann bei ner Ein- & Ausgabe vorgehen kann.
Aber ich hoffe, das hilft trotzdem erst einmal weiter.
Hallo und entschuldige für die Verspätete Antwort ich war krank aber danke erstmal das würde funktionieren nur leider ist das ganze bei mir auf einer Faceplate und ich muss über eine Variablen-Schnittstelle auf den Wert zugreifen. Nur leider habe ich noch keinen Weg gefunden über ein Script auf eine dieser Schnittstellen zugreifen kann. Weiss das vielleicht grade jemand wie das gehen könnte?
 
Ich möchte nochmals das Beispiel verwenden weil die ursprüngliche Frage war eine Stelle hinter dem Komma anzuzeigen. Eine 955 soll als 95,5 angezeigt werden, ich brauche ja keine Nachkommastelle anzeigen, wenn dort immer eine 0 angezeigt wird. Unified unterstützt das mit den Anzahl Dezimalstellen im Gegensatz zu Advanced nicht, dort gibt es nur das Ausgabeformat. Habe kurz die verschiedenen Möglichkeiten projektiert. Variable auf der PLC hat den Wert 955.

Anhang anzeigen 66925
Hallo,

ich habe zwar nur TIA 15.1, aber habe mir mal einige Handbücher angeschaut. Das habe ich gefunden:
1676457858592.png

Lässt sich das Ausgabeformat auf {###,#} stellen? Dann wäre die Kommaposition einstellbar.
Wenn ja, wie sieht die Ausgabe aus? Könnte man das auch als Ein/Ausgabe nutzen?
 
Zurück
Oben