VBSkript Datum+Uhrzeit ins S7 Format wandeln

moeins

Level-1
Beiträge
165
Reaktionspunkte
16
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich habe mir schon die Finger wund gegoogelt aber nix passendes gefunden.

Ich möchte ein beliebiges Datum welches ich in einem HMI-WinCCFlexible Panel, oder einem PC eingebe oder berechne, z.B. 12.12.2008 per VBSkript wandeln und in einen Datenbaustein schreiben, so das die SPS es direkt im Format D#2008-12-12 laden kann.
Genauso möchte ich die Uhrzeit z.B. 15:23:33 nach TOD#15:23:33.0 wandeln.
:confused:
 
Hallo,

googel mal nach

vbscript format(now

Da kommt einiges. Mit Format kann man bei .Net z.B. so was machen:

Code:
swAuswertung.WriteLine(Format(Now, "HH:mm:ss") & "|" &  sMeldung)

Ergebnis ist dann z.B.

19:15:10|MeldungXy

Viel Erfolg beim Suchen.

LG MeTh.

Ich habe mir schon die Finger wund gegoogelt aber nix passendes gefunden.

Ich möchte ein beliebiges Datum welches ich in einem HMI-WinCCFlexible Panel, oder einem PC eingebe oder berechne, z.B. 12.12.2008 per VBSkript wandeln und in einen Datenbaustein schreiben, so das die SPS es direkt im Format D#2008-12-12 laden kann.
Genauso möchte ich die Uhrzeit z.B. 15:23:33 nach TOD#15:23:33.0 wandeln.
:confused:
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

Danke aber das ist nicht mein Problem. Ich möchte den Wert in einen Datenbaustein der S7 schreiben, so das die SPS den als TOD#... bzw. D#... lesen kann.
Soweit ich weiss sind das DINT bzw. INT Werte, ich müsste wohl über eine komplizierte Berechnung auch die Schaltjahre einrechnen, aber wie ??? Keine Ahnung ?!?
 
Hallo,
die Berechnung ist gar nicht so schwierig ...

Das Date-Format der SPS ist die Anzahl der Tage, die seit dem 01.01.1990 vergangen sind. Hier kannst du es dir bei der Schaltjahres-Berechnung einfach machen (alle Jahreszahlen MOD 4 = 0 sind Schaltjahre).

Das Time_of_Day-Format der SPS enthält die Anzahl der Millisekunden, die seit 0:00 Uhr vergangen sind.

Gruß
LL
 
Hallo,

Danke für den Hinweis. Ich habe gerade einen Trick gefunden wie es noch einfacher geht.
Visualbasic bietet ja den DATEDIFF Befehl an. Um das heute Datum ins S7 Format zu bringen macht man das dann mit :

Code:
DateDiff("d","01.01.1990",Now)
erzeugt dann im Datenbaustein :

Code:
D#2008-10-01
:D

Bei der Uhrzeit ist es genauso einfach :

Code:
DateDiff("s","00:00:00",Time)* 1000

Gruss
moeins
 
Zuletzt bearbeitet:
Zurück
Oben