Laufzeit bestimmen auch wenn Steuerung abgeschaltet ist

Zuviel Werbung?
-> Hier kostenlos registrieren
Ich würde den Einlagerzeitpunkt von der aktuellen Systemzeit subtrahieren, dann bekommst du die Einlagerdauer. Diese wäre dann leicht mit der Vorgabe zu vergeichen.

Mit welchem Datentyp berechnest du deine Schleife? Time kanns ja nicht sein.

Beispiel:
Aktuelle Zeit : 27.3.2013, 12:39:00 --> Date als Int dargestellt 8486; TOD als DINT L#45540000

Einlagerzeitpunkt: 13.01.2013, 17:03:00 --> Date als Int dargestellt 8047; TOD als DINT L#L#61380000
also streichst du die letzten drei stellen der TODs
45540s m 61380s= -15840s

8486t - 8047t = 439t

439 * 24 * 60 * 60 = 37929600s

37929600s - 15840s = 37913760s Einlagerdauer...

Und damit kannst du was anfangen. Mit Vergleicher prüfen ob das Verfallsdatum überschritten ist oder suchen wer am längsten liegt....
 
Mit welchem Datentyp berechnest du deine Schleife? Time kanns ja nicht sein.

Doch ... hat er geschriben. Er benutzt den FC1 aus der Standard-Bibliothek (Add Time to DT). Und da TIME ja, wie du ja schon beschrieben hast, in seiner Größe ein wenig eingeschränkt ist, macht er es als Schleife ... 8)
Ich würde es dann in etwa so machen, wie du es beschrieben hast. Mir wäre es hier auch wichtiger zu wissen, wie lange ich noch kann.
Aber das muß der TE für sich entscheiden ...

Gruß
Larry
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Doch ... hat er geschriben. Er benutzt den FC1 aus der Standard-Bibliothek (Add Time to DT). Und da TIME ja, wie du ja schon beschrieben hast, in seiner Größe ein wenig eingeschränkt ist, macht er es als Schleife ... 8)
Ich würde es dann in etwa so machen, wie du es beschrieben hast. Mir wäre es hier auch wichtiger zu wissen, wie lange ich noch kann.
Aber das muß der TE für sich entscheiden ...

Gruß
Larry

Hey Larry
mit einem FC 34 (Libary) mehr, weiß ich auch die Restlaufzeit :D
also denke ich die Lösung ist gar nicht so schlecht
 
... das deine Lösung schlecht ist sollte auch nicht rüberkommen ...
Ich spreche jetzt mal für Aventinus mit - wir wollten halt nur mögliche Alternativen aufzeigen ... ;) (das hat dann natürlich schnell den Touch, Bekehren zu wollen ...)

Gruß
Larry
 
... das deine Lösung schlecht ist sollte auch nicht rüberkommen ...
Ich spreche jetzt mal für Aventinus mit - wir wollten halt nur mögliche Alternativen aufzeigen ... ;) (das hat dann natürlich schnell den Touch, Bekehren zu wollen ...)

Gruß
Larry

Hey zusammen
ich hatte auch nicht das Gefühl das meine Lösung schlecht geredet wird. :D

Die Möglichkeit von Aventinus habe ich erst jetzt verstanden. Das werden wir morgen mal ausprobieren.
Was ich gerade noch bei meiner Variante erweitert habe:
Die Eingabe der Alterung ist immer noch INT ich kann aber noch die Einheit ändern [m] oder [h] oder [d]
dieses werte ich vor dem loop aus und addiere dann entweder T#1m oder T#1h oder T#1d
Das funzt auch.

Vielen Dank aber für eure Bemühungen und Tips. [Daumen hoch] :D
 
@Onkel Dagobert
Wir haben eine CPU 314C-2 PN/DP; Aber wie lange die Uhr weiter "tickt" kann ich dir auch nicht sagen.


@Aventinus und Larry

wir haben das Beispiel von Aventinus mal nachgestellt und nun doch endlich verstanden was ihr die ganze Zeit in euren Beiträgen gemeint habt. Diese Variante ist super.
Knackpunkt war dass, das DATE als INT dargestellt die Tage seit 1.1.1990 beschreibt und der TOD die Zeit seit 00:00:00
Wenn das begriffen wurde, ist es ganz einfach.
Ich denke das wir es noch häufiger einsetzen werden.

Nochmals [Daumen hoch] an euch.

mfg Themenstarter
 
Zurück
Oben