TimeConvert
Zurück Nach oben Vorwärts

Kurzbeschreibung Parameter Funktionsweise Ein/Ausgänge Limitierungen Querverweise Beispiele

Kurzbeschreibung
Das Modul TimeConvert dient zur Umrechnung von Zeitsignalen.
Parameter
Eingang
Zeit aus DOUBLE-Werten berechnen: Der Eingang Double wird sichtbar und Werte von dort übernommen (als Zeit vom 1.1.1970 1:00 Uhr in Millisekunden).
Zeit aus Typinformationen berechnen: Der Eingang TypeInfo wird sichtbar und die Typinformation von dort übernommen (Zeitstempel).
Zeit aus Datum/Uhrzeit berechnen: Die Zeit und Datumsinformationen werden an separaten Eingängen übernommen (Pro Ziffer ein Eingang).
Signalcharakteristik
Signaltyp: Hier kann man zwischen DOUBLE[] und SWORD[] wählen. Es werden alle Ausgänge (außer S1, S2 und TimeStamp) und (bei Zeit aus Datum/Uhrzeit) alle Eingänge auf diesen Typ gesetzt.
Bezeichner: Zusatzinformation für den Signaltyp.
Stringformate für Ausgänge
S1 und S2: Hier kann man die Formate für die Ausgabe als String benutzerdefiniert erstellen. Dabei gibt es eine Reihe von Variablen:
Zeitformate (alle mit %-Zeichen)
%h= Stunde im 24 Stundenformat (0, 1, ..., 9, 10, ..., 23)
%hh= Stunde im 24 Stundenformat (00, 01, ..., 09, 10, ..., 23)
%H= Stunde im 12 Stundenformat (1, 2, ..., 9, 10, 11, 12)
%HH= Stunde im 12 Stundenformat (01, 02, ..., 09, 10, 11, 12)
%m= Minute (0, 1, ..., 9, 10, ..., 59)
%mm= Minute (00, 01, ..., 09, 10, ..., 59)
%s= Sekunde (0, 1, ..., 9, 10, ..., 59)
%ss= Sekunde (00, 01, ..., 09, 10, ..., 59)
%Ms= Millisekunde (000, 001, ..., 999)
%PP= Angabe für Vormittag, Nachmittag für das amerikanische Zeitformat (AM, PM)
Datumsformate (alle mit %-Zeichen)
%d = Tag (1, 2, ..., 9, 10, ..., 31)
%dd = Tag (01, 02, ..., 09, 10, ..., 31)
%M = Monat (1, 2, ..., 9, 10, 11, 12)
%MM = Monat (01, 02, ..., 09, 10, 11, 12)
%yy = Jahr (70, 71, ..., 99, 00, 01, ..., 38)
%yyyy = Jahr (1970, 1971, ..., 1999, 2000, 2001, ..., 2038)
%MDe = Monat Deutsch kurz (Jan, Feb, ..., Dez)
%MEn = Monat Englisch kurz (Jan, Feb, ..., Dec)
%MFr = Monat Französisch kurz (Jan, Fév, ..., Déc)
%MonDe = Monat Deutsch lang (Januar, Februar, ..., Dezember)
%MonEn = Monat Englisch lang (January, February, ..., December)
%MonFr = Monat Französisch lang (Janvier, Février, ..., Décembre)
%dDe = Tag Deutsch kurz (Son, Mon, Die, ..., Sam)
%dEn = Tag Englisch kurz (Sun, Mon, Tue, ..., Sat)
%dFr = Tag Französisch kurz (Dim, Lun, Mar, ..., Sam)
%dayDe = Tag Deutsch lang (Sonntag, Montag, Dienstag, ..., Samstag)
%dayEn = Tag Englisch lang (Sunday, Monday, Tuesday, ..., Saturday)
%dayFr = Tag Französisch lang (Dimanche, Lundi, Mardi, ..., Samedi)
%DoW = Tag der Woche (0= Sonntag, 1= Montag, ..., 6= Samstag)
%DoY = Tag des Jahres (0, 1, ..., 9, 10, ..., 364, bei einem Schaltjahr 365)
%WoY = Woche des Jahres (0, 1, ..., 9, 10, ..., 52), beginnend mit 0= die Woche mit dem ersten Sonntag im Jahr
Funktionsweise
Es werden, je nach Einstellung, Werte vom Eingang Double übernommen oder (pro Paket) die Typinformation von Eingang TypeInfo oder ein Datum aus den Eingängen (dd, mm, yy, ...). Diese Werte werden als absolute Zeit seit dem 1.Januar 1970 1:00 Uhr in Millisekunden gerechnet. Daraus werden die Jahre, Monate, Tage, Stunden, Minuten und Sekunden ermittelt, die seitdem vergangen sind, und an den Ausgängen ausgegeben.
Am Timestamp-Ausgang wird die Zeit seitdem in Millisekunden ausgegeben. Das kann vor allem dann sehr nützlich sein, wenn eine Zeitdifferenz berechnet werden soll.

Wenn Zeit aus Datum/Uhrzeit berechnen gewählt ist, müssen immer alle Eingänge eines Typs verdrahtet sein (dd, mm, yyyy bzw. hh, MM, ss bzw. alle).
Ein-/Ausgänge
Eingänge
Double TYPEINFO{TypeInfo}
DOUBLE[]{TIME_DOMAIN}
Dateneingang (Zeit in Millisekunden seit dem 1.1.1970, 1:00 Uhr)
oder
TypeInfo Zu allen Signalen kompatibel, die Typinformationen liefern: TYPEINFO{TypeInfo} ... Dateneingang für beliebige Signale, die Zeit wird aus der Typinformation des Signals ermittelt.
oder
dd TYPEINFO{TypeInfo}
DOUBLE[]{TIME_DOMAIN}
bzw.
TYPEINFO{TypeInfo}
SWORD[]{BIN}
Dateneingang für den Tag (1-31)
mm TYPEINFO{TypeInfo}
DOUBLE[]{TIME_DOMAIN}
bzw.
TYPEINFO{TypeInfo}
SWORD[]{BIN}
Dateneingang für den Monat (1-12)
yy/yyyy TYPEINFO{TypeInfo}
DOUBLE[]{TIME_DOMAIN}
bzw.
TYPEINFO{TypeInfo}
SWORD[]{BIN}
Dateneingang für das Jahr (entweder zwei- oder vierstellig)
hh TYPEINFO{TypeInfo}
DOUBLE[]{TIME_DOMAIN}
bzw.
TYPEINFO{TypeInfo}
SWORD[]{BIN}
Dateneingang für die Stunde (0-23)
MM TYPEINFO{TypeInfo}
DOUBLE[]{TIME_DOMAIN}
bzw.
TYPEINFO{TypeInfo}
SWORD[]{BIN}
Dateneingang für den Minute (0-59)
ss TYPEINFO{TypeInfo}
DOUBLE[]{TIME_DOMAIN}
bzw.
TYPEINFO{TypeInfo}
SWORD[]{BIN}
Dateneingang für die Sekunde (0-59)
Ausgänge
hour TYPEINFO{TypeInfo}
DOUBLE[]{TIME_DOMAIN}
bzw.
TYPEINFO{TypeInfo}
SWORD[]{BIN}
Ausgang für Stunde (0-23)
min TYPEINFO{TypeInfo}
DOUBLE[]{TIME_DOMAIN}
bzw.
TYPEINFO{TypeInfo}
SWORD[]{BIN}
Ausgang für Minute (0-59)
sec TYPEINFO{TypeInfo}
DOUBLE[]{TIME_DOMAIN}
bzw.
TYPEINFO{TypeInfo}
SWORD[]{BIN}
Ausgang für Sekunde (0-59)
day TYPEINFO{TypeInfo}
DOUBLE[]{TIME_DOMAIN}
bzw.
TYPEINFO{TypeInfo}
SWORD[]{BIN}
Ausgang für Tag (1-31)
month TYPEINFO{TypeInfo}
DOUBLE[]{TIME_DOMAIN}
bzw.
TYPEINFO{TypeInfo}
SWORD[]{BIN}
Ausgang für Monat (1-12)
year TYPEINFO{TypeInfo}
DOUBLE[]{TIME_DOMAIN}
bzw.
TYPEINFO{TypeInfo}
SWORD[]{BIN}
Ausgang für Jahr (vierstellig)
hhmmss TYPEINFO{TypeInfo}
DOUBLE[]{TIME_DOMAIN}
bzw.
TYPEINFO{TypeInfo}
SWORD[]{BIN}
Ausgang für Zeit (Stunden*10000 + Minuten*100 + Sekunden)
ddmmyyyy TYPEINFO{TypeInfo
DOUBLE[]{TIME_DOMAIN}
bzw.
TYPEINFO{TypeInfo}
SWORD[]{BIN}
Ausgang für Datum (Tag*1000000 + Monat*10000 + Jahr vierstellig)
TimeStamp TYPEINFO{TypeInfo}
DOUBLE[]{TIME_DOMAIN}
Ausgang für Zeitstempel (Millisekunden seit 1.1.1970, 1:00 Uhr)
S1 TYPEINFO{TypeInfo}
UBYTE[]{Text}
Benutzerdefinierte Ausgabe als String
S2 TYPEINFO{TypeInfo}
UBYTE[]{Text}
Benutzerdefinierte Ausgabe als String
DayOfWeek TYPEINFO{TypeInfo}
DOUBLE[]{TIME_DOMAIN}
bzw.
TYPEINFO{TypeInfo}
SWORD[]{BIN}
Ausgang für den Tag der Woche
DayOfYear TYPEINFO{TypeInfo}
DOUBLE[]{TIME_DOMAIN}
bzw.
TYPEINFO{TypeInfo}
SWORD[]{BIN}
Ausgang für den Tag des Jahres (beginnt bei 0)
WeekOfYear TYPEINFO{TypeInfo}
DOUBLE[]{TIME_DOMAIN}
bzw.
TYPEINFO{TypeInfo}
SWORD[]{BIN}
Ausgang für die Woche des Jahres (0= 1. Sonntag des Jahres)
Limitierungen
Wenn am Eingang TypeInfo nur Blöcke anliegen, werden nur einmal Daten ausgegeben, da (bei Blöcken) keine neue Typinformation mehr eintrifft.
Querverweise
-
Beispiele
Beispiele für die Stringformate:
%hh:%mm:%ss                                               08:15:57
Nach %h Stunden und %m Minuten             Nach 8 Stunden und 15 Minuten
%d. %MonDe %yyyy, %hh:%mm:%ss.%Ms       6. April 1999, 08:15:57.355
timeconverter_sg-fenster_1.gif (31088 bytes)