WinCC Flex: Wie Archivierung automatisch starten ?

moeins

Level-1
Beiträge
165
Reaktionspunkte
16
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich möchte mit WinCC Flex. 2005 auf einem PC Kurven (ca. 10 Variablenwerte) mehrerer Anlagen aufzeichnen und archivieren (csv). Jede Anlage hat ein eigenes Bild und ein eigenes Archiv.
Die Archivierung soll pro Anlage max. 1 Std. im Sekundentakt vollzogen werden.
Nur wie stosse ich die Archivierung automatisch an und beende sie wieder ?
Das Startsignal (Bit) kommt aus der SPS. Aber wie löse ich die Archivierung aus, da niemand einen Button betätigt, bzw. der Bediener auch gerade in einem anderen Bild einer anderen Anlage sein kann. ?!?

:confused:
 
Design complex scripts by employing the basic features
'of the programming language VBScript and access tags directly by name e.g. tag = 5.
 
Wo kann ich denn festlegen das ein bestimmtes Script bei Runtimestart geladen wird ?
Dieses Script wird doch nur einmal durchlaufen, und dann ?

Während des Betriebes kommen in unregelmäßigen Abständen die Start/Stop-Signale der Anlagen, aber das Startscript ist doch dann nicht mehr aktiv ?!
 
Danke, hatte ich mir vorher schon durchgelesen aber nicht weitergebracht.:(

Habe mir gerade eine andere Lösung ausgedacht.
Ich nehme für jede Anlage ein Zeigerinstrument, platziere es ganz klein in der Bildvorlage und weise dem Instrument eine INT-Variable zu. Bei Wertänderung starte ich dann (Ereignisse->Ändern) die Archivierung.
Diese Variable wird von der SPS zum starten einfach auf einen anderen Wert gesetzt.
Genauso verfahre ich mit dem "Archivierung stoppen".
Müßte doch funktionieren, oder?

Ist zwar keine elegante Lösung, aber WinCC-Flexible gibt wohl nicht mehr her. Und das wo die Lizenz "Archive" sogar extra dazugekauft werden muß :mad:
 
hi,
bin zwar kein programmier profi, aber dein problem sollte sich mit 2 bits lösen lassen!
bit "starten" = 1 --> ereignis : bei wertänderung starte archivierung
bit "stoppen"= 1 --> ereingis : bei wertändeurng stoppe archiverung


dann einfach einen takt selber basteln, der imm ein bit setzt und das andere rücksetzt und gut ist....
 
Zuviel Werbung?
-> Hier kostenlos registrieren
hi,
bin zwar kein programmier profi, aber dein problem sollte sich mit 2 bits lösen lassen!
bit "starten" = 1 --> ereignis : bei wertänderung starte archivierung
bit "stoppen"= 1 --> ereingis : bei wertändeurng stoppe archiverung
Und wo/wie löse ich das Ereignis in WinCC aus ? Die HMI-Oberfläche ist ja kein Programm was ständig durchläuft und Ereignisse kann man i.d.R. nur durch Benutzereingriff (Button) auslösen. Dazu muß man auch in dem passenden Bild sein.
 
wenn die erfassungsart der variable auf zyklisch fortlaufend steht, wird die var von flex immer aktualisiert. (u.u kann das einige sekunden verspätet passieren. kommt immer auf das panel und die anzahl der zu lesenden vars an)
benutze aber nicht das ereignis bei wertänderung sondern grenzwert überschritten. als ereignis logischerweise archivierung starten bzw stoppen.
 
Vielen Dank ! Hat funktioniert. Habe eine INT-Variable die unterschiedliche Zustände (Starte,Stoppe,Kopiere Archiv) beinhaltet.

Nun kommt das nächste Problem. Wie lese ich ein bestimmtes Archiv wieder aus?
Ich speichere in unterschiedlichen Ordnern (gut/schlecht) mit verschiedenen Prozeßnummern.
Es gibt ja keinen Dateimanager in WinCC-Flex. mit dem ich eine Archivdatei auswählen und einlesen kann.

Der Archivname+Pfad wir in der Kurvenanzeige ja auch festgelegt und läßt sich nicht durch eine Variable austauschen. Nun habe ich versucht eine bereits abgespeicherte alte Archiv-csv-Datei auf den aktuellen Pfad zu kopieren, da dieser aber von WinCC benutzt wird, ist es nicht möglich diesen zu überschreiben. !?!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
hi, um ein archiv um zu kopieren musst du glaube ich musst du erst das betroffene archiv schließen/stoppen, kannst es dann kopieren und anschließend wieder öffnen/ starten.
glaube dazu steht irgendwo was in der hilfe...wenn ich morgen daran denke schau ich mal nach. aber vielleicht hilft dir das ja schon weiter...
 
Leider nützt stoppen allein nichts. Es gibt den Befehl "Alle Archive schliessen" (CloseAllLogs). Dann läßt sich die Datei auch überschreiben. Hat nur den Nachteil das alle anderen Archive auch kurzzeitig gestoppt/geschlossen werden müssen. Anschliessen wieder "OpenAllLogs".
:(
Mittlerweile frage ich mich wofür man so viel Kohle für die "Archive"-Funktion ausgeben muß? Eigentlich kann die Funktion auch nichts was man nicht auch über VBS selber programmieren könnte wenn man sich sein Datei-Format selbst zusammenstrickt. Nur dann ist man auch flexibler.
 
Zuletzt bearbeitet:
Zurück
Oben