MP377 Touch Panel Kurve archivieren

Kamarad_1

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

ich habe ein paar Fragen, was dieses Thema betrifft.

Das ist der Erste mal, dass ich mich mit der WinCC flexibel beschäftigen muss. kurzgesagt, das ist eine Neue Insel für mich.

Es geht um die Variablen (Temp.soll und Temp ist) archivierung.Der Prozess dauert ungefähr 40 Stunden.

die Archivierung soll so sortiert laufen : Datum (Erstespalte), Zeit (Zweitespalte), Sollwert (Drittespalte), Istwert (Viertespalte).

kann man so was auf SD_Card (Memory Cad) realisieren ?

kann man auch die Variablen als Kurve im SD_Card archivieren ?

ich arbeite unter WinCC flexibel 2008 SP3 und mit MP377 12" Touch

Danke.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich habe den FAQ gesehen ,für mich ist es alles Neu, ich brauche eine ganz genau beschreibung.

wenn ich jetzt meine Daten auf Memory card speichern, muss ich den Code für Daten schreiben, ist es richtig oder lege ich falsch?

Welche funktion haben den Code Daten schreiben und Daten lesen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

Da ich momentan kein Panel zur verfügung habe, habe den Skript code auf mein PG getestet.aber bis jetzt ohne Erfolg.was bedeutet diese Meldung :

Fehler `der Pfad wurde nicht gefunden, in Skript <> in Zeile 21.

Code:
'HINWEIS:
' Beim Erstellen von Skripten können Sie mit <Strg+Leertaste> vordefinierte 
' Systemfunktionen in das neue Skript einbinden.
' Das HMIRuntime-Objekt ermöglicht einfachen Zugriff auf die Objekte des
' WinCC flexible Objektmodells, ihre Methoden und ihre Eigenschaften.
' Für ein komfortables Auswählen einer Objektreferenz betätigen Sie bitte <Alt+Rechts>.
' Komplexe Skripte können Sie mit Sprachelementen der Programmiersprache
' VBScript erstellen.
' Der Zugriff auf WinCC flexible Variablen erfolgt direkt über den Variablennamen,
' z.B. Tag = 5

Const ForReading = 1, ForWriting = 2, ForAppending = 8
Const CreateFalse = False, CreateTrue = True
Const Tristatefalse = 0, Tristatetrue = -1, TristateUseDefault = -2
Dim fs,TextFile,FileName

FileName = "\Storge Card\"
 
Set fs = CreateObject("Scripting.FileSystemobject")
If Not fs.FileExists(FileName) Then
	fs.CreateTextFile FileName
	
'Kopfzeile schreiben

Set TextFile= fs.OpenTextFile(FileName,ForWriting,CreateTrue,Tristatefalse)
TextFile.WriteLine "Datum" &";"& "Zeit" & ";" & "Temperatur[°C]"
TextFile.Close
End If
 
 'Daten schreiben
 
 If SmartTags ("Paramters_FB100.Start_Process")=True Then
	 
	 
	 Set TextFile = fs.OpenTextFile(FileName,ForAppending,CreateTrue,Tristatefalse)
	TextFile.WriteLine Date &";" &Time &";" & SmartTags("Paramters_FB100.Actual_Value")
 
	TextFile.Close
End If
 
Ich vermute mal es geht um diese Zeile "fs.CreateTextFile FileName".
--> "\Storge Card\" ist kein Filename sondern ein Ordnername
--> versuche mal "\Storge Card\test.txt"

Harald
 
ich habe einaml den Filename "\Storage Card\test.txt sowie "\Storage Card\test.csv in Skript geschrieben.

aber es hat kein Erfolg gebracht.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Du musst zuerst den Datei erzeugen.

Code:
If Not fso.FileExists(SmartTags("strMIXLOG_WriteFileName")) Then
  fso.CreateTextFile SmartTags("strMIXLOG_WriteFileName")
  Set f = fso.GetFile(SmartTags("strMIXLOG_WriteFileName"))
  Set ts = f.OpenAsTextStream(8, -2)
  ts.WriteLine " (dein Kopfzeile) "
  ts.WriteLine strDataSet            'Log-Daten schreiben in 1. Datenzeile
  ts.Close
 Else
  Set f = fso.GetFile(SmartTags("strMIXLOG_WriteFileName"))
  Set ts = f.OpenAsTextStream(8, -2)
  ts.WriteLine strDataSet            'Log-Daten schreiben in folgene Datenzeile
  ts.Close
End If

N.B. Dies ist für ein PC RT mit Windows XP oder Windows 7.
Für ein Panel musst du Windows CE code schreiben. Es ist in Harald's FAQ auch beschrieben.
 
Hallo,

ich habe den Code von Volker angepasst und auf eine PC_Runtime getestet, damit ich erstmal, wie es die ganze Sache funktioniert zu verstehen. Beim Runtime Start

kommt der Fehler : Das Objekt unterstützt diese Eigenschaft oder Methode nicht: fso.Create.TextFile in Skript <Skript_01> in Zeile 22.

Info : Windows 7 64Bit, WinCC flex2008 SP3

Code:
Hallo,

ich habe den Code von Volker angepasst und auf eine PC_Runtime getestet, damit ich erstmal, wie es die ganze Sache funktioniert zu verstehen. Beim Runtime Start

kommt der Fehler : Das Objekt unterstützt diese Eigenschaft oder Methode nicht: fso.Create.TextFile in Skript <Skript_01> in Zeile 22.

Info : Windows 7 64Bit, WinCC flex2008 SP3

[CODE]Dim fso,fs,datum,zeit,datei,textfile1
 
Set fso = CreateObject("Scripting.FileSystemObject")
Set fs = CreateObject("WScript.Shell")
 
datei="D:\PROJEKT\DATEN\Schmiermittel.csv"
 
If Not fso.FileExists (datei) Then 
    Set TextFile1 = fso.CreateTextFile(datei, true)***(Zeile 22)
    textfile1.WriteLine "Datum;"&"Uhrzeit;"&"Schmiermittel;"&"Verbrauch"
    textfile1.WriteLine 
End If
textfile1.Close
 
If fso.FileExists (datei) Then 
    Set TextFile1 = fso.OpenTextFile(datei, 8)
    textfile1.WriteLine Datum&";"&Time&";"&Schmiermittel&";"&Verbrauch
End If
textfile1.Close
 
Ich habe
Code:
fso.CreateTextFile SmartTags(datei)
Set f = fso.GetFile(datei)
Set ts = f.OpenAsTextStream(8, -2)

Du hast
Code:
Set TextFile1 = fso.CreateTextFile(datei, true)

Probier meine Verfahren.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo.

es war ein Schreibfehler bei mir WinCC flex Script.

jetzt habe ich der Folgende Fehler :Objekt erforderlich textfile1 in <Script01> in Zeile 28.

ich werde noch dein code testen.
 
Hallo,

ich habe Dein Code auch getestet, es haut leider nicht hin.was habe falsch gemacht ?
Code:
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Const CreateFalse = False, CreateTrue = True
Const Tristatefalse = 0, Tristatetrue = -1, TristateUseDefault = -2

Dim ts,f,fso,fs,datum,zeit,Filename,strDataSet

Set fso=CreateObject("Scripting.FileSystemobject")
Set fs=CreateObject("wScript.Shell")
Filename = "C:\CSV\Global.csv"

If Not fso.FileExists(SmartTags(Filename)) Then
  fso.CreateTextFile SmartTags(Filename)
  Set f = fso.GetFile(SmartTags(Filename))
  Set ts = f.OpenAsTextStream(8, -2)
  ts.WriteLine "Datum;"&"Uhrzeit;"&"Actual_Value[°C]"
  ts.WriteLine Date &";" &Time &";" & SmartTags("Paramters_FB100.Actual_Value")      'Log-Daten schreiben in 1. Datenzeile
  ts.Close
 Else
  Set f = fso.GetFile(SmartTags(Filename))
  Set ts = f.OpenAsTextStream(8, -2)
  ts.WriteLine Date &";" &Time &";" & SmartTags("Paramters_FB100.Actual_Value")      'Log-Daten schreiben in folgene Datenzeile
  ts.Close
End If
 
1. Filename ist bei dir ein VBS Variabel, bei mir eine interne WinCC Flex Tag - dafür "SmartTag("").

2. Du musst unbedingt ON ERROR RESUME NEXT verwenden.

Probier mal:

Code:
Dim ts,f,fso,fs,datum,zeit,Filename,strDataSet

On Error Resume Next

Filename = "C:\CSV\Global.csv"

Set fso=CreateObject("Scripting.FileSystemobject")
Set fs=CreateObject("wScript.Shell")


If Not fso.FileExists(Filename) Then
  fso.CreateTextFile Filename
  Set f = fso.GetFile(Filename)
  Set ts = f.OpenAsTextStream(8, -2)
  ts.WriteLine "Datum;"&"Uhrzeit;"&"Actual_Value[°C]"
  ts.WriteLine CStr(Date) & ";" & CStr(Time) & ";" & SmartTags("Paramters_FB100.Actual_Value")      'Log-Daten schreiben in 1. Datenzeile
  ts.Close
 Else
  Set f = fso.GetFile(Filename)
  Set ts = f.OpenAsTextStream(8, -2)
  ts.WriteLine CStr(Date) & ";" & CStr(Time) & ";" & SmartTags("Paramters_FB100.Actual_Value")      'Log-Daten schreiben in folgene Datenzeile
  ts.Close
End If

If Err.Number <> 0 Then
	ShowSystemAlarm "Error in Skript" & Err.Number & " " & Err.Description
    Err.Clear 
    Exit Sub
End If
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Morgen,

Code:
Dim ts,f,fso,fs,Filename

On Error Resume Next

Filename = "C:\CSV\Global.csv"

Set fso=CreateObject("Scripting.FileSystemobject")
Set fs=CreateObject("wScript.Shell")


If Not fso.FileExists(Filename) Then
  fso.CreateTextFile Filename
  Set f = fso.GetFile(Filename)
  Set ts = f.OpenAsTextStream(8, -2)
  ts.WriteLine "Datum;"&"Uhrzeit;"&"Actual_Value[°C]"
  
  If SmartTags ("SCript_Start"  ) = True Then	
  ts.WriteLine CStr(Date) & ";" & CStr(Time) & ";" & SmartTags("Paramters_FB100.Actual_Value")      'Log-Daten schreiben in 1. Datenzeile
  ts.Close
  End If
 Else
  Set f = fso.GetFile(Filename)
  Set ts = f.OpenAsTextStream(8, -2)
  If SmartTags ("SCript_Start"  ) = True Then	
  ts.WriteLine CStr(Date) & ";" & CStr(Time) & ";" & SmartTags("Paramters_FB100.Actual_Value")      'Log-Daten schreiben in folgene Datenzeile
  ts.Close
  End If
End If

If Err.Number <> 0 Then
	ShowSystemAlarm "Error in Skript" & Err.Number & " " & Err.Description
    Err.Clear 
    Exit Sub
End If


Vielen Dank , es hat geklappt.

ich habe den SKript bis jetzt nur auf Runtime PC getestet und es hat funktioniert.

Diese Skript kann auch auf MP377 12" Touch funktionieren ?

falls es nicht ist, was soll ich im Code ändern?

Danke
 
Leider sind VBS code für 'normalen' Windows und Windows CE unterschiedlich, besonders für zugriff auf Dateien und Ordnern.

Guck mal in Haralds FAQ Seite. Es gibt auch ein FAQ auf Siemens Support, und etwas information in WinCC Flexible online Hilfe.
 
Zurück
Oben