WAGO 750-841: Dateispeichern

foenig
2008-09-03
2008-09-08
  • foenig - 2008-09-03

    Hallo,

    ich bin gerade Dabei Messwerte auf einer WAGO 750-841 in eine Datei zu speichern.

    Dies gelingt auch nur brauche ich zum abspeichern eines Messwerts ca. 3 Sekunden. Das ist definitiv zu lang.

    Gibt es da noch einen oder mehrere Tricks?

     
  • Martin.Paulick - 2008-09-05

    Um nicht jeden einzelnen Wert ins Flash schreiben zu müssen kann man einen FIFO Buffer anlegen, der im Retain Bereich liegt (sicher gegen Spannungsausfall). Der FIFO Buffer kann dann ab einem gewissen Füllstand ins Flash geschrieben werden.

    Eine solche Lösung erhöht die Geschwindigkeit der Applikation und die Lebensdauer des Flash Speichers.

     
  • debug - 2008-09-05

    Der Retain Bereich wird doch in der Datei: persist.dat gespeichert, oder?

     
  • foenig - 2008-09-05

    Danke für die Hinweise.

    Ich habe es mit einem FIFO Buffer realisiert. Bei dieser Anwendung ging das auch noch da ich abschätzen kann wann ich Zeit zum Schreiben habe.

    Ich hatte einen Versuch gemacht der darauf hinaus lief das ich einen Ereignisgesteuerten Task verwendet habe der eine niedrigere Priorität hat als der Zyklische 20ms Task der das eigentliche SPS-Programm abhandelt. Leider ist dieses Experiment nicht geglückt, die Daten waren nicht immer vollständig bzw. wurden teilweise gar nicht erst geschrieben.

     
  • debug - 2008-09-08

    Das sollte aber genau so gehen. Mache ich auch so.

    ABER, Du musst natürlich den Aufruf des Ereignis gesteuerten Task blocken bis dieser fertig ist. D.h. wen FiFo über 50% gefüllt, dann in Datei schreiben lassen. Wenn schreiben in Datei fertig Aufruf wieder zulassen.

     

Log in to post a comment.