TIA TP700 VB Script Probleme

Archeron

Level-1
Beiträge
4
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Morgen

Für einen bekannten soll ich Live erfasste Daten über das TP 700 in einer Excel Tabelle auf USB stick speichern. Leider bin ich nicht wirklich in VB Script eingearbeitet und deswegen omme ich da gerade nicht weiter.

Es wäre nett und Hilfreich wenn erfahrene User mir hier helfen könnten.

Das Script sieht momentan wie folgt aus:

Sub SchreibeDaten()
Dim fso, f, ts

'Catch errors -- Fehler abfangen
On Error Resume Next

'Create object -- Objekt erstellen
Set fso = CreateObject("Scripting.FileSystemObject")
If Err.Number <> 0 Then
ShowSystemAlarm "Error #" & CStr(Err.Number) & " " & Err.Description
Err.Clear
Exit Sub
End If

' If no file exists, create a new one -– Datei erstellen, wenn keine vorhanden
If Not fso.FolderExists("Storage Card USB:\Test") Then
fso.CreateFolder("Storage Card USB:\Test")
If Not fso.FileExists("Storage Card USB:\Test\Test.csv") Then
fso.CreateTextFile "Storage Card USB:\Test\Test.csv"
End If

Set f = fso.GetFile("Storage Card USB:\Test\Test.csv")
If Err.Number <> 0 Then
ShowSystemAlarm "Error #" & CStr(Err.Number) & " " & Err.Description
Err.Clear
Exit Sub
End If

Set ts = f.OpenAsTextStream(8, -2)
' mode "8" to append to file
If Err.Number <> 0 Then
ShowSystemAlarm "Error #" & CStr(Err.Number) & " " & Err.Description
Err.Clear
Exit Sub
End If

' Write new set of values into file -- Neue Werte in die Datei schreiben
ts.WriteLine(SmartTags("Test Daten"))

'Tidy up -- Aufraeumen
ts.Close
Set f = Nothing
ShowSystemAlarm "Storage of the data was successful!"
End If
End Sub

Leider besteht keine möglichkeit das script zu beobachten deswegen weiss ich nicht wo genau es hackt. Es erstellt aber keine Datei auf dem USB Stick.

Gestartet wird das ganze per Taste. Zu sehen im Anhang.

Wenn weitere Infos benötigt werden einfach sagen.

Danke im vorraus.
 

Anhänge

  • Ereigniss Button.PNG
    Ereigniss Button.PNG
    15,1 KB · Aufrufe: 10
  • Script Name.PNG
    Script Name.PNG
    5 KB · Aufrufe: 10
Der Pfad sollte beim TP700 schon mal:
Code:
"\Storage Card USB\Test"
lauten.


Verzeichnis auf Vorhandensein prüfen und ggf. anlegen:
Code:
If fso.Dir("\Storage Card USB\Test") = "" Then fso.MkDir "\Storage Card USB\Test"


Datei zum Bearbeiten öffnen (wird dabei auch angelegt, sofern noch nicht vorhanden):
Code:
f.Open "\Storage Card USB\Test\Test.csv[COLOR=#333333][I]"[/I][/COLOR], 8


Wenn Du das "On Error Resume Next" auskommentierst, bekommst Du bei jedem Fehler auch eine entsprechende Systemmeldung (neben dem Abbruch des Scripts).

Sieht IMHO so aus, als ob Du die Befehle für den PC und nicht für WinCE erwischt hast.
Da gibt's hier auch schon viele Threads zu. Vor allem mal beim User PN/DP suchen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wie hucki schon schrieb, hast Du in Deinem Skript die falschen Datei-Funktionen verwendet, die es auf einem Panel mit Windows CE gar nicht gibt. Siehe den Link von DeltaMikeAir in Beitrag #5

Weiteres: Wie holst Du die "live erfassten" Daten in das Panel?
Das klingt immer so einfach, schnell mal ein paar Daten in eine CSV-Datei zu schreiben. Es gibt da aber eine Menge Fallstricke, die hier im Forum alle paar Monate wieder diskutiert werden. Kurz: Wenn man es bei WinCC Advanced richtig machen will, dann muß man eine Rezeptur für den Datensatz projektieren.
Hier mal auf die Schnelle für den Einstieg eine Zusammenstellung von Links zu den Problemen

Übrigens: eine csv-Datei ist keine Excel-Tabelle, sondern eine Klartext-Textdatei mit sehr einfachem Aufbau, die z.B. mit Excel geöffnet werden kann, aber auch mit einem ganz einfachen Texteditor wie Windows-Notepad.

Kann der "Bekannte" nicht die Daten mit einem PC direkt aus der SPS auslesen, z.B. mit Excel und Libnodave oder Snap7 oder irgend eine andere S7-Kommunikations-Bibliothek? Das würde die meisten Probleme der WinCC Advanced Runtime umgehen.

Harald
 
Die Live Daten werden mit Analog Werten erfasst.

Habe hierfür einlese und umrechen Bausteine Programmiert. Über eine Rezeptverwaltung wird dann ausgewählt welches Bauteil zu überwachen ist. Je nach Bauteil gibt es eine "Norm Kurve" welche dann mit der Live Datei überprüft wird. Die "Kommunikationsmöglichkeit" besteht nur zum USB Stick. Das gesamte Programm ist nur zur Auswertung und nicht Steuerung der Bauteile , deswegen muss ein Autarkes arbeiten gewährleistet werden.

Die Daten ins Panel ziehe ich mir aus verschiedenen Db´s. 1 Für aktuell , einer für Temporär- einer für Dauerhafte Änderungen. Aufruf der Rezepte erfolgt über Buchstaben und zahlen strings aus dem jeweilgen Bereich des DB´s. Die Live Daten werden dann im Panel dargestellt und per Knopfdruck sollen die Augenblickswerte dann auf den USB Stick gespeichert werden.

Das Panel ist zur Auswahl der Rezept , ändern jener , Anzeige der Live Kurve und Schreiben des USB Sticks. Bis auf das Schreiben auf den Stick läuft das System.

Das Schreiben auf den Stick ist unbedingt gewollt und dem Aufbau seines Versuches geschuldet.
 
Deine Erklärung klingt für mich am Montag Morgen ziemlich unverständlich... deshalb noch mal kurz auf den Punkt: Ist sichergestellt, daß das Panel VOR dem Aufruf des Skriptes alle aktuellen Werte für die csv-Datei ins Panel eingelesen hat?

Harald
 
Zurück
Oben