Zahlenformat in Text Feld von TC3 HMI

msauerpb

Level-2
Beiträge
207
Reaktionspunkte
7
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

wie kann ich denn in einem Textblock, der mir eine Float Zahl aus der PLC anzeigt, das Zahlenformat einstellen? (Also wieviel nachkommastellen angezeigt werden sollen.)

Des weiteren habe ich ein LinearGauge Element zur Darstellung meines aktuellen Sollwertes. Allerdings bekomme ich in der Live View immer einen Fehler wenn ich die Felder Value, MinValue, MaxValue mit den Werten aus meiner PLC (alles Float/Real Zahlen) verbinde.

Hat einer von Euch eine Idee wie die Probleme lösen kann.

Danke schon mal.

gruss
martin
 
Hallo,

ich habe mir dafür eine JS Funktion gemacht. Da übergebe ich den REAL Wert hin und mache ein .toFixed(AnzahlStellen).
Das funktioniert eigentlich super. Wurde auch in der Schulung so gemacht.

Was bekommst du für einen Fehler? Bei mir klappt das. Ich verwende die Version 1.10.1336.203

Gruß
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich habe mir dafür eine JS Funktion gemacht. Da übergebe ich den REAL Wert hin und mache ein .toFixed(AnzahlStellen).
Das funktioniert eigentlich super. Wurde auch in der Schulung so gemacht.

Was bekommst du für einen Fehler? Bei mir klappt das. Ich verwende die Version 1.10.1336.203

Gruß

Hallo,

ok, das mit den JS Funktionen habe ich noch nicht so raus. Hab zur Zeit auch noch keine Schulung für die TC3 HMI.

Die Fehler in der Live View sind mittlerweile weg, waren wahrscheinlich nur alte. Hab einen clear console und reload gemacht. Dann wird nichts mehr angezeigt.

gruss
martin
 
Du legst mit rechts klick eine neue Funktion an. Im Json konfigurierst du dann so etwas ähnliches.
1.jpg
Der Code sieht dann so aus:
1.png
Viel Spaß
 
Ihr könnt doch direkt JavaScript in das property pane des Textblocks eintragen. Hier als Beispiel für ein internes Symbol

Text: %i%myNumberSym%/i% ? %i%myNumberSym%/i%.toFixed(2) : ""

Hier in der ordentlichen Version. Der Symbolwert kann unbekannt und daher null sein, daher die Abfrage mit dem Fragezeichen und als Fallback der leere String hinten.
Evtl müsst ihr dort noch auf das kleine fx icon davor klicken.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das stimmt natürlich.

Ich finde es mit der Funktion nur schöner, dann kann ich es überall wieder verwenden und habe den Code nur einmal im Projekt.

Das ist aber Geschmackssache.

Gruß
 
Nachdem ich gerade erst meine ersten Schritte mit der TcHMI mache und noch keine Schulung hatte, habe ich noch ein Problem mit der Syntax:

Text: %i%myNumberSym%/i% ? %i%myNumberSym%/i%.toFixed(2) : ""

Was bedeutet denn diese Syntax?
 
> Text: %i%myNumberSym%/i% ? %i%myNumberSym%/i%.toFixed(2) : ""
Nachdem ich gerade erst meine ersten Schritte mit der TcHMI mache und noch keine Schulung hatte, habe ich noch ein Problem mit der Syntax:
Was bedeutet denn diese Syntax?

Wenn ein Text als Function-Binding interpretiert wird (kleines "Fx" Symbol davor) dann wird das was da drin ist, als JavaScript interpretiert.
Der Text %i%myNumberSym%/i% wird vorher ersetzt mit dem aktuellen Wert der in dem (hier internen) Symbol steht.

Javascript hat eine Kurzschreibweise für ein If-Then-Else Konstrukt. Dies besteht auf dem Fragezeichen und dem Doppelpunkt. Dies
%i%myNumberSym%/i% ? %i%myNumberSym%/i%.toFixed(2) : ""
ist also ähnlich wie
Code:
if(%i%myNumberSym%/i%){
    %i%myNumberSym%/i%.toFixed(2)
}else{
    ""
}
Hat nur den Vorteil, dass es in einer Zeile passt und in einer Zuweisung genutzt werden kann.
Mehr dazu hier: https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Operators/Conditional_Operator
 
Zurück
Oben