# WAGO 750-880: Problem mit SD-Karte bei Stromausfall



## Peter64 (9 September 2022)

Hallo allerseits,

dies ist mein erster Betrag hier.

Ich programmiere gerade eine (ältere) WAGO-Steuerung 750-880 (FW-Version: 01.08.25) mit Erweiterungsmodulen und CoDeSys 2.3 (2.3.9.42).

Das Anwendungsprogramm speichert jede Minute Daten in eine Datei auf der SD-Karte (Original WAGO: 758-879/000-001). Dazu verwende ich "SysFileOpen", "SysFileWrite" und "SysFileClose".

Das funktioniert erst mal völlig problemlos und nach etlichen Wochen Dauerbetrieb war alles okay.

Dann traten mehrfach nacheinander kurze Stromausfälle auf (Sicherungen wurden für Elektro-Installationen ausgeschaltet) und plötzlich wurde nichts mehr auf der SD-Karte gespeichert. Beim Zugriff per FTP auf die SD-Karte wurden noch Ordner angezeigt, diese konnten aber nicht mehr geöffnent werden.

Ich habe die SD-karte dann in den PC gesteckt um ein CHKDSK durchzuführen. Soweit komme ich aber gar nicht, denn die Karte wird gar nicht mehr korrekt erkannt. Windows erkennt zwar, dass die Karte eingesteckt wurde, richtig aber keinen Laufwerksbuchstaben ein (auch nach Stunden nicht).

Auch formatieren geht nicht mehr. Auch unter Linux nicht. Die SD-Karte ist quasi "tot" und kann in die Tonne (was bei dem Preis nicht lustig ist).

Hat jemand bei einer 750-88X schon ähnliche Erfahrungen mit von Stromausfall verursachten Unterbrechungen beim Schreiben auf die SD-Karte gehabt?

Grundsätzlich ist das FAT-Dateisystem ja nicht wirklich für Embedded-Systeme geeignet, da Unterbrechungen beim Schreiben eben zu solchen Effekten führen kann.

Ist mein Projekt damit schon gestorben?


----------



## DeltaMikeAir (9 September 2022)

Peter64 schrieb:


> Das Anwendungsprogramm *speichert jede Minute* Daten in eine Datei auf der SD-Karte


= 1.440 Schreibzyklen am Tag
= 525.600 Schreibzyklen im Jahr
100.000 Zyklen wären also nach ca. 2 Monaten erreicht.

Aus den technischen Daten der SD-Karte:


> Lebensdauerpro Zelle: 100.000 Schreibzyklen


( das ist zwar eine Angabe "pro Zelle" aber auch schon mal ein grober Richtwert )
Technische Daten


----------



## Peter64 (9 September 2022)

Ich hatte vergessen zu schreiben, dass es nicht immer die gleiche Datei ist.

Jeden Tag wird eine neue Datei angelegt.

Sorry.


----------



## DeltaMikeAir (9 September 2022)

Peter64 schrieb:


> Ich hatte vergessen zu schreiben, dass es nicht immer die gleiche Datei ist.
> 
> Jeden Tag wird eine neue Datei angelegt.


Das ändert aber auch nichts an dem Problem mit den limitierten Schreibzyklen.


----------



## Plan_B (9 September 2022)

DeltaMikeAir schrieb:


> das ist zwar eine Angabe "pro Zelle" aber auch schon mal ein grober Richtwert


Schreiben selbst eines Bits setzt das Löschen eines Blocks voraus.

Hat die Wago einen grösseren RAM Bereich, vozugsweise SRAM, könnte man einen Block zwischenpuffern und dann komplett schreiben. Das reduziert die Schreibzugriffe erheblich.


----------



## Peter64 (10 September 2022)

Vielen Dank für eure vielen Hinweise zu den max. Schreibzyklen, aber ich programmiere schon seit Jahren andere CPU-Systeme mit exakt gleichen Speicher-Rhythmus auf SD-Karten und da gab es noch nie in dieser Richtung Probleme.

Ich würde mich freuen, wenn ihr euch mehr dem plötzlichen Ausschalten während eines Datei-Schreibvorgangs widmen könntet. Hier habe ich größere Bedenken.

Welche Erfahrungen haben denn die Anwender hier bei durch plötzlich auftretenden Stromausfall während eines Schreibvorgangs auf SD?

Gab es noch nie Probleme?


----------



## KLM (10 September 2022)

Die Berechnung der Schreibzyklen auf 2 Monate ist leider sehr vereinfacht und trifft in der Praxis so nicht zu. Aber die Thematik ist auch nicht ganz trivial. Bei FAT kann der Spannungsausfall mitten im Schreiben schon mal zu so einem Fehlverhalten führen. Da wird auch ein Update der veralteten Firmware und Entwicklungsumgebung, was ich natürlich trotzdem empfehlen würde, nur wenig helfen. Besser wäre es auf eine aktuelle Hardware 750-821x zu wechseln und dann ext4 als Dateiformat. Das zwischenpuffern im RAM kann ich aber trotzdem empfehlen, um die Lebensdauer der Karte zu erhöhen.


----------



## DeltaMikeAir (10 September 2022)

KLM schrieb:


> Die Berechnung der Schreibzyklen auf 2 Monate ist leider sehr vereinfacht und trifft in der Praxis so nicht zu.


Das stimmt. Ich wollte nur darstellen, dass dies langfristig auch zum Problem werden könnte.


----------



## Peter64 (11 September 2022)

KLM schrieb:


> Die Berechnung der Schreibzyklen auf 2 Monate ist leider sehr vereinfacht und trifft in der Praxis so nicht zu. Aber die Thematik ist auch nicht ganz trivial. Bei FAT kann der Spannungsausfall mitten im Schreiben schon mal zu so einem Fehlverhalten führen. Da wird auch ein Update der veralteten Firmware und Entwicklungsumgebung, was ich natürlich trotzdem empfehlen würde, nur wenig helfen. Besser wäre es auf eine aktuelle Hardware 750-821x zu wechseln und dann ext4 als Dateiformat. Das zwischenpuffern im RAM kann ich aber trotzdem empfehlen, um die Lebensdauer der Karte zu erhöhen.


Hallo KLM,

danke für den ersten guten Tipp mit neuerer Hardware und EXT4, das vermutlich deutlich unempfindlicher als FAT ist.

Mich hat nur stutzig gemacht, dass WAGO ja für die 750-88X-Serie ein Datalogging-Bibliothek "WAGO_Datalogger_02.lib" anbietet, mit der man mit den gleichen System-Funktionen, die ich benutze, (SysFileOpen, etc.) Daten auf die SD-Karte speichern kann.

Von daher war ich davon ausgegangen, das WAGO hier in der Firmware eine Schnittstelle zur SD-Karte implementiert hat, die sicherstellt, dass nach einem Spannungsausfall die SD-Karte wieder "gerade gezogen" wird (wenn das überhaupt geht?), so dass die Ordner- und Dateistruktur wieder konsistent ist.


----------



## KLM (11 September 2022)

Die Bereitstellung eines Bausteins, der Dir die Arbeit mit Systemfunktionen abnimmt, hat aus meiner Sicht nichts mit der zugrunde liegenden Systemfunktion selbst zu tun. Das Betriebssystem, dass die Systemfunktionen bereitstellt, ist beim 88x ein Nucleus. Das Linux der 8xxx Controller macht das deutlich besser, aber auch hier kann ein Spannungsausfall während des Schreibens das FAT Dateisystem beschädigen. Aber selbst von Optimierungen im Betriebssystem kannst Du mit der veralteten Firmware und auch Plattform (Nachfolger der abgekündigten 88x Hardware sind die 89x Controller) nicht profitieren.
Eine Funktion, beschädigte Flash Speicher zu reparieren, in die Firmware einer SPS zu integrieren, macht aber wenig Sinn. An einem Windows PC sollte das aber noch machbar sein. Wenn die native Windows Datenträgerverwaltung das nicht schafft, dann ggf. externe Tools.


----------



## Peter64 (12 September 2022)

Moin, gestern habe ich mit einem gut befreundeten HW-Entwickler telefoniert und er sagte, dass es für die Phoenix-SPSen USV-/Redundanz-/Puffer-Module gibt, die bei Spannungsausfall noch eine Weile die Versorgung fortsetzen und die SPS dann darauf reagieren kann (warum bin ich da selbst nicht schon eher drauf gekommen?  ).

Bei WAGO gibt es so etwas "natürlich" auch, z.B. 787-885.

Hat jemand mit Überbrückungs-Stromversorgungen (24V) schon Erfahrungen? Muss man selbst in der Applikation auf das Signal reagieren oder kann die SPS (750-88X) das "ab Werk"? Optimalerweise kommunizieren die SPS und das Netzteil dann über den K-Bus? Schwärm...


----------



## DeltaMikeAir (12 September 2022)

Peter64 schrieb:


> Bei WAGO gibt es so etwas "natürlich" auch, z.B. 787-885.


787-885 ist ein Redundanzmodul, das hat nichts mit Pufferung zu tun.


----------



## Peter64 (12 September 2022)

Oh je, da hat jemand die Goldwaage hervor geholt  Das war doch nur ein Beispiel!

Dann nehme ich halt das 787-880 als Beispiel und hoffe, damit allen gerecht zu werden...


----------



## DeltaMikeAir (12 September 2022)

Peter64 schrieb:


> Dann nehme ich halt das 787-880


Das wäre dann ein normales Puffermodul. Gibt es von verschiedenen Herstellern. Du müsstest dann den potentialfreien Kontakt des Modul auf einen Eingang legen und entsprechend auswerten/reagieren ( keinen Schreibauftrag mehr anstoßen ).


----------



## DeltaMikeAir (12 September 2022)

Peter64 schrieb:


> Optimalerweise kommunizieren die SPS und das Netzteil dann über den K-Bus? Schwärm...


Ob es das bei Wago gibt, kann ich nicht sagen. Bei der S7-1500 gibt es so etwas aber das ist für dich ja nicht relevant.


----------



## KLM (12 September 2022)

Kapazitive Puffermodule direkt am KBus gibt es, soweit ich weiß, nicht, aber die Module und Netzteile haben meist Schnittstellen. Am einfachsten einen DC OK Kontakt, aber es gibt auch einfache Bitmuster-Kommunikation via DI/DO (Manchester), IO-Link, Modbus RTU, etc. Für alles bekommt man eigentlich fertige Bausteine. Die Frage ist nur, wie weit man das treiben will und wie wahrscheinlich ein Defekt ist. SD-Karten auf den alten 88x habe ich auch ein paar abgeschossen, aber seit dem Wechsel auf Linux-basierte Controller mit ext4 nicht eine.


----------

