WinCC VBS Problem

Mikolaj

Level-1
Beiträge
18
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

bin kein VBS Experte aber mit Hilfe aus diesem Forum habe ich
ein Script mit dem mir Stromwerte aus einer Variable in eine
CSV Datei schreiben kann.
Alle läuft einwandfrei unter WinCC 7.3.

Code:
Option ExplicitFunction action


Dim FName, fso, DataSet, fout


on error resume next


FName = "D:\Datei.csv"


Set fso = CreateObject("Scripting.FileSystemObject")


If Not fso.FileExists(FName) Then


fso.CreateTextFile FName


End If


DataSet = Date & ";" & Time & ";" & SmartTags("MeineVariable")


Set fout = fso.OpenTextFile(FName,8, True)


fout.WriteLine(DataSet)


fout.Close


End Function

Das Problem ist, ich weiss nicht warum dieser Script unter
WinCC 6.0 nicht funktioniert und mir keine Werte in die Datei schreibt.
Die Datei selbst wird ertsellt.

Ich habe dann den Explorer neu gestartet und hat sich auch nichts geändert.

In dem apdiag war keine Meldung also habe ich als nächstes 'on error resume next' auskomentiert
und eine Meldung bekommen dass die Variable nicht definiert ist.

Meine Variable ist doch da und weiss nicht was ich weiter machen soll.


Script_a.jpg



Grüsse
Mikolaj
 
Code:
[COLOR=#0000ff]'Windows[/COLOR]
[COLOR=#ff0000]'WinCE[/COLOR]

[COLOR=#0000ff]Set fso = CreateObject("Scripting.FileSystemObject")
[/COLOR][COLOR=#ff0000]Set fs = CreateObject("filectl.filesystem")[/COLOR]
[COLOR=#0000ff]
If Not fso.FileExists(FName) The[/COLOR]n
[COLOR=#ff0000]If fs.dir(""&datei) = "" Then[/COLOR]

[COLOR=#0000ff]fso.CreateTextFile FName
Set fout = fso.OpenTextFile(FName,8, True)[/COLOR]
[COLOR=#ff0000]Set f= CreateObject("filectl.file")
f.open datei, 2[/COLOR]

[COLOR=#0000ff]fout.WriteLine(DataSet)[/COLOR]
[COLOR=#ff0000]f.LinePrint "Logbuch der Pumpe"[/COLOR]
Du verwendest Befehle die auf das Dateisystem des Gerätes zugreifen. Das sind keine Siemens/WinCC-Funktionen.
Mit WindowsCE hast du ein anderes Betriebssystem mit einem anderen Dateisystem, daher andere Befehle.
 
@Ronin
Er hat aber kein CE, sondern WinCC6.0.

@TE
Möglicherweise ging das bei V6.0 so noch nicht, dazu müßtest du dir mal die Hilfe aufrufen oder, falls das hier keiner beantworten kann, bei Siemens direkt nachfragen
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ahhhrrrgggghhh... verdammt! Sorry. Sinnerfassendes Lesen hat nicht funktioniert, bzw. habe gelesen was ich lesen wollte...
@Mikolaj: Meine vorigen Antworten bitte vergessen.

Im Screenshot sieht man ja dass der Zugriff auf die SmartTags nicht geht.
Das Problem sind die SmartTags die es unter WinCC 6 noch nicht gab.

Der Zugriff erfolgt über:
InterneScriptVariable = HMIRunitme.Tags("MeinName").Read
HMIRunitme.Tags("MeinName").Write = InterneScriptVariable

Ich sehe im Code eh nur eine Zeile mit SmartTags, normalerweise müsst das so hinhauen...
Code:
DataSet = Date & ";" & Time & ";" & CStr(HMIRuntime.Tags("EV26_I_Val").Read)
 
Zuletzt bearbeitet:
vielen Dank an Ronin, ich glaube in meinem Script die 8 steht, dass er die Werte in die nächste freie Zeile schreibt.
Ist es möglich dass er die die Werte überschreibt ?
 
Zurück
Oben