-> Hier kostenlos registrieren
WINCC flexible 2008: Array aus DB in CSV Datei schreiben über Skript
Hallo liebe Forumsgemeinde,
ich kämpfe jetzt schon ein wenig mit der Skript Funktion von WinCC fleixble.
Das Skript soll folgendes machen:
Werte aus dem DB 1 in einer For Schleife auslesen (10 Werte) und anschliessend in eine CSV datei mit folgendem aussehen schreiben.
"index der For Schleife";Wert;"gelesener Wert aus DB"
Den "Index" und den Text "Wert" schreibt das Skript schon, jedoch steht beim gelesenen Wert immer null obwohl etwas im DB eingetragen ist..ich glaub ich bin zu doof
Die externe Variable "extvar" steht auf zyklisch fortlaufend.
Mir gehen irgendwie die Ideen aus, ich hab das Projekt mal komplett angehängt, starten tut das Skript über E0.0.
Vorab Vielen Dank für eure Hilfe:sm24:
Das Skript sieht folgendermaßen aus:
'Declaration of local tags - Deklaration von lokalen Variablen
Dim fso, f, ts, path, old, i, meineVar
'Definition der Datei-Extension und des Pfades
path = "c:\textfile.csv" 'Pfad- und Dateinamen definieren
'Error Routine - Fehlerroutine
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 exist a text file will be created - Datei erstellen, wenn keine vorhanden
If Not fso.FileExists(path) Then
fso.CreateTextFile path
End If
Set f = fso.GetFile(path)
If Err.Number <> 0 Then
ShowSystemAlarm "Error #" & CStr(Err.Number) & " " & Err.Description
Err.Clear
Exit Sub
End If
Set ts = f.OpenAsTextStream(8, -2)
If Err.Number <> 0 Then
ShowSystemAlarm "Error #" & CStr(Err.Number) & " " & Err.Description
Err.Clear
Exit Sub
End If
'DB in interne Variable kopieren
intArray = SmartTags("extArray")
'Werte in die Datei schreiben
For i = 1 To 10 Step +1
meineVar=intArray(i)
ts.WriteLine((i)&(";")& ("Wert;")&(meineVar))
Next
'Datei schließen
ts.Close
Set ts = Nothing
Set f = Nothing
Set fso = Nothing
Hallo liebe Forumsgemeinde,
ich kämpfe jetzt schon ein wenig mit der Skript Funktion von WinCC fleixble.
Das Skript soll folgendes machen:
Werte aus dem DB 1 in einer For Schleife auslesen (10 Werte) und anschliessend in eine CSV datei mit folgendem aussehen schreiben.
"index der For Schleife";Wert;"gelesener Wert aus DB"
Den "Index" und den Text "Wert" schreibt das Skript schon, jedoch steht beim gelesenen Wert immer null obwohl etwas im DB eingetragen ist..ich glaub ich bin zu doof
Die externe Variable "extvar" steht auf zyklisch fortlaufend.
Mir gehen irgendwie die Ideen aus, ich hab das Projekt mal komplett angehängt, starten tut das Skript über E0.0.
Vorab Vielen Dank für eure Hilfe:sm24:
Das Skript sieht folgendermaßen aus:
'Declaration of local tags - Deklaration von lokalen Variablen
Dim fso, f, ts, path, old, i, meineVar
'Definition der Datei-Extension und des Pfades
path = "c:\textfile.csv" 'Pfad- und Dateinamen definieren
'Error Routine - Fehlerroutine
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 exist a text file will be created - Datei erstellen, wenn keine vorhanden
If Not fso.FileExists(path) Then
fso.CreateTextFile path
End If
Set f = fso.GetFile(path)
If Err.Number <> 0 Then
ShowSystemAlarm "Error #" & CStr(Err.Number) & " " & Err.Description
Err.Clear
Exit Sub
End If
Set ts = f.OpenAsTextStream(8, -2)
If Err.Number <> 0 Then
ShowSystemAlarm "Error #" & CStr(Err.Number) & " " & Err.Description
Err.Clear
Exit Sub
End If
'DB in interne Variable kopieren
intArray = SmartTags("extArray")
'Werte in die Datei schreiben
For i = 1 To 10 Step +1
meineVar=intArray(i)
ts.WriteLine((i)&(";")& ("Wert;")&(meineVar))
Next
'Datei schließen
ts.Close
Set ts = Nothing
Set f = Nothing
Set fso = Nothing
Anhänge
Zuletzt bearbeitet: