WinCC flexible und Script für Archive

Marc_3

Level-1
Beiträge
30
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo, ich habe folgendes Problem mit einem MP370. Es sollen verschiedene Prozessdaten archiviert werden und darunter sind auch Strings. Laut Siemens können diese Zeichenketten nicht archiviert werden. Hat eventuell jemand einen Script oder eine Idee für mich, damit ich diese direkt im Panel archivieren kann. Wenn es keine möglichkeit gibt, muss ich die ganzen Daten in der SPS in ein Umlaufarchiv schreiben was natürlich nicht so schön wäre da es wesentlich Zeitaufwendiger wäre.

vielen Dank im voraus, gruß Marc
 
Hallo,
wenn dein MP Scripte kann (weiß ich im Moment nicht), dann kannst du selbstverständlich auch Strings archivieren. Du musst dich dazu ein bißchen mit den VB-Befehlen auskennen. Ein paar grundsätzliche Anleitungen gibt es dazu auch hier im Forum.
Ein bißchen problematisch wird es sicherlich mit der Formatierung deiner Dateien - du kannst halt im Prinzip nur Zeilenweise schreiben ...
 
Hallo,

erstmal danke für die Antworten, ich hatte hier ja im Forum ja auch schon gesucht aber ich habe mich mit diesen Hochsprachen noch nicht so sehr beschäftigt. Ich dachte vielleicht hätte jemand etwas passendes. Gibt es denn irgendwo eine Befehlübersicht in deutsch die auch die Befehle vernünftig beschreibt oder muss man erst wieder 10 Bücher kaufen ?

gruß Marc
 
Hallo,

ich habe jetzt die Siemens Skripte mal abgeändert vielleicht kann da mal jemand drüberschauen und mir sagen ob das so funktionieren könnte.

Skript Schreiben:

Dim f
Dim fwModeAppend
'Daten in die Datei schreiben
fwModeAppend = 8
'Object erzeugen
Set f = CreateObject("FileCtl.File")
'Datei öffnen/anlagen
f.Open "\Storage Card2\Daten.csv",fwModeAppend
'Var schreiben
f.LinePrint SmartTags("Stop_Taster_Eltako_verzögert")
f.linePrint "Datum;Zeit;Auftragsnummer;Artikelnummer"
f.LinePrint Date&";"&Time&";"&"Arbeits_DB.Auftragsnummer"&";"&"Arbeits_DB.ArtikelNummer"
'Datei schließen
f.Close
Set f = Nothing
'Rückgabe
SmartTags("quittung") = "Datei angelegt und beschrieben"


Skript Lesen:

Dim f
Dim fwMode
Dim varListe
'Daten aus Datei lesen
fwMode = 1
'Object erzeugen
Set f=CreateObject("FileCtl.File")
'Datei öffnen/anlagen
f.Open "\Storage Card2\Daten.csv",fwMode,1
'Var aus Datei lesen
'erste Zeile einfach nur einlesen und unverarbeitet überspringen
varListe = f.LineInputString
'ab hier 2. Zeile einlesen
'split zerlegt einen langen String in mehrere kleinere Strings immer wenn das Trennzeichen
'im langen String auftaucht.
varListe = Split(f.LineInputString,";")
'varListe ist nun ein Array von Strings, die nun den Variablen zugewiesen werden können
Archiv_Datum=varListe(0)
Archiv_Zeit=varListe(1)
Archiv_Auftragsnummer=varListe(2)
Archiv_Artikelnummer=varListe(3)
'Datei schließen
f.Close
Set f = Nothing
'Rückgabe
SmartTags("quittung") = "Datei gelesen"

Skript löschen:

Dim f
Dim a
'Object erzeugen
Set f=CreateObject("FileCtl.FileSystem")
'Datei löschen
f.Kill "\Storage Card2\Daten.csv"
Set f = Nothing
'Rückgabe
SmartTags("quittung") = "Datei gelöscht"


gruß Marc
 
also beim groben überfielgen sehe ich hier keine gravierenden fehler.
aber warum probierst du es nicht einfach aus?

ob der befehl split unter ce klappt weiss ich im mom nicht.
 
Zurück
Oben