TIA TIA Dateierstellung mit Script

InstZFSW

Level-2
Beiträge
17
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

an einer Laserbeschriftungsanlage wird mit Hilfe eines Scripts in der HMI eine Textdatei erzeugt und darin Daten abgelegt.
Der Dateiname setzt sich aus einer Teilenummer + Datum und Uhrzeit zusammen.
Sporadisch fehlt nun die Teilenummer im Dateinamen.
Dieser wird mit einer HMI-Variable an das Script übergeben.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Dim fso,datei,txtfile
Dim DMC,Guete_Klasse,Name,Start

Dim Tag,Monat,Jahr,Stunden,Minuten,Sekunden

SmartTags("Day_Old") = Now

Sekunden = Second(SmartTags("Day_Old"))
Minuten = Minute(SmartTags("Day_Old"))
Stunden = Hour(SmartTags("Day_Old"))
Tag = Day(SmartTags("Day_Old"))
Monat = Month(SmartTags("Day_Old"))
Jahr = Year(SmartTags("Day_Old"))


Set fso = CreateObject("Scripting.FileSystemObject")

If Not fso.FolderExists("D:\Daten\Log") Then 'Pfadändern für Netzlaufwerk
fso.CreateFolder("D:\Daten\Log") 'Pfadändern für Netzlaufwerk
End If


Start = SmartTags("Datenlog")

If Start Then

DMC = SmartTags("600_Kamera_Daten_DMC_Code")
Guete_Klasse = SmartTags("600_Kamera_Daten_DMC_Gesamt")
'Name = SmartTags("HMI.Rezept.Name")
Name = SmartTags("DatenLog_Name")

If Len(Name) =0 Then
Name = "------------"
End If

datei="D:\Daten\Log\"&Name&"_"& Jahr & "_" & Monat & "_" & Tag &"_"& Stunden & "_" & Minuten & "_" & Sekunden &".txt" 'Pfadändern für Netzlaufwerk

Set txtfile = fso.CreateTextFile(datei, True)
txtfile.WriteLine "Datum;"&"Uhrzeit;"&"Datamatrix Code;"&"Güte Klasse"
txtfile.WriteLine Date&";"&Time&";"&DMC&";"&Guete_Klasse
txtfile.Close

End If
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
soweit müsste das Script doch funktionieren.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Sporadisch fehlt nun die Teilenummer im Dateinamen.
Code:
DMC = SmartTags("600_Kamera_Daten_DMC_Code")
Guete_Klasse = SmartTags("600_Kamera_Daten_DMC_Gesamt")
Name = SmartTags("DatenLog_Name")
Stehen diese Variablen auf Erfassungsart "Zyklisch fortlaufend" oder auf "Auf Anforderung"?

Nachzuschauen bei den Eigenschaften der Variable:
1686637994192.png

PS:
Was bedeutet "fehlt"? Gar kein Zeichen? Falsche Zeichen?
 
PC-System ET200SP Open Controller.
fehlt bedeutet, der Dateiname der erzeugten Datei besteht nur aus Datum und Uhrzeit
 
Was ist das SmartTags("DatenLog_Name")? Eine Variable aus einer SPS? Sollen vielleicht auch noch weitere Werte aus der SPS in die Datei geschrieben werden?
Die Werte von Variablen aus der SPS bekommt man nur mit Handshake (z.B. als Rezeptur) garantiert konsistent in das HMI eingelesen. ..zig Variablen auf "Zyklisch fortlaufend" setzen, nur weil sie alle paar Stunden mal gebraucht werden, ist eine sehr unclevere Lösung.
Tip zur Forumssuche nach diesem häufigen Problem: suche nach GetDataRecordTagsFromPLC

und schau auch mal hier FAQ: Datum und Uhrzeit für Dateinamen formatieren

Harald
 
Zurück
Oben