Daten von Simatic SD auf Netzlaufwerk

Farbtopf

Level-1
Beiträge
9
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo liebe SPS´ler,
Ich muss im Praktikum Daten von einer Simatic SD Karte die in einem Simatic HMI Touch Panel 1500 Comfort steckt Meldeprotokolle die im .CSV Format erstellt werden ,auf ein Netzlaufwerk verschieben. Da ich noch nie in VB programmiert habe bräuchte ich eine Funktion die das Regelt.Diese würde dann per Aufgabe aufgerufen werden.
Folgendes muss die Funktion können:
1.Dateiname mit Zeitstempel(Datum ohne Punkte)versehen.
2.Datei mit dem Alten Dateinamen löschen.
3.Verbindung zum Netzlaufwerk herstellen.
5.Die Dateien auf die Platte verschieben.
6.Verbindung schließen.

Ich hoffe ihr könnt mir helfen.

LG Farbtopf
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo lieber Farbtopf,
natürlich können wir Dir helfen. :cool:
Hier findest Du Beispielcode und Hinweise für alle Deine Teilaufgaben:
FAQ: Protool/WinCCflex Daten lesen / schreiben mit VB-Script
Move *.* bzw. Dateien kopieren
Dateinamen aus Systemzeit erzeugen
FAQ: Von Panel auf PC über LAN zugreifen

Solltest Du bei Deiner konkreten Lösungsumsetzung noch Detailprobleme haben, dann kannst Du gerne wieder fragen.

Alternativ findet sich bestimmt jemand, der Dir eine Komplett-Fertig-Lösung erstellt, wenn Du Deine Aufgabe bei Suche & Biete schilderst und Deine angebotene Entlohnung hoch genug ist ;) Allerdings wäre dann Dein Lerneffekt nich so dolle, ganz zu Schweigen vom Verlust der Genugtuung, etwas selbst geschafft zu haben ...

Harald
 
Hi ich habe was gefunden und es etwas ausgebaut.Wollte sum Anfang erstmal nur eine Datei in einen Anderen ordner Schieben.

Code:
    Dim movefile 
    Dim today
    today = Date 
 
    Set movefile = CreateObject("FileCtl.FileSystem")
    movefile.MkDir "\Storage Card SD\Meldungen\" & today
    movefile.MoveFile "\Storage Card SD\Meldungen\Meldearchiv_Betriebsmeldungen0.csv\", "\Storage Card SD\Meldungen\"& today &"\Meldearchiv_Betriebsmeldungen0.csv\"
    ShowSystemAlarm "Datei Verschoben."

Doch ich bekomm beim Auslösen der Sub diese Fehlermeldung: AccessDenied Ordner wird erstellt.

Ich denke das es irgendwie was mit den Rechten des neu erstellten Ordners zu tun hat.
lg Farbtopf
 
im erstellen des verzeichnisses sehe ich keinen fehler.
wird das verzeichnis denn erstellt?
hast du das archiv vorher geschlossen?

versuch mal anstatt movefile.MoveFile, movefile.FileCopy
 
Zuviel Werbung?
-> Hier kostenlos registrieren
* Ich meine, an das Ende des Dateinamens (nach dem ".csv") gehört kein Backslash.
* Vor dem Erstellen eines Ordners muß geprüft werden, ob es schon einen Ordner mit diesem Name gibt.
* Den Ordnername, der aus dem Datum gebildet wird, würde ich unabhängig von den regionalen Settings des Panels mit DatePart(...) erzeugen.
* Im Script zusammengesetzte Datei/Pfadnamen würde ich mir zum Test per ShowSystemAlarm anzeigen lassen.
* um Tippfehler bei Mehrfachverwendung von Strings zu vermeiden, mehr mit Variablen arbeiten

Code:
Dim fso, dstpath, arcpath, arcfile

arcfile = "Meldearchiv_Betriebsmeldungen0.csv"
arcpath = "\Storage Card SD\Meldungen\"
dstpath = arcpath & Date & "\"
'ShowSystemAlarm "Zieldatei: '" & dstpath & arcfile & "'" 'Testausgabe zum beobachten

Set fso = CreateObject("FileCtl.FileSystem")
If fso.Dir(dstpath) = "" Then fso.MkDir dstpath

fso.FileCopy arcpath & arcfile, dstpath & arcfile
ShowSystemAlarm "Datei kopiert."

Ergänzung/Tip: Ausführliche Informationen und ein Tutorium zu VBScript gibt es im WinCC flexible Hilfesystem in der Registerkarte "Inhalt" unter "WinCC flexible Information System > Arbeiten mit WinCC flexible > Referenz".

Harald
 
Vielen dank konnte die Lösungsansätze jetzt noch nicht ausprobieren Feierabend:)

Werde es morgen versuchen und euch dann erzählen obs geklappt hat.

lg Farbtopf
 
Zurück
Oben