-> Hier kostenlos registrieren
Hardware:
Speed 7 313 SC
TP277
Crossover Kabel
PC
Problem
Mit Hilfe des Skripts unten, sollen Werte, die in einem DB (mit UDTs erstellt) stehen in eine Txt oder csv Datei geschrieben werden. Die Datenmenge ist groß. Es müssten ca. 720 (20 Schritte x36 Variablen) Variablen zu über 1KB übertragen werden. Die Verbindung zum PC steht und funktioniert.
Das Übertragen und Schreiben von 5 Schritten(180 Variablen) im Skript funktioniert problemlos. Wenn ich aber die restlichen Schritte anhänge an das Skript, so dauert es unendlich und scheinbar hängt sich das Panel auf.
Der Erfassungszyklus jeder Variable ist 100ms!
Ich habe viel gegoogled, bisher , aber ich finde mir wirklich keinen Rat womit das zu tun haben kann.
Wenn ich smarttags verwende das gleiche Schauspiel. Wie gesagt bis zum 5. Schritt wird alles übertragen, sobald ich dann den restlichen Code anhänge, hängt es sich auf.
Was mache ich falsch? Es müsste aber doch möglich sein die 720 Variablen in eine csv Datei zu schreiben, oder?
Skript:
Path ist der PC Name – Verbindung ist aktiv
'----------Objekt erstellen für Dateizugriff------------------------------------------------
Set f = CreateObject("FileCtl.File")
If Err.Number <> 0 Then
ShowSystemAlarm "Error #" & CStr(Err.Number) & " " & Err.Description
Err.Clear
Exit Sub
End If
'----------Datei erstellen. Öffnen der .txt oder .csv Datei--------------------------------
f.open path , 2
If Err.Number <> 0 Then
ShowSystemAlarm "Error #" & CStr(Err.Number) & " " & Err.Description
Err.Clear
Exit Sub
End If
'----------Daten schreiben in .txt oder .csv Datei----------------------------------------
f.LinePrint("Stationsnummer:;"& ";")
f.LinePrint(";")
f.LinePrint("///Variablename///; "& "///Wert///;" & ";")
f.LinePrint("///Schritt 1 ///")
f.LinePrint("Var_1 :; " & Schritt_1_ Var_1 )'Typ: BOOL
f.LinePrint("Var_2 :; " & Schritt_1_ Var_2)'Typ: BOOL
f.LinePrint("Var_3 :; " & Schritt_1_ Var_3)'Typ: BOOL
f.LinePrint("Var_4 :; " & Schritt_1_ Var_4)'Typ: BOOL
f.LinePrint("Var_5:; " & Schritt_1_ Var_5)'Typ: INT
……
f.LinePrint("Var_36 :; " & Schritt_1_Var_36)'Typ: DINT
….
….
….
f.LinePrint("///Schritt 20 ///")
f.LinePrint("Var_1 :; " & Schritt_20_ Var_1 )'Typ: BOOL
f.LinePrint("Var_2 :; " & Schritt_20_ Var_2)'Typ: BOOL
f.LinePrint("Var_3 :; " & Schritt_20_ Var_3)'Typ: BOOL
f.LinePrint("Var_4 :; " & Schritt_20_ Var_4)'Typ: BOOL
f.LinePrint("Var_5:; " & Schritt_20_ Var_5)'Typ: INT
……
f.LinePrint("Var_36 :; " & Schritt_20_Var_36)'Typ: DINT