WinCC Flex Wincc flexible 2008 CSV Datei schreiben per Script

olmuk

Level-2
Beiträge
61
Reaktionspunkte
5
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Forum,

bitte um Hilfe bei der Erstellung eines Scriptes.
Es sollen Inhalte aus einem DB in eine .csv geschrieben werden.
Die Zusammensetzung der DB-Bezeichnung funktioniert, der Inhalt stimmt nicht.

Code:
Dim fso, f, file, myfile, path, i, Index, Q

myfile = "Parameter2"
path = "C:\Checkdata\"
file = path & myfile & ".csv"

'Objekt erstellen
Set fso = CreateObject("Scripting.FileSystemObject")

'Abfrage Ordner vorhanden, wenn nicht dann erzeugen
If Not fso.FolderExists("c:\Checkdata") Then 
    fso.CreateFolder("c:\Checkdata")
End If

If Not fso.FileExists (file) Then 
    Set f = fso.CreateTextFile(file, True)

'Werte in die Datei schreiben
    f.WriteLine(" Dateiname :  ; " & file & ";")
    f.WriteLine(" Datum     :  ; " & Date & ";")   
    f.WriteLine(" Kommentar 1 :  ; " &SmartTags("DB: TEXTLISTEN.Kommentar1") & ";")
    f.WriteLine(" Kommentar 2 :  ; " &SmartTags("DB: TEXTLISTEN.Kommentar2") & ";")
    f.WriteLine(" ; " & ";")
     
'Index bilden
For i = 1 To 30 Step +1    
    
Index = ("Value_Q" & i)
    f.WriteLine (Index)    
Q = "DB: PARA PRV KENNFELD.WERT_20L_DRUCK.Value_Q" & i
    f.WriteLine (Q & ";")'Test
    f.WriteLine (" Daten :  ; " &SmartTags(Q) & ";")
Next
  
  
            
End If

S371C6CeIAAAAASUVORK5CYIIA
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ist die Variable, bei der der Wert nicht stimmt auf Erfassungsart "Zyklisch fortlaufend" eingestellt ( In WinCC => Kommunikation => Variablen und dann halt die verwendeten Variablen ).
Wenn sie auf "Auf Anforderung" oder "Zyklisch bei Bedarf" stehen, kann dass schon dein Problem sein. Dies ist immer mal wieder Thema hier.

Mit Grüßen
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hmm, ich sage mal: ..zig Variablen dauerhaft "zyklisch fortlaufend" zu lesen, nur weil sie einmal am Tag gesichert werden sollen, ist echt keine gute Idee...

Variablen, die nicht verwendet werden bzw. von deren Verwendung das WinCC flex ES nichts weiß, werden in der Runtime nicht aktualisiert bzw. erst nach der Verwendung. Bei Variablen, deren Name erst zur Laufzeit in einem Skript zusammengesetzt werden, weiß das ES nicht, daß die Variablen verwendet werden. Das Skript wartet nicht auf die Aktualisierung der Werte der überraschend verwendeten Variablen. --> Die Werte der Variablen müssen vor der Verwendung aktualisiert werden. Das geht "mit Garantie" nur als Rezeptur (z.B. mit GetDataRecordTagsFromPLC). Theoretisch geht es auch, indem man die Werte mit Zeitabstand zweimal liest - aber ohne Garantie, daß die WinCC RT wirklich alle Werte aktualisiert hat.

Zu diesem Problem benutze mal die Forumssuche mit den Stichworten "WinCC flexible Aktualisierung", da findest Du z.B.
WinCC flexible Skript Daten archivieren: Aktualisierungszeit der Variablen
Daten aus DB in csv-Datei schreiben (Thread)
Daten aus DB in csv-Datei schreiben (ausführlicher)
VB Script, Variablen unter Script ablauf aktualisieren
WinCC flexible 2008 PC-Runtime Varialblen sind im VB-Script nicht aktuell

Harald
 
Zurück
Oben