Data Log mit Date-Time Stamp von UTC möglich

Begonnen von Omalik, 17. Januar 2014, 09:39:31

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 3 Gäste betrachten dieses Thema.

Omalik

Ich verwende einige Bausteine von Oscat Network Lib 1.3. zum Daten Loggen. Die sind wirklich sehr sehr gut! Ein grosses Lob an die Entwickler der Network Lib!!
Meine SPS (Beckhoff IPC) habe ich auf UTC (koordinierte Weltzeit) eingestellt und im SPS Programm berechne ich die LDT (Lokalzeit). So wie es im Forum diskutiert wurde. :) Die Struktur von Calendar ist auch vorhanden.

Nun zur meiner Frage:  Die Log Bausteine nehmen nun die Localzeit als Zeitstempel und nicht die Weltzeit. Das ist in der DLOG_DATA DTI (aktueller Daten Time Wert). Kann ich das Umstellen?

Besten Dank für eure Hilfe.




peewit

du kannst ja selber die aktuelle zeit vorgaben mittels DLOG_DATA DTI

dem baustein ist es völlig egal welche zeit angabe das ist

es liegt somit nur an dir selber

gib dem baustein die für dich richtige datum/uhrzeit angabe und alles wird "gut"

Omalik

Hallo Peewit

Besten Dank für Dein Feedback. Ich habe folgendes im Log Programm gemacht:

x.dti := Systemzeit.mez.UTC;

Leider geht das so nicht. Es wird wo auch immer mit der Lokalzeit überschrieben.

peewit

hi

ich glaube wir haben nicht vom gleichen gesprochen

ich meinte den datenlogger und du den calender baustein

beim calenderbaustein darfst du immer nur die utc eintragen und aufgrund von sommerzeit und timeoffset wird auch eine lokalzeit gebildet

was du dann aus der struktur weiterverwendest bleibt dir dann ja frei

aber bei calender darfst du nur utc vorgeben da alles andere automatisch berechnet wird.

Omalik

Nein wir haben vom selben gesprochen.

Auszug aus dem Logger Programm:


        x.DTI:= Systemzeit.mez.UTC;                            (* Auf Weltzeit UTC stellen*)


   X1    (fmt:='#H-#D-#A-#N:#R:#T',                  (*Formatierungsparameter*)
      COLUMN:='Timestamp UTC',                  (*Prozesswertbezeichnung*)
      DELTA:=6000,                           (*Differenzzeitwer in Sekunden*)
      x:=x);   
usw.

Wenn ich dann online schaue hat x.DTI Localzeit und nicht die UTC Zeit. Es wir überschrieben. Wenn ich nichts angebe, von wo nimmt er sich die Zeit?
Danke für Deine Hilfe.

peewit

x.dti ?

schreibst du die zeit direkt in die datenstruktur

wenn ja dann ist das falsch

die zeit wird global am letzten baustein (dem eigentlichen loggerbaustein am parameter dti übergeben


schau dir doch einfach die datenlogger demo bausteine in der network bibliothek im ordner demo an !