misconduct
Level-1
- Beiträge
- 140
- Reaktionspunkte
- 24
-> Hier kostenlos registrieren
Hi,
ich habe eine Frage zum "rechnen" mit time_of_day
Die Berechnung die ich mache stimmt, und das macht mich irgendwie stutzig
also, es geht um folgendes :
Ich habe Zeit A z.B.: 11:39:41 ( feste Zeit d.h.: sie ändert sich nicht )
Und
Ich habe Zeit B z.B.: 11:40:01 ( variable Zeit da Systemzeit der CPU )
jetzt möchte ich mir eine Laufzeit errechnen indem ich die Zeiten subtrahiere
Also so : "Zeit B" - "Zeit A"
dann wird das ergebnis in eine TOD variable geschrieben und alles ist wunderbar.
Da ich nicht so viel Ahnung von Step 7 programmierung habe habe ich das ganze "händisch" gemacht, also :
"Byte Stunde von Zeit B" - "Byte Stunde von Zeit A" = "Laufzeit Stunde"
dann
"Byte Minute von Zeit B"- "Byte Minute von Zeit A" = "Laufzeit Minute"
dann
"Byte Sekunde von Zeit B" - "Byte Sekunde von Zeit A" = Laufzeit Sekunde
...
Das ganze dann noch umgerechnet da das TOD format in Millisekunden angegeben wird.
und anschließend addiere ich mir die Laufzeiten also :
Laufzeit Stunde+Laufzeit Minute + Laufzeit Sekunde = Laufzeit gesamt
Jetzt tritt der Fall ein das der "dezimalwert" der Sekunde in meinem oberen Beispiel der "alten Zeit" größer als der der "neuen Zeit" ist ( also 1 Sekunde - 41 Sekunden ), und das ergebnis ist ach negativ, warum also tritt in dem Fall kein Fehler auf?
Bin zufreiden mit dem Programm da es funktioniert, aber ich frage mich warum es funktioniert...
Wäre nett wenn mir einer helfen könnte.
Mfg
ich habe eine Frage zum "rechnen" mit time_of_day
Die Berechnung die ich mache stimmt, und das macht mich irgendwie stutzig
also, es geht um folgendes :
Ich habe Zeit A z.B.: 11:39:41 ( feste Zeit d.h.: sie ändert sich nicht )
Und
Ich habe Zeit B z.B.: 11:40:01 ( variable Zeit da Systemzeit der CPU )
jetzt möchte ich mir eine Laufzeit errechnen indem ich die Zeiten subtrahiere
Also so : "Zeit B" - "Zeit A"
dann wird das ergebnis in eine TOD variable geschrieben und alles ist wunderbar.
Da ich nicht so viel Ahnung von Step 7 programmierung habe habe ich das ganze "händisch" gemacht, also :
"Byte Stunde von Zeit B" - "Byte Stunde von Zeit A" = "Laufzeit Stunde"
dann
"Byte Minute von Zeit B"- "Byte Minute von Zeit A" = "Laufzeit Minute"
dann
"Byte Sekunde von Zeit B" - "Byte Sekunde von Zeit A" = Laufzeit Sekunde
...
Das ganze dann noch umgerechnet da das TOD format in Millisekunden angegeben wird.
und anschließend addiere ich mir die Laufzeiten also :
Laufzeit Stunde+Laufzeit Minute + Laufzeit Sekunde = Laufzeit gesamt
Jetzt tritt der Fall ein das der "dezimalwert" der Sekunde in meinem oberen Beispiel der "alten Zeit" größer als der der "neuen Zeit" ist ( also 1 Sekunde - 41 Sekunden ), und das ergebnis ist ach negativ, warum also tritt in dem Fall kein Fehler auf?
Bin zufreiden mit dem Programm da es funktioniert, aber ich frage mich warum es funktioniert...
Wäre nett wenn mir einer helfen könnte.
Mfg