-> Hier kostenlos registrieren
Hallo zusammen,
ich möchte auf einem TP900 mit einem Skript einen Eintrag in einer .csv-Datei erzeugen. Programmiert wird in TIA V18. Wenn ich die Datei auf einen USB-Stick schreibe, funktioniert es prima, aber sie soll auf einer Synology Diskstation DS220+ als NAS abgelegt werden. Ich habe dazu schon im Forum gesucht und entdeckt, dass der Pfad mit Servername, statt mit IP-Adresse des NAS deklariert werden muss, und dass im NAS das SMB-Protokoll freigeschaltet sein muss, wenn ich ohne diese Option+ arbeiten will. Das ist alles gewährleistet. In den Panel-Einstellungen ist unter Network-ID User name, Password und Domain vergeben Was mich da nur irritiert ist, dass wenn ich das eingebe und das Fenster neu öffne, er alles bei User name reinschreibt.
Also Eingabe:
User name: BTM
Password: 1234
Domain: \\Server_BTM
Nach Fenster neu öffnen:
User name: \Server_BTM\BTM
Password:
Domain:
Ich weiß nicht, ob es damit was zu tun hat. Das Skript gibt mir jedenfalls beim Ausführen den Fehler aus: "Error2# -2147024838 The specified server cannot perform the requested operation." Hat noch jemand eine Idee?
ich möchte auf einem TP900 mit einem Skript einen Eintrag in einer .csv-Datei erzeugen. Programmiert wird in TIA V18. Wenn ich die Datei auf einen USB-Stick schreibe, funktioniert es prima, aber sie soll auf einer Synology Diskstation DS220+ als NAS abgelegt werden. Ich habe dazu schon im Forum gesucht und entdeckt, dass der Pfad mit Servername, statt mit IP-Adresse des NAS deklariert werden muss, und dass im NAS das SMB-Protokoll freigeschaltet sein muss, wenn ich ohne diese Option+ arbeiten will. Das ist alles gewährleistet. In den Panel-Einstellungen ist unter Network-ID User name, Password und Domain vergeben Was mich da nur irritiert ist, dass wenn ich das eingebe und das Fenster neu öffne, er alles bei User name reinschreibt.
Also Eingabe:
User name: BTM
Password: 1234
Domain: \\Server_BTM
Nach Fenster neu öffnen:
User name: \Server_BTM\BTM
Password:
Domain:
Ich weiß nicht, ob es damit was zu tun hat. Das Skript gibt mir jedenfalls beim Ausführen den Fehler aus: "Error2# -2147024838 The specified server cannot perform the requested operation." Hat noch jemand eine Idee?
Code:
Sub CSVPlatz1()
Dim fso, fo, file_Path_Name, file_Name
Dim Jahr, Monat, Tag
'Holen des aktuellen Datums
Jahr = Year(Now)
Monat = Month(Now)
Tag = Day(Now)
' Fehler abfangen
On Error Resume Next
' Objekt erstellen
Set fso = CreateObject("fileCtl.filesystem")
Set fo = CreateObject("fileCtl.file")
If Err.Number <> 0 Then
ShowSystemAlarm "Error 1#" & CStr(Err.Number) & " " & Err.Description
Err.Clear
Exit Sub
End If
file_Path_Name = "\\Server_BTM\Logfiles\Qualidaten" '"\Storage Card USB\Qualidaten"
file_Name = "\\Server_BTM\Logfiles\Qualidaten\" & Jahr & "\" & Monat & "\" & Tag & "\Prozesswerte_Platz_1.csv"
' Ordner erstellen, wenn keiner vorhanden
If fso.dir(file_Path_Name) = "" Then
fso.MkDir(file_Path_Name)
If Err.Number <> 0 Then
ShowSystemAlarm "Error 2#" & CStr(Err.Number) & " " & Err.Description
Err.Clear
Exit Sub
End If
End If
' Jahresordner erstellen, wenn keiner vorhanden
If fso.dir(file_Path_Name & "\" & Jahr) = "" Then
fso.MkDir(file_Path_Name & "\" & Jahr)
If Err.Number <> 0 Then
ShowSystemAlarm "Error 3#" & CStr(Err.Number) & " " & Err.Description
Err.Clear
Exit Sub
End If
End If
' Monatsordner erstellen, wenn keiner vorhanden
If fso.dir(file_Path_Name & "\" & Jahr & "\" & Monat) = "" Then
fso.MkDir(file_Path_Name & "\" & Jahr & "\" & Monat)
If Err.Number <> 0 Then
ShowSystemAlarm "Error 4#" & CStr(Err.Number) & " " & Err.Description
Err.Clear
Exit Sub
End If
End If
' Tagesordner erstellen, wenn keiner vorhanden
If fso.dir(file_Path_Name & "\" & Jahr & "\" & Monat & "\" & Tag) = "" Then
fso.MkDir(file_Path_Name & "\" & Jahr & "\" & Monat & "\" & Tag)
If Err.Number <> 0 Then
ShowSystemAlarm "Error 5#" & CStr(Err.Number) & " " & Err.Description
Err.Clear
Exit Sub
End If
End If
' Datei erstellen, wenn keine vorhanden
If fso.dir(file_Name) = "" Then
fo.Open file_Name, 2
fo.LinePrint("Prozesswerte vom " & Tag & "." & Monat & "." & Jahr & ": Füllplatz 1;" )
fo.LinePrint("")
fo.LinePrint("Zeitstempel:;"&"Benutzer:;"&"Brutto:;"&"Netto:;"&"Tara:;"&"Kennung:;")
fo.Open file_Name, 8
fo.LinePrint (SmartTags("KommunikationsdatenWaage_Waage{1}_Zeitstempel") & ";" & SmartTags("CurrentUserName") & ";" & SmartTags("KommunikationsdatenWaage_Waage{1}_GewichtBrutto") & ";" & SmartTags("KommunikationsdatenWaage_Waage{1}_GewichtNetto") & ";" & SmartTags("KommunikationsdatenWaage_Waage{1}_GewichtTara") & ";"& SmartTags("KommunikationsdatenWaage_Waage{1}_Alibikennung") & ";")
fo.Close
If Err.Number <> 0 Then
ShowSystemAlarm "Error 6#" & CStr(Err.Number) & " " & Err.Description
Err.Clear
Exit Sub
End If
Else
fo.Open file_Name, 8
fo.LinePrint (SmartTags("KommunikationsdatenWaage_Waage{1}_Zeitstempel") & ";" & SmartTags("CurrentUserName") & ";" & SmartTags("KommunikationsdatenWaage_Waage{1}_GewichtBrutto") & ";" & SmartTags("KommunikationsdatenWaage_Waage{1}_GewichtNetto") & ";" & SmartTags("KommunikationsdatenWaage_Waage{1}_GewichtTara") & ";"& SmartTags("KommunikationsdatenWaage_Waage{1}_Alibikennung") & ";")
fo.Close
If Err.Number <> 0 Then
ShowSystemAlarm "Error 7#" & CStr(Err.Number) & " " & Err.Description
Err.Clear
Exit Sub
End If
End If
Set fo = Nothing
Set fso = Nothing
'ShowSystemAlarm "Datensatz erfolgreich gespeichert!"
End Sub