Kopieren von .csv Datei

Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo anze,

hast du dein Script schon mal mit Hilfe eines Script-Debuggers schrittweise abgearbeitet und dir ggf. das Error-Objekt (genauer: Err.Description) ausgeben lassen?

Ich verwende dazu den MS-ScriptDebugger (Google ist dein Freund...); nicht schön, aber besser als nichts.


Gruß, Fred
 
Bist Du gaaanz sicher, daß die Datei "C:\Users\Desktop\Archiv\test.csv" und der Ordner "C:\Users\Desktop\Archiv2" existiert und die Datei "C:\Users\Desktop\Archiv2\test.csv" noch nicht existiert oder zumindest nicht schreibgeschützt und nicht geöffnet ist? Kannst Du mit dem Windows Explorer zu den Ordnern navigieren? (Ordnerpfade in die Explorer-Adresszeile kopieren)
Ist da auch nichts schreibgeschützt? Hast Du die Rechte, in das C:-Laufwerk bzw. die Ordner zu schreiben?
Versuche mal einen anderen Ordner-Pfad zu benutzen, z.B. USB-Stick.

Hast Du den Pfad "C:\Users\Desktop" selbst angelegt? (der sieht mir so komisch aus, sollte da nicht auch ein Username mit enthalten sein?)

Mußt Du Dich mit null Ahnung unbedingt gleich an WinCC Professionell versuchen? Ich würde zum Testen eine kleine PC-Runtime "Advanced" aufsetzen, da weiß ich, wie ich die Runtime-Errors und Testausgaben anzeige. Bei WinCC Professionell kann ich Dir nicht erklären, wie man Debug-Ausgaben und Fehlermeldungen sichtbar macht. Theoretisch könntest Du das Err-Objekt auswerten, ich kann Dir für VBS unter WinCC Professionell aber nicht weiter helfen.

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das funktioniert auch nicht. Es kommen keine Fehlermeldungen.
Hast du denn überhaupt eine Meldeanzeige für Systemmeldungen und Warnungen projektiert?
Denn nur so werden Skript-Fehler angezeigt.

Die Quelldatei und das Zielverzeichnis existieren auch.?
Wie Harald schon angemerkt hat ist C:\Users\Desktop sicher kein korrekter Pfad auf den Desktop eines Windows-Benutzers.
Da müsste zumindest C:\Users\BenutzerName\Desktop stehen.

Mach einfach mal einen einfachen Test. Drücke WIN+R (also "Ausführen"), kopiere dort den Pfad auf deine Datei rein (bei dir also
"C:\Users\Desktop\Archiv\test.csv") und drücke Enter. Wenn sich die Datei dann öffnet dann wissen wir zumindest dass du wirklich den richtigen Dateipfad hast.
 
Hi an alle. Das navigieren mit dem Windows Explorer zu den Ordnern hat funktioniert. Die csv. Datei öffnet sich dann auch automatisch. Den Benutzernamen C:\Users\BenutzerName\Desktop hatte ich beim rüberkopieren des Codes ins Forum vergessen. Trotzdem funktioniert das Kopieren von Quell in Zielpfad leider immer noch nicht.
 
Hast du dies:
Code:
ShowSystemAlarm "Script start"

On Error Resume Next

[Dein Code.......]

If Err.Number <> 0 Then
 ShowSystemAlarm "Script error." & Err.Number & " " & Err.Description
    Err.Clear 
    Exit Sub
End If
Kann sein das ShowSystemAlarm heist etwas anders in dein deutschsprachige WinCC.

Wichtig ist auch das du hast ein Meldeanzeige mit Systemmeldungen, so das du die Meldungen anschauen kannst.
 
Kannst du mir sagen welchen Befehl ich statt ShowSystemAlarm nutzen kann. Wie du schon gesagt hast kennt er diesen Befehl nicht.
 
Vielleicht "ZeigeSystemMeldung" ?
Da mein WinCC mit englische Sprache installiert ist, kann ich es nicht genau sagen.
Also, jetzt must du ein bisschen Einsatz zeigen. Guck mal in der Liste von Systemfunktionen.
 
in den Systemfunktionen ist nichts passendes dabei. Hab alle geöffnet und durchgelesen. Ich nutze ja RT Professional
Unbenannt.PNG
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das können nicht alle Systemfunktionen sein. Außerdem sollte es die Funktion ja geben - Jesper hat es ja extra auf Professional gegengecheckt - bei ihm ist sie halt nur Englisch benannt.

Darüber hinaus würden die Befehle auch m.E. unter Excel im VB-Modus funktionieren. Dort könntest du dann auch debuggen und Breakpoints setzen. Ist vielleicht ein anderer Ansatz ...

Gruß
Larry
 
Es heist "ZeigeSystemmeldung"

Dokument:WInCC Professional V13.0 SP1 (12/2014, Deutsch)
Topictyp:Funktion

ZeigeSystemmeldung

Beschreibung

Zeigt den Wert des übergebenen Parameters als Systemmeldung am Bediengerät an.
Verwendung in der Funktionsliste

ZeigeSystemmeldung (Text/Wert)
Verwendung in benutzerdefinierten Funktionen

ShowSystemAlarm (Text/value)
Verwendbar, sofern das projektierte Gerät benutzerdefinierte Funktionen unterstützt. Weitere Informationen finden Sie unter "Geräteabhängigkeit".
Parameter

Text/Wert

Der Text oder der Wert, der als Systemmeldung ausgegeben wird.
 
ShowSystemAlarm (Text/value)
Verwendbar, sofern das projektierte Gerät benutzerdefinierte Funktionen unterstützt. Weitere Informationen finden Sie unter "Geräteabhängigkeit".
(rote Hervorhebung von mir)


Vorweg: ich habe kein WinCC Professional V1x.x (TIA). Ich vergleiche mit der V7.2

In WinCC Professional V7.x gibt es kein ShowSystemAlarm und keine Meldeanzeige. Ich denke mal, daß es diese Sachen auch bei WinCC Professional (TIA) nicht gibt. Laut Systemhandbuch "WinCC Professional V13.0 SP1" gibt es z.B. ZeigeSystemmeldung (ShowSystemAlarm) nur für Panels und für "WinCC RT Advanced", aber nicht für "WinCC RT Professional" (7.11 Referenz, ab Seite 1327)


(*** Ehrlich gesagt kotzt mich die neue Mode von Siemens total an, einen Gemischtwarenladen von unvollständigen und falschen Informationen zu inkompatiblen Systemen in ein einziges tausende Seiten langes Dokument zu quetschen - ohne ein System, bei jeder Aussage zu kennzeichnen, wofür sie denn gelten soll! ***)


@anze
Hast Du schon mal einen Blick in die WinCC Hilfe (WinCC Information System) geworfen?
Zumindest in der V7.x findet man da die komplette VBS-Referenz und muß die nicht extra downloaden.
Ist die VBS-Referenz in Deinem WinCC Professional (TIA) ebenfalls enthalten?
Im o.g. Systemhandbuch besteht die "VBScript für Windows"-Referenz lediglich aus einem Verweis zu Microsoft:
7.11.3.3 VBScript für Windows schrieb:
Grundlegende Informationen zu VBScript Details zu den Sprachelementen finden Sie auf der
Homepage von Microsoft:
http://msdn.microsoft.com/en-us/library/t0aew7h6.aspx


WinCC Information System
- Arbeiten mit WinCC
- VBS zum Erstellen von Prozeduren und Aktionen
- Grundlagen von VBScript
- Scripting Run-Time Reference
Hier findet man z.B. das FileSystemObject und seine Methoden und Codebeispiele und und und...


WinCC Information System
- Arbeiten mit WinCC
- VBS zum Erstellen von Prozeduren und Aktionen
- Diagnose
GCS-Diagnose schrieb:
Trace-Anweisung geben Sie in der Form "HMIRuntime.Trace(<Ausgabe>)" an.
Im GSC-Diagnosefenster werden Trace-Ausgaben von C und VBS ausgegeben.

Hinweis
Laufzeitfehler in VBS werden nicht angezeigt


Einige Skript-Fehler werden weder über Trace ausgegeben noch über den Fehlerdialog angezeigt. Verwenden Sie den Microsoft Script Debugger.
[...]
Die Verwendung des Microsoft Script Debugger wird im Kapitel "Testen mit dem Debugger" beschrieben.


Der vermutlich einfachste Weg zum Ansehen der Laufzeitfehler-Meldungen:
Code:
...

[COLOR="#008000"]'Am Anfang des VBS-Skriptes[/COLOR]
[B]On Error Resume Next[/B]


[COLOR="#008000"]'Eigene Anweisungen[/COLOR]
[COLOR="#808080"]Set fso = CreateObject("Scripting.FileSystemObject")
fso.CopyFile "C:\Users\Desktop\Archiv\test.csv", "C:\Users\Desktop\Archiv2\test_" & s &".csv"[/COLOR]


[COLOR="#008000"]'Am Ende des Skriptes oder nach vermutlich fehlerhaft ausgeführten Anweisungen[/COLOR]
[B]If Err.Number <> 0 Then
  MsgBox ("Error # " & CStr(Err.Number) & ": " & Err.Description)
  Err.Clear
End If[/B]

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Entschuldigung, dass ich anze in den falschen Richtung gezeigt habe, und danke an Harald.

Was ich nicht so toll bei MsgBox finde, ist das solange das den Box angezeigt wird, werden alle andere VBS Skripte angehalten.
Erst wenn man den MsgBox schliest mit "OK", laufen eventuelle anstehende Skripte weiter.
Aber absolut anwendbar in diesen Fall, um herauszufinden wo es meckert.
 
Cool Danke das hat geklappt. Die Fehlermeldung die er ausgibt lautet: "#53 Keine Datei gefunden". Im Ordner ansich liegt allerdings eine .csv Datei. hmm evt. weil ich keine Adminrechte habe und der Ordner doch irgenwie schreibgeschützt ist ? Teste ich morgen mal weiter
 
Vielleicht ist die Quelldatei von einem anderen Prozess geöffnet oder der Zugriff geblockt?
Erstelle mal eine ganz neue Datei und kopiere diese.

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Was ich nicht so toll bei MsgBox finde,
[...]
Aber absolut anwendbar in diesen Fall, um herauszufinden wo es meckert.
Korrekt! Wenn die Fehlerausgabe für immer im Skript drinbleiben soll, dann sollte der Error-Text nicht an eine MsgBox ausgegeben werden, sondern an das GSC-Diagnosefenster mittels
Code:
HMIRuntime.Trace("Error # " & CStr(Err.Number) & ": " & Err.Description)
oder in einen String-Tag geschrieben werden. Für den String-Tag könnte ein einfaches Ausgabefeld irgendwo projektiert werden. Für das GSC-Diagnosefenster kann ich nur auf die WinCC Hilfe verweisen.


PS: das HMIRuntime.Trace in WinCC RT Professional entspricht in etwa dem ShowSystemAlarm in WinCC RT Advanced

Harald
 
Hab mal ne ganz neue Datei erstellt (.txt Datei) und diese dann kopiert. es erscheint die Fehlermeldung: #70 Erlaubnis Verweigert.
 
... dann hast du (oder deine Anwendung) in dem Verzeichnis oder dem Verzeichnisbaum oder auf dem Laufwerk nicht die benötigten Rechte.
Das könntest du dir im Explorer unter Eigenschaften\Sicherheit ansehen ...

Gruß
Larry
 
Zurück
Oben