Script, TIA Portal, PC-Runtime, Microbox PC

Algamendron

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

ich habe folgendes, ich wollte Daten abspeichern über ein Script auf einen USB Stick. Da ich leider noch ein blutiger Anfänger bin was Script angeht, wollte ich hier mal fragen ob dies jemand weiß.
Die Visualisierung (TIA V13SP1) wird über ein Microbox PC (6AG4140-3DC03-0DA0) an einem normale Touchbildschirm übertragen. Nun wollte ich per Script die Daten abspeichern. Im Internet habe ich als hilfe https://support.industry.siemens.co...mit-einem-script-in-eine-datei?dti=0&lc=de-DE gefunden. Der Script speichert nun meine Daten ab. Nur das Problem ist, ich möchte nicht am Panel jedesmal den Namen der Datei bzw. Pfad benennen. Zudem wollte ich eine Kopfzeile für die .csv Datei anbinden. Mit den paar Befehlen die ich kenne funktioniert es nicht, es wird entweder nichts mehr gespeichert oder es funktioniert nicht.

Mein Script sieht momentan wie folgt aus :
 

Anhänge

  • Skript.txt
    1,1 KB · Aufrufe: 35
  • Skript Panel Comfort 1200.txt
    2,1 KB · Aufrufe: 9
  • Skript Siemensman bearbeitet.txt
    1,7 KB · Aufrufe: 9
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Was muss ich denn da von nun nehmen? Weil das wince habe ich schon benutzt, da ich schon ein Skript für ein Comfort 1200 geschrieben habe und es hat auch alles funktioniert, ist aber nun nicht das Script. Das mit Windows habe ich auch schon ausprobiert, aber da wird auch nichts gespeichert. Damit wäre ich bei beiden durch und stehe wieder am Anfang, per Zufall habe ich das gefunden und es habe es erstmal ausprobiert und es konnte was speichert. Aber ich bin nicht in der Lage es zu ändern, so wie ich es will, da ich einfach die Befehle dafür nicht weiß.
 
... vielleicht postest du einfach mal dein bisheriges Script ... Dann läßt sich m.E. viel gezielter helfen ...

Gruß
Larry
 
Ich habe oben in meinem Beitrag mal die Skripte eingefügt die ich bisher verwendet habe. Also die Datei "Skript Panel Comfort 1200", hat damals bei einem Panel funktioniert da ich direkt am Panel war und alles auf USB speichern konnte.

Das Skript "Siemensman bearbeitet" hat mir einer von Siemens bearbeitet, zu diesem Thema aber es funktioniert nicht.

Das Skript was ich am Anfang gepostet hat, funktioniert momentan soweit ich es brauche, aber ich schaffe es nicht eine Kopfzeile hinzuzufügen oder den Speicherort zu ändern, weil mir einfach das Wissen dazu fehlt =(.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Servus,

in deinem Skript.txt befinden sich folgende Zeilen:
Code:
' Write new set of values into file -- Neue Werte in die Datei schreiben
ts.WriteLine(Test1 & ";" & Test2 & ";")

Mit dem Befehl ts.WriteLine schreibst du eine neue Zeile in die Datei.
Also z.B.:
Code:
' Write new set of values into file -- Neue Werte in die Datei schreiben
[B]ts.WriteLine("Das ist meine Kopfzeile" & ";")
ts.WriteLine("Spaltenbeschriftung 1" & ";" & "Spaltenbeschriftung 2" & ";")[/B]
ts.WriteLine(Test1 & ";" & Test2 & ";")

ts.WriteLine kann auch in Schleifen verwendet werden.

Beachte die Semikolons ; !

LG
 
Hallo Danke erstmal,

das habe ich auch schon ausprobiert, aber dann bekomme ich beim jedem erneuten speichern eine Kopfzeile. Ich will nur eine Kopfzeile habe die Dauerhaft für die Datei da ist, nicht immer wieder die selbe beim erneuten abspeichern.
 
Was muss ich denn da von nun nehmen? ....Das mit Windows habe ich auch schon ausprobiert, aber da wird auch nichts gespeichert
das was du braust steht in dem 1.beitrag der faq

daten schreiben
Dim fso,fs,datum,zeit,datei,textfile1

Set fso = CreateObject("Scripting.FileSystemObject")
Set fs = CreateObject("WScript.Shell")

datei="D:\PROJEKT\DATEN\MeineDatei.csv" 'name der datei welche geschrieben werden soll

If Not fso.FileExists (datei) Then 'prüfen ob die datei bereits existiert
Set TextFile1 = fso.CreateTextFile(datei, true) 'wenn nein wird die datei erzeugt
textfile1.WriteLine "Datum;"&"Uhrzeit;"&"Schmiermittel;"&"Verbrauch" 'schreiben der kopfzeile
textfile1.WriteLine
End If
textfile1.Close

If fso.FileExists (datei) Then 'wenn datei existiert
Set TextFile1 = fso_OpenTextFile(datei, 8) 'datei öffnen im mode 8 (also anhängen)
textfile1.WriteLine Datum&";"&Time&";"&Schmiermittel&";"&Verbrauch 'datenzeile schreiben
End If
textfile1.Close
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke,

ich habe mir mit dem Speicherort eine andere Lösung erarbeitet. Über die SPS wo ich jederzeit den Speicherort ändern kann. Ich habe immer noch das Problem mit der Kopfzeile, Funktioniert das überhaupt das man dauerhaft nur eine Kopfzeile hat, statt immer wieder erneut die selbe?...Bin mir nicht mehr Sicher wie das damals bei meinem Projekt war.
 
mach es so wie ich das im vorigen post geschrieben habe. dann klappt das. ich habe es sogar extra noch in rot dokumentierrt was im script passiert.
oder bist du so beratungsresistent?
und wenn der dateiname in der cpu hinterlegt wird ersetze einfach
datei = smarttags("deineVariable")
 
Ne das bin ich nicht. Ich müsste nur noch wenn ich den Speicherort erstellt habe, schauen wie ich jeden Tag den Namen der File ändern kann. Aber da ich das nun über die SPS mache brauche ich da nun nicht wirklich mehr weiter nach zu forschen in Richtung Speicherort und ändern des Namen des Files.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
den namen könnte man z.b. so im skript erstellen

Code:
SmartTags("zs_jahr")="Right(Date,4)
SmartTags("zs_monat")=Mid(Date,4,2)
SmartTags("zs_tag")=Left(Date,2)

datei = SmartTags("zs_jahr") & "-" & SmartTags("zs_monat") & "-" & SmartTags("zs_tag") & ".csv"
oder auch direkt
datei = Right(Date,4) & "-" & Mid(Date,4,2) & "-" & Left(Date,2) & ".csv"
der dateinmae für heute würde dann so aussehen 2015-08-20.csv

wie man verzeichnisse erstellt findest du auch in der faq.
 
Zurück
Oben