Langzeit Archivierung in WinCC Flexible

WinniePooh

Level-1
Beiträge
102
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo liebe SPS- Gemeinde,

ich stehe nun vor einem Dilemma. Ich habe festgestellt, dass WinCC Flexible nur begrenzt Variablen auswerten kann.
Siemens hat diesbezüglich ein Beispielprojekt geschrieben, wie man die Archive auslagert in CSV Dateien und diese dann
wieder darstellen kann, siehe LINK.
Ich bin relativ unerfahren im Scripting bei WinCC Flexible, deswegen versuche ich Hilfe von euch bekommen zu können.
Die Siemens Archivierung möchte ich so erweitern, dass ich das Scripting auch für mehr als nur einen Archiv einsetzen kann.
Also das Scripting parametrierbar machen. So brauche ich nicht für jedes Archiv einen großen Programmieraufwand.

Nur zu Info: Ich arbeite in der Schule mit WinCC Flexible 2008 SP3 auf ein Win7 Laptop. Die Archivierung von Siemens funktioniert auf meinen Rechner nur meine Erweiterung kommt irgendwie nicht in Gange.

Kann mir da jemand helfen?

Danke und gruß
 
Wo liegt dein Problem nun genau?
Falls du in deinem Projekt ein MP projektiert hast, dann funktionieren die Scripte nicht in der Simulation auf dem PC.
Die Datei-Befehle für PC und Panel sind nicht gleich.

Gruß
Dieter
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wie kann ich mehrere Archive wie in diesem Beispiel anlegen? Muss ich für jeden Skript einzeln den kompletten Vorgang machen wie beschrieben.
Also um konkret zu sein, Siemens benutzt 4 Skripte für ein Archiv. Muss ich jetzt für jedes Archive immer wieder die Skripte kopieren und die ganzen Aufgaben und so weiter.
Mir ist klar, dass ich die Archive anlegen muss.
Eine Bedienerfreundliche Variante ist es ein Archiv auswählen über die DropDown Felder- Zeitpunkt und dann das Archive aus dem DropDown Feld.
So könnte man auch später für eine Erweiterung der Archiven es einfach Parametrieren.
 
P.S.: Die Software soll auf eine PC Runtime laufen und nicht auf einem PanelPC. Danke für die Info mit den Datei-Befehlen wurde in Betracht gezogen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ja an der Sache bin ich gerade dran.
Das Problem, wenn ich in einem Skript Allgemein schreiben soll, muss ich auch die Parameterierung der Archivzugriffe parametrieren.
Code:
 'Alle Archive wieder öffnen
 'Open all logs
 OpenAllLogs 
 
  
 'Starten des Archivs "Archive_01"
 'Start logging archive "Archive_01"
 Archive_Number = ArchiveNumber
 StartLogging hmiDataLog, "Archive_01"
 
End If

WinCCFlex behsteht hier auf eine genaue Beschreibung des Archives, auch wenn man in den übergeordneten script ein richtiges Archive anlegt.
Also gibt es hier keine Richitge Parametertypen, so wie es mir auffällt.
 
Was genau vermisst Du bei den Siemens-Archiven? Weshalb willst Du eine eigene Archivierung skripten? :confused:
Ich befürchte gravierende Performance-Probleme in der Runtime, wenn die Runtime fast nur noch mit Skript-Ausführung beschäftigt ist. Du weißt, daß WinCC flexible jeweils nur 1 Skript ausführen kann und die Skript-Warteschlange begrenzt ist?
Wenn es nur um die Langzeitarchivierung geht: man kann auch die "begrenzten" Standard-Archive schließen, "wegkopieren" und dann weiter archivieren.

Harald
 
Es gibt auch "richtige" Software, die Daten in einer Datenbank ablegt. Das geht dann über einen PC und am Besten mit einer TCP-Verbindung zur SPS.

PS: Ich lese gerade Schule, da ist das scher eher ein Problem.
Aber mit libnodave oder mit Jochen Kühners Library geht das auch.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also bei Siemens funktioniert jetzt diese Datei so, dass diese Archive nimmt nimmt und jede Stunde in eine csv Datei extrahiert. Ich habe diesen Vorgang zufällig bei Siemens gefunden.
Die CSV Datei ich dann mir aus dem PC auslese.
Mit Libnodave greife ich direkt in die SPS zu und nicht von der Visualisierung? Ist das Perfomanter? Ich kenne mich mit Libnodave gar nicht aus.
Ich werde mal nachlesesn. Aber zu meinen Problem die Sache mit WinCC Flex lösen zu können, funktioniert das überhaupt auf mehrere Archive erweitert??
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ja natürlich... ich sag ja, das Projekt habe ich von Siemens mir genommen und habe es verstanden, wie es funktioniert. Aber nur mit einem Archiv.
Nun wenn ich mehrere Archive habe... muss ich dann immer wieder die Scripte kopieren und neu schreiben oder kann ich nicht einfach diese Scripte so schreiben, dass diese Parametrierbar sind und so mit unterschiedlichen Archiven ansprechen??
Ich habe es versucht, aber bei WinCC Flex kann ich keine Archive als Übergabeparameter anlegen oder ähnlich komplexe Variablen...
Ist das Richtig??
 
In den Skripten wird das Archiv doch über Namen mit Datentyp String angesprochen.
Aber ich weiß momentan nicht was du da für große Skripte hast die du kopieren musst, zeig doch mal ein Beispiel.

Ich habe das mal so wie im Siemens Beispiel mit 18 Archiven folgendermaßen gemacht:
Um 0:00 Uhr wird automatisch ein Skript aufgerufen welches CloseAllLogs aufruft. Daraufhin werden von der Runtime alle Archive geschlossen.
Wenn das der Fall ist, wird Ereignis 80019 aufgerufen. An das Ereignis habe ich ein eigenes Skript "ArchivCopy" gehängt.

In dem Skript habe ich 18 Zeilen wie:
ArchiveLogFile hmiDataLog, "Archiv_APW1_", Name_StoragePath, hmiMove

Das ist die einzige Stelle an der der Archivname abgefragt wird. Ich habe einfach 18 Zeilen Copy&Paste gemacht, denn mit einem Array und Schleifenbearbeitung wirds auch nicht kürzer.

Wurde ein Archiv erfolgreich verschoben, wird Ereignis 80048 aufgerufen. In dem Ereignis zähle ich die bisher kopierte Anzahl hoch.
Sind alle 18 verschoben worden, wird mit OpenAllLogs die Archivierung wieder gestartet (oder wenn irgendwo ein Fehler auftrat).
 
Zurück
Oben