Visu Time aus TON als Countdown darstellen

Matt87

Level-2
Beiträge
45
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hey,
ich stehe vor einem Rätsel.

Ich habe einen UDINT Wert := 20 der für 20 Minuten steht.

Jetzt möchte ich während der TON mit den 20 Minuten läuft, den Countdown in der Visu anzeigen.
Also T-20.

Jetzt das Problem. Ich muss ja erst den UDINT Wert ach UDINT_TO_TIME Umwandeln und * 1000 rechnen.
Damit der Timer als PT :0 20 Minuten als Eingang hat.

Wenn ich jetzt den Wert aus .ET nehme, was muss ich abziehen oder Umwandeln damit ich t-20 Minuten als String in der Visu erhalte?

Danke
 
Die Einheit des Ausgabewert deines Zeitgliedes sind ms. Wenn du den Rest bis 20Minuten anzeigen willst, kannst du das mit der Formel
20 * 60 * 1000 - Zeit.ET bzw. 1200000 - Zeit.ET erledigen.
Zum Anzeigen in einem String musst du den Zahlenwert noch wandeln oder berechnen in Minuten, Sekunden.
siehe auch mal hier: (auf Spoiler klicken):
 
Wenn ich das richtig verstehe bist Du nur für den Sollwert an UDINT gebunden und nicht zwingend auch für die Anzeige der verbleibenden Zeit auf der Visu. Dann kannst Du doch einfach die Restzeit im Datentyp TIME belassen und auf der Visu mit Platzhalter %t[mm:ss.ms] oder %t[mm] anzeigen.

Code:
tSetpoint := TO_TIME(udiSetpoint_m * 60000);
fbTON(IN:= NOT fbTON.Q AND xStart,    PT:= tSetpoint);
tRemaining_ET := tSetpoint - fbTON.ET;

Weitere Möglichkeiten für die Visu-Platzhalter findest Du hier:
https://help.codesys.com/webapp/_vi...n=3.5.17.0#fur-die-ausgabe-von-datum-und-zeit
 
Zurück
Oben