-> Hier kostenlos registrieren
Moin,
baue gerade eine kleine Restzeitberechnung für eine Schrittkette.
Aktuell gehe ich so vor, dass bei Beginn die aktuelle Systemlaufzeit mit SFC64 (Time_Click) auslese und bei Ende nochmal. Subtrahieren und ich habe die Laufzeit.
Zuerst teile ich mit DIV_DI durch 60000 um Gesamt-Minuten zu erhalten (alles hinter dem Komma fällt bei der Operation ja weg, richtig? Sekunden sind unwichtig)
Dann teile ich wieder durch 60 um Gesamt-Stunden zu erhalten.
Dann nehme ich den Rest mit MOD_DI von Gesamt-Minuten durch 60 für die tatsächlichen Minuten.
Das Gleiche mit den Stunden und 24 für die tatsächlichen Stunden.
Die Gesamt-Stunden teile ich nochmal mit DIV_DI durch 24 für die Tage.
Oder geht es einfacher?
Auf jeden Fall hab ich jetzt Minuten, Stunden und Tage als Werte vom Typ DI.
Nun will ich einen String basteln, der in WinCC flexible innem EA-Feld angezeigt wird in Form von "00d 00h 00m" - mehr als 100 Tage werden es nicht!
Wenn ich bis jetzt richtig verstanden habe brauche ich ein String mit 13 Byte, weil das 1.Byte ja die Länge angibt und im 2.Byte die tatsächliche Länge hinterlegt wird.
Habe auch schon gesehen, dass es Funktionen geben soll aus DI einen String zu machen. Aber wie bastel ich das jetzt in mein gewünschtes Format?
Oder steinigt mich, wenn ich viel zu kompliziert denke!
baue gerade eine kleine Restzeitberechnung für eine Schrittkette.
Aktuell gehe ich so vor, dass bei Beginn die aktuelle Systemlaufzeit mit SFC64 (Time_Click) auslese und bei Ende nochmal. Subtrahieren und ich habe die Laufzeit.
Zuerst teile ich mit DIV_DI durch 60000 um Gesamt-Minuten zu erhalten (alles hinter dem Komma fällt bei der Operation ja weg, richtig? Sekunden sind unwichtig)
Dann teile ich wieder durch 60 um Gesamt-Stunden zu erhalten.
Dann nehme ich den Rest mit MOD_DI von Gesamt-Minuten durch 60 für die tatsächlichen Minuten.
Das Gleiche mit den Stunden und 24 für die tatsächlichen Stunden.
Die Gesamt-Stunden teile ich nochmal mit DIV_DI durch 24 für die Tage.
Oder geht es einfacher?
Auf jeden Fall hab ich jetzt Minuten, Stunden und Tage als Werte vom Typ DI.
Nun will ich einen String basteln, der in WinCC flexible innem EA-Feld angezeigt wird in Form von "00d 00h 00m" - mehr als 100 Tage werden es nicht!
Wenn ich bis jetzt richtig verstanden habe brauche ich ein String mit 13 Byte, weil das 1.Byte ja die Länge angibt und im 2.Byte die tatsächliche Länge hinterlegt wird.
Habe auch schon gesehen, dass es Funktionen geben soll aus DI einen String zu machen. Aber wie bastel ich das jetzt in mein gewünschtes Format?
Oder steinigt mich, wenn ich viel zu kompliziert denke!