DATE_AND_TIME in Stringvariable wandeln

vsoft

Level-1
Beiträge
7
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen
Ich muss einem Zeitstempel mit Echtzeit aus der SPS in WinCC machen.
Wie kann die Struktur „DATE_AND_TIME“ (aus S7) in Stringvariable in WinCC wandeln . :confused:
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Lege eine Rohdatenvariable mit der Länge 8 an. Dann kannst du Folgendes Script verwenden:

Code:
Function Text_Trigger(ByVal Item)
Dim objTag
Dim var
Set objTag = HMIRuntime.Tags("datumzeit")

objTag.Read

var = objtag.value
Dim tx,yr,hr,mn,ss
tx = "20"
If (var(0)>=144) Then tx="19"
yr = Hex(var(2))	
hr = Hex(var(3))
mn = Hex(var(4))
ss = Hex(var(5))
If (Len(yr)<2) Then yr = "0" + yr
If (Len(hr)<2) Then hr = "0" + hr
If (Len(mn)<2) Then mn = "0" + mn
If (Len(ss)<2) Then ss = "0" + ss
Text_Trigger =  Hex(var(2)) +"." + Hex(var(1)) + "." + tx + yr + " " + hr + ":" +  mn + ":" + ss

End Function
 
Ich hab den Code ausprobiert, es funktioniert mehr als perfekt. Super Vielen Vielen Dank .:sm2::sm2::sm2:
 
Ich habe ein kleine Änderung gemacht weil hat immer 2007 angezeigt!!!!
Noch mal vielen dank!!!


///////////////////////////////////////////////////


Function Text_Trigger(Byval Item)
Dim objTag
Dim var
Set objTag = HMIRuntime.Tags("DATE_AND_TIME") 'SPS Variable(Rohdatenvariable Länge 8 Byte)

objTag.Read

var = objtag.value
Dim tx,yr,hr,mn,ss
tx = "20"
If (var(0)>=144) Then tx="19"
yr = Hex(var(0)) 'Änderung auf Byte 0 Jahr abfrage
hr = Hex(var(3))
mn = Hex(var(4))
ss = Hex(var(5))
If (Len(yr)<2) Then yr = "0" + yr
If (Len(hr)<2) Then hr = "0" + hr
If (Len(mn)<2) Then mn = "0" + mn
If (Len(ss)<2) Then ss = "0" + ss
Text_Trigger = Hex(var(2)) +"." + Hex(var(1)) + "." + tx + yr + " " + hr + ":" + mn + ":" + ss

End Function
 
Zurück
Oben