Welcome to our new forum
All users of the legacy CODESYS Forums, please create a new account at account.codesys.com. But make sure to use the same E-Mail address as in the old Forum. Then your posts will be matched. Close

SysSaveRetains, SysRestoreRetains

grobi75
2015-12-13
2015-12-14
  • grobi75 - 2015-12-13

    Hallo,
    ich habe mit der Raspberry eine kleine Heizungssteuerung realisiert, in der ich über die Visu Sollwerte, Schaltzeiten etc. definieren kann.
    Damit mir die veränderbaren Werte auch über einen Stromausfall erhalten bleiben, habe ich diese als persistente retain Variablen deklariert.
    Nach Spannung aus/an ist trotzdem alles wieder auf den Startwerten.
    Darum habe ich mit ein wenig Suchen die System-Funktionen SysSaveRetains und SysRestoreRetains gefunden.
    Wenn nun ein Einstellwert verändert wird, speichere ich die Retain-Variablen mit SysSaveRetains('RetainVar') in eine Datei. Bei jedem Neuhochlauf der Steuerung hole ich mir die Werte mit SysRestoreRetains('RetainVar') wieder. Das funktioniert soweit eigentlich ganz gut
    Bloß seltsamerweise geht es 10x gut, dann stehen wieder die Initwerte der Variablen drin Ich bin noch nicht draufgekommen, warum das manchmal passiert. Was kann mir die Wiederherstellung zerschiessen oder wo wird diese ominöse Sicherungsdatei eigentlich abgelegt? (Ich hab sie bis jetzt nicht entdecken können).

    Oder wie sichert ihr Daten über einen Stromausfall hinweg und stellt diese wieder her (ohne USV)?

    Gruß

    grobi75

     
  • eschwellinger

    eschwellinger - 2015-12-14

    Hi,

    müsste schon zuverlässig funktionieren.
    das original Retains File das das System ablegt liegt in /root/ (Application.ret - wenn dein Applikation = Application heißt)
    vermutlich dein erzeugtes auch in diesem Pfad?
    Schief gehen würde es natürlich wenn genau zu dem Zeitpunkt wenn der Strom weg geht eine Änderung deinen Speichervorgang triggert,
    daher nicht auf der SD Karte landen würde...

    Grüße
    Edwin

     
  • grobi75 - 2015-12-14

    Danke für die Antwort!
    Ich werde heute Abend noch mal nach der Sicherungsdatei suchen.
    Wenn es wieder zuschlagen sollte, dann weiß ich wenigstens wo ich suchen kann.
    Dann sollte ich der Sache auf die Spur kommen....
    Im Moment läuft es eigentlich wieder zuverlässig.
    Ich habe aber noch einige Verriegelungen nachgebaut, damit es nicht zu mehrmaligen Sicherungen kommen kann usw.
    Auch warte ich nach dem 1. Zyklus jetzt ein paar Sekunden bevor ich die Daten aus der Datei einlese.
    Ich teste weiter.

    Gruß

    grobi75

     

Log in to post a comment.