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

Generelle Fragen zum Persistence Manager

Chris.O
2019-08-08
2019-08-14
  • Chris.O - 2019-08-08

    Hallo Forum,

    ich bin auf der Suche nach ein paar Antworten zum Thema Persistence Manager, da ich leider in der OnlineHelp nichts zu meinen Fragen finde.

    Generell möchte ich den Persistence Manager nutzen um mir Daten bei Änderung abzuspeichern. Ich möchte diese Daten aber nicht im Retain-Bereich sondern in ein separates File speichern. Trotzdem möchte ich die Daten nach einem Reboot wieder haben. => Schlussfolgerung ich nehme den Persistence Manager.

    Jetzt habe ich gesehen, dass hier eine Menge Code automatisch erzeugt wird. Unter anderem werden auch 3 Tasks angelegt. Eine mit hoher Prio (1), mittlerer Prio (10) und niedriger Prio (30).

    • Ich möchte jetzt aber auf gar keinen Fall, dass meine Main Task davon beeinflusst wird. Also hätte ich meine Main auf Prio 1 gelegt und die Hohe Prio es Managers auf 2.
      Weiß jemand welche Auswirkungen das haben könnte? Bis jetzt konnte ich da nichts feststellen.

    • Ist der Persistence Manager sehr rechenintensiv?

    • Ich speichere die Daten auf eine SD-Karte. Es kommen unregelmäßig Daten, die sich ändern und somit gespeichert werden. Muss ich mit der SD-Karte da aufpassen zwecks Beschädigung wegen zu häufigem schreiben?

    • Hätte jemand eine andere Lösung für mein generelles Problem?

    Danke schon mal für eure Hilfe.

    Gruß Chris

     
  • eschwellinger

    eschwellinger - 2019-08-09

    Hallo Chris,

    Zitat:
    Weiß jemand welche Auswirkungen das haben könnte?

    Im schlimmsten Fall das eine Variable die du in deiner höchsten Prio task verwendet nicht aktuell ist... kannst auch deine POU's einfach
    in der höchst Prioren Persistent task aufrufen und deine Task eliminieren...!

    Zitat:
    - Ist der Persistence Manager sehr rechenintensiv?

    nein, erst ist ja darum aufgeteilt in verschiedene Tasks ( klar Files schreiben kosten auf einem PFC ja auch "körner")
    Einfach mal plcload im PLCBrowser machen - um den load mit ohne PersistenzManager checken!

    SD Karten und zyklisches schreiben ist immer mit vorsicht zu genießen.
    Sprich du must eigentlich alle Variablen genua betrachten und folgende Fragen stellen:
    Brauche ich diese Variable zyklisch - z.b ein Encoder eingang oder Analog LREAL der sich dauernd ändert
    würde ich nicht mir PersistenzManager Zyklisch einstellen sonder der gehört ins NVRAM des PFC's -
    Werte die sich nicht oft ändern -> PersistenzManager

    Denke so ist das beherrschbar!
    Also nicht alles einfach ohne wenn und aber in den PersistenzManager verlagern und automatisch speichern lassen - sondern
    einzeln betrachten.

    Grüße
    Edwin

     
  • Chris.O - 2019-08-14

    Hallo Herr Schwellinger,

    Danke für die Infos. Das mit den Tasks werde ich dann wohl so machen!

    In meinem Fall geht es auch nur um BOOLSCHE Variablen, die manchmal über Wochen gar nicht wechseln, aber auch mal innerhalb von Millisekunden wechseln können (ist aber eher die Ausnahme) von daher würde ich es denke ich wagen, diese mit dem PersistenzManager zu speichern.

    Vielen Dank!

     

Log in to post a comment.