Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 21

Thema: Fragen zu RETAIN und PERSISTENT (TwinCAT)

  1. #11
    Registriert seit
    11.06.2007
    Beiträge
    162
    Danke
    3
    Erhielt 16 Danke für 16 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    "Worum es mir ja eigentlich geht ist, ob es negative Auswirkungen hat, wenn mein Retain-Bereich ca. 1MB oder noch größer wird. Und das nur weil es mehrere sehr grosse FBs gibt, die alle irgendwo einen ganz kleinen FB mit einer Retain-Variablen verwenden (z.B. gibt es in der Oscat-Lib ein paar FBs mit RETAIN-Variablen).
    Im Prinzip kann ich mir das ja sparen und die entsprechenden Variablen auch einfach persistent machen"


    Vom timing her sollte es keine Auswirkung haben. Da in deinem Fall die Retain-Daten am anfang einmal gelesen werden um beim beenden einmal geschrieben werden.

    Wenn du aber etwas im FB veränderst, verlierst du die Retain-Daten.

    Für mich ist es sauber wenn retain und Persitente Daten auch gleichzeitig Globale daten sind.

  2. #12
    Registriert seit
    11.06.2007
    Beiträge
    162
    Danke
    3
    Erhielt 16 Danke für 16 Beiträge

    Standard

    Beckhoff geht davon aus, dass eine USV verwendet wird, welche das Windows korrekt beendet.

    Bei den PC- und ARM-Basierten SPS werden die Daten nicht mit den ausdrücken persitent und retain automatisch ins NVRAM gespeichert. Das muss man selbst machen (Im System Manager mit NVRAM verlinken oder über FB).

  3. #13
    Registriert seit
    19.11.2006
    Beiträge
    1.346
    Danke
    6
    Erhielt 254 Danke für 231 Beiträge

    Standard

    Ich habe bisher immer nur PERSISTENT genutzt, weil ich von der Beckhoff-Schulung noch im Kopf habe, dass PERSISTENT wirkliches "speichern" ist. Also Der letzte Wert vor dem PC-Reset bleibt erhalten.
    Die Variablen werden nicht mit ihren Initialwerten überschrieben. Nur ein "Urlöschen" löscht diese Variablen wieder ab.

  4. #14
    Registriert seit
    13.01.2007
    Beiträge
    304
    Danke
    35
    Erhielt 29 Danke für 25 Beiträge

    Standard

    Zitat Zitat von trinitaucher Beitrag anzeigen
    Ich habe bisher immer nur PERSISTENT genutzt, weil ich von der Beckhoff-Schulung noch im Kopf habe, dass PERSISTENT wirkliches "speichern" ist. Also Der letzte Wert vor dem PC-Reset bleibt erhalten.
    Die Variablen werden nicht mit ihren Initialwerten überschrieben. Nur ein "Urlöschen" löscht diese Variablen wieder ab.
    Zudem kann man die Dateien super über FTP wegsichern. Weiters wird wirklich alles gesichert, man kann nichts vergessen. Zudem kommt eine Änderung mit notwendigen Neustart des Systems bei meinen Anlagen nicht besonders gut.
    Daher schließe mich Dir vollinhaltlich an.

  5. #15
    Registriert seit
    29.09.2006
    Beiträge
    368
    Danke
    0
    Erhielt 41 Danke für 38 Beiträge

    Standard

    Persistente Vars sind deutlich robuster, da diese mit Name, Typ und Daten gespeichert werden. Retain ist nur ein Block, passt der nicht mehr durch Änderungen zueinander wird es schwierig für die Daten.

    Viele Grüße

  6. #16
    Registriert seit
    11.06.2007
    Beiträge
    162
    Danke
    3
    Erhielt 16 Danke für 16 Beiträge

    Standard

    Zitat Zitat von Fx64 Beitrag anzeigen
    Persistente Vars sind deutlich robuster, da diese mit Name, Typ und Daten gespeichert werden. Retain ist nur ein Block, passt der nicht mehr durch Änderungen zueinander wird es schwierig für die Daten.

    Werden Persitente daten wirklich anders gespeichert als retain?

    Falls die Persitenten Daten wirklich anders gespeichert werden, wie kann ich es einstellen, dass wenn ich die Daten erweitert habe ich nicht die einstellungen der anderen Daten verliere?

    Was passiert mit einem struct ?

  7. #17
    Registriert seit
    29.09.2006
    Beiträge
    368
    Danke
    0
    Erhielt 41 Danke für 38 Beiträge

    Standard

    Hallo,

    wenn Du das Speicherformat von beiden meinst ja, beide Daten werden aber letztlich in einer Datei gespeichert. Retain als fester Block, Resistent als einzelne Items. Änderst Du aber auch da einzelne Structs, wie willst dann die "alten" Persistent Daten noch laden?

    Viele Grüße

  8. #18
    Registriert seit
    11.06.2007
    Beiträge
    162
    Danke
    3
    Erhielt 16 Danke für 16 Beiträge

    Standard

    Zitat Zitat von Fx64 Beitrag anzeigen
    Änderst Du aber auch da einzelne Structs, wie willst dann die "alten" Persistent Daten noch laden?
    Beim Starten werden die Daten initialisiert mit dem init Wert. Beim Öffnen der persitenten Daten werden die bekannten Variablen mit den Persitenten Daten gesetzt.

    So hätte man in den alten Variablen den gespeicherten Wert und in den neuen Wert den init Wert. Das sollte machbar sein wenn der Variablen Name mit dem Variablen Wert gespeichert wurde und nicht nur ein Speicher abbild.

    Das wäre doch eine gute Lösung oder? Kann das Twincat schon so etwas?

    Gruss

    Thomas

  9. #19
    Registriert seit
    29.09.2006
    Beiträge
    368
    Danke
    0
    Erhielt 41 Danke für 38 Beiträge

    Standard

    richtig Bührer, bei "PERSISTENT" werden die Daten per Variable gesichert und wieder geladen. Im Übrigen "belastet" NOVRAM sehr wohl das System, je nach System mehr oder weniger. Bei Verlinkung im System Manager wird im jedem Zyklus gesichert und NOVRAM ist auch nicht das Schnellste. Man kann aber auch SPS Bausteine nutzen, um Optimierungen zu machen - da muß man es selbst programmieren.

    Viele Grüße

  10. #20
    Registriert seit
    11.06.2007
    Beiträge
    162
    Danke
    3
    Erhielt 16 Danke für 16 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Bei einem CX9000 kann man nur mit dem SPS-Baustein arbeiten. 128K verlinken mit einem 255 MHz Arm Prozessor ist nicht möglich. Bei einem CX1010 / CX1020 kann verlinkt werden. Da gibt es auch nur 8k Nvram.

    Gruss

    Thomas

Ähnliche Themen

  1. Antworten: 24
    Letzter Beitrag: 14.10.2016, 09:30
  2. TwinCat HMI Fragen über Fragen
    Von Bambam im Forum CODESYS und IEC61131
    Antworten: 11
    Letzter Beitrag: 10.11.2010, 17:36
  3. CX9000 - Daten nach Neustart behalten! RETAIN und PERSISTENT?
    Von Codesys_123 im Forum CODESYS und IEC61131
    Antworten: 2
    Letzter Beitrag: 04.09.2010, 11:33
  4. Spannungsfest durch persistent retain
    Von Roli im Forum CODESYS und IEC61131
    Antworten: 7
    Letzter Beitrag: 19.06.2009, 22:34
  5. Retain persistent Variablen in persist.dat ?
    Von dietere im Forum Sonstige Steuerungen
    Antworten: 0
    Letzter Beitrag: 17.01.2008, 13:30

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •