Zeitstempel 18 Stellig aus Codesys SPS Programm (sqlite Datenbank)

OP #4571862
Hallo,

ich schreibe aktuell ein kleines php Skript, welches Daten aus eine 
Datenbank auslesen und anzeigen soll.
Leider werde ich aus der Information, die in der Spalte mit dem 
Zeitstempel hinterlegt sind nicht schlau. Als Zeitstempel ist z.B. 
folgende Zahl:

131072649970520000

als Integer hinterlegt und beinhaltet das aktuelle Datum und die 
Uhrzeit. Erkennt jemand das Zahlenformat? Für ein Unix Zeitstempel ist 
die Zahl zu lang (>2038).

Bei der Datenbank handelt es sich um eine von Codesys 3.5 (SPS) 
erstellte SQLite Datenbank. Diese beinhaltet Alarmmeldungen mit 
Zeitstempel.

MfG

pindrei
Gast
SR schrieb:
> Mach doch mal so viele Stellen weg, dass es was sinnvolles wird. 13XXXX
> ist IMHO so Mitte 2012 - 2014 gewesen als Timestamp.
> Die restlichen Stellen sind halt dann noch paar "zerquetschte" Sekunden.

Mmh, das habe ich schon versucht. Ich habe es auch schon mit einen 
Faktor versucht. Leider ohne Erfolg. Ich habe dir Zeit beobachtet, die 
70 änderte ich im Sekundentakt. Jedoch komme ich da nicht weiter. 
Vermutlich ist es ein SPS Datentyp, der aus zwei Datentypen 
zusammengesetzt ist......
Gast
Pindrei schrieb:
> Mmh, das habe ich schon versucht. Ich habe es auch schon mit einen
> Faktor versucht. Leider ohne Erfolg. Ich habe dir Zeit beobachtet, die
> 70 änderte ich im Sekundentakt. Jedoch komme ich da nicht weiter.
> Vermutlich ist es ein SPS Datentyp, der aus zwei Datentypen
> zusammengesetzt ist......

dann mache uns mal ein Tabelle wo du mehre Beispiele zeigst. Jeweils die 
echte Zeit zu dem Wert.
Schreibe doch einfach mal zwei Datensätze mit einem definierten 
Zeitstempel, z.B. 01.01.2016T00:00:00.000 und 02.01.2016T00:00:00.000, 
schaue in der DB nach, welche Integerwerte dort hinterlegt sind, bilde 
deren Differenz und prüft, ob das Ergebnis in ein Format 
Sekunden/Millisekunden/Microsekunden/... pro Tag passt. Diese Formate 
sind eigentlich recht gängig.

Grüße
Markus
Pindrei P. schrieb:
> Bei der Datenbank handelt es sich um eine von Codesys 3.5 (SPS)
> erstellte SQLite Datenbank. Diese beinhaltet Alarmmeldungen mit
> Zeitstempel.

Ich gehe mal stark davon aus dass bereits Code existiert, der diese 
Werte aus der Datenbank ausliest. Ansonsten wären diese Daten "write 
only" und somit auch recht nutzlos ;-)

Wie rechnet denn der vorhandene Code die Werte um?
Gast
Gute Frage, da gibt es keine Informationen drüber. Der Zeitstempel war 
von heute zum Zeitpunkt meiner Fragestellung. Ich werde morgen mal eine 
Tabelle abfertigen. Mittlerweile vermute ich das ich den Wert teilen 
muss und die Informationen getrennt sind......

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 10 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.