Datenverlust bei Stromausfall DLOG_STORE_FILE_CSV

Begonnen von Keltu, 21. August 2013, 09:24:47

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 2 Gäste betrachten dieses Thema.

Keltu

Hallo alle zusammen.

Wie im Betreff erwähnt habe ich ein Problem mit dem Datenloggermodul.
Dieses Funktioniert wirklich gut. An dieser Stelle nochmal ein großes Lob an den Entwickler!

Die Situation:
Wir erstellen mit dem DLOG_STORE_FILE_CSV Baustein alle 60s einen Datensatz (ca. 70 Werte) und jeden Monat durch automatisches Umbenennen eine neue Datei. Das Funktioniert auch sehr gut.
Das Problem ist nur, wenn die Steuerung abgeschaltet wird, ist die aktuelle Datei plötzlich leer. Obwohl nach einem Stromabfall ein anderer Dateiname übergeben wird um eine Überschreiben zu verhindern.
Die Datei ist noch Vorhanden und die Kopfzeile mit allen Spaltenüberschriften ist auch noch vollständig aber alle Datenzeilen sind leer obwohl diese vorhanden waren (konnten ohne Probleme zwischendurch Heruntergeladen werden). Das bedeutet im schlimmsten Fall 31Tage Datenverlust. Da diese Daten zur optimierung benötigt werden, wäre es wirklich wichtig, den Verlust auf maximal einen Tagessatz zu reduzieren ohne dabei 31 Datein pro Monat zu erstellen.

Abgelegt wird die Datei auf einer SD-Karte mit einem Wago 750-880 Kontroller und es wird die Oscat Network Lib in der Version 1.21 verwendet falls das wichtig ist.

Der Support von Wago vermutet, dass die Datei zwischen den Schreibzugriffen nicht geschlossen wird.
Kann das Stimmen und die Ursache für ein solches Problem sein? und wenn ja kann man das Schließen der Datei zwischen den Schreibvorgängen erzwingen?

Schon mal vielen Dank.
Mit freundlichen Grüßen
Keltu

peewit

#1
hallo

freut mich wenn dir meine arbeit gefällt !

zu deinem problem gibt es abhilfe  (juhuhuhu)

1. verwende diese letztgültige noch inoffizielle version 1.30
http://www.oscat.de/community/index.php/topic,1872.msg9862.html#msg9862

2. beim DLOG_STORE_FILE_CSV gibt es nun einen parameter "RETAIN_DATA"
diese Datenstruktur musst du als remanente variable anlegen
dann kann sich der baustein über einen spannungsausfall hinweg wichtiges merken

3. damit nicht zuviele daten im internen buffer zu lange liegen, bzw. zuviel an daten verloren gehen könnten, solltest du den parameter
"AUTO_CLOSE" deinen bedüfnissen nach anpassen.
AUTO_CLOSE = T#5s bedeutet das die vorhandenen daten im buffer nach spätestens 5 sekunden in die datei geschrieben und die datei geschlossen wird. wenn danach wieder daten vorhanden sind wird nach 5 sekunden die datei wieder geöffnet und die neuen daten hinzugefügt und die datei wieder
geschlossen..... usw...

dass sollte deine probleme beheben, bzw. auf ein geringes mass reduzieren.




Keltu

Vielen Dank für die schnelle Antwort.

Super auf den ersten Blick scheint es genau! das zu sein, was ich gesucht habe.

Übrigens scheint TRIG_T jetzt eine "TIME" variable zu sein, dass steht noch nicht in der Dokumentation.
Dort ist es noch eine "UDINT".

Ich wünsche noch einen schönen Tag

Mit freundlichen Grüßen
Keltu