Einzelnen Beitrag anzeigen

rhuber

Registriert seit: 11. Sep 2012
12 Beiträge
 
Delphi 7 Personal
 
#1

Delphi Datenlogger zerstört CompactFlash (CF) Karten

  Alt 11. Sep 2012, 11:56
Hallo zusammen,nach einer langen Zeit als nur-Leser brach ich jetzt doch mal eure Hilfe!
Leider hab ich keinen besseren Bereich im Forum gefunden, deshalb versuch ich's mal hier:

Hab ein gröberes Problem mit meinem Datenlogger, der im Minutentakt ca. 10 Temperaturwerte in ein .csv-File schreib. Von 5 Datenloggern ist nach wenigen Monaten bereits bei 3 die CF-Karte defekt(Zugriffsfehler auf Logfile-Ordner,nach aut. Scan durch Win2k alle bisherigen csv-Files weg...)

Das System sieht so aus:
- Embedded-PC Alix 3.d3 (500MHz Geode LX, 256MB RAM,CF-Festplatte)
- Windows 2000 SP4 (praktisch sämtliche Schreibzugriffe unterdrückt)
- Windows und Logs laufen auf CF-Karte (SLC-Typ,sollte >1Million Schreibzugriffe ertragen)
- Alle 60s werden in Logfile neue Werte eingetragen, nach 24h wird neues Logfile erstellt (also max. 1500 Schreibzugriffe auf gleiche Datei,max.600kbyte)
- FileMon gibt jede Minute jedoch 4 Schreibzugriffe an, also max. 6000 auf selbes Logfile

Weshalb sich die CF-Karten so schnell verabschieden ist mir ein Rätsel! Sind es evtl. einfach schlechte Karten, oder liegt es an meiner suboptimalen Schreibfunktion? Ich verwende folgende:

Code:
If FileExists(fileName) Then Begin //fileName=.csv-File des aktuellen Tages
  try
    AssignFile(TxtFile, fileName); //.csv-File Laden
    Append(TxtFile);
    WriteLn(TxtFile,messwerte);   //Neue Zeile mit Messwerte in Logfile hinzufügen (ca.300 Zeichen)
    CloseFile(TxtFile);
  Mit Zitat antworten Zitat