Umwandlung S7-DATE_AND_TIME in Sekunden?

CanYouHelpMe

Level-1
Beiträge
30
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Leute,

gibt es eine Funktion (S7-Baustein) mit der ich das Format DATE_AND_TIME in Sekunden (DINT) umwandeln kann.

der Zeitpunkt 01.01.1970 00:00 ==> 0s
der Zeitpunkt 01.01.1970 01:00 ==> 3600s
der Zeitpunkt 02.01.1970 00:00 ==> 86400s
...
 
So klappt das nicht. Der Datentyp DT ist ab dem 1.1.1990 definiert.
Ausserdem würde die anzahl an Sekunden nicht den ganzen Bereich des DT abdecken.
2^31s = 2147483648s = 596523h = 24855 Tage = 68 Jahre.

Aber wenn du die Einschränkungen akzeptieren kannst wirds einfacher. Rechne mit DT_DATE aus der IEC-Bibliothek das Datum aus (=Anzahl der Tage seit dem 1.1.1990) multipliziere mit 86400. Dann berechne die Tageszeit mit DT_TOD, dividiere durch 1000 und addiere das zu dem vorigen Ergebnis.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ja danke das könnte etwas werden. Was ich bisher nicht wusste ist, das in dem Format DATE, wenn ich mir das im Format DEZ anschaue, die Anzahl der Tage seit 01.01.1990 steht. Dies Information ist sehr gut.
Also nochmal vielen Dank! :D
 
Zurück
Oben