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

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 21

Thema: Fragen zu RETAIN und PERSISTENT (TwinCAT)

  1. #1
    Registriert seit
    19.09.2008
    Beiträge
    24
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,
    verstehe ich das richtig, dass nur die PERSISTENT Variablen ihren Wert auch über einen Neustart des PCs hinaus behalten?
    Welchen Sinn hat dann "VAR RETAIN PERSISTENT"?
    Und warum muss bei RETAIN die komplette FB-Instanz im Retain-Bereich gespeichert werden, bei PERSISTENT aber nicht?! Bzw. wenn ich einen kleinen FB mit einer einzigen RETAIN Variablen als Baustein in einem sehr viel größeren FB benutze, dann wird praktisch mein komplettes SPS-Programm im Retain-Bereich gespeichert. Ist zwar kein Problem den Bereich zu vergrößern, aber hat das nicht auch negative Auswirkungen z.B. auf die Performanz?
    Also was deklariert man am besten RETAIN, was PERSISTENT und was "RETAIN PERSISTENT"?
    Zitieren Zitieren Fragen zu RETAIN und PERSISTENT (TwinCAT)  

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

    Standard

    Hallo suud

    Ich kenne mich da auch nicht gerade gut aus. Die RETAIN daten werden bei "PLC RESET","Alles bereinigen" und "Urlöschen". Die PERSITENT daten nur beim "Urlöschen"

    Damit RETAIN und PERSITENTgespeichert werden, muss das Windows heruntergefahren werden (Einfach den Hauptschalter ausschalten ist nicht gerade gut). Es gibt auch einen Funktionsblock um die Persitenten Daten zu schreiben. Ich rate dir aber ab, Daten die viel ändern mit diesem Funktionsblock immer wieder zu schreiben. Beim Schreiben wird immer wieder eine neue Datei auf dem Flash erzeugt (In dieser Zeit sollte die Anlage nicht abgeschaltet werden).

    Ich verwende darum das NVRAM zur Datensicherung(Aktueller job) . Du kannst Variablen über den Systemmanager mit dem NVRAM verbinden. Das geht gut bei einem CX1010 (Grosse rechenleistung). Bei einem CX9000(kleine Rechenleistung) ist es aber besser du schreibst die Daten selbst mit einem Funktionsblock. Da du sonst zu viel Rechenleistung verlierst.

    Die Persitenten Daten verwende ich um verschiedene Jobs zu speichern. Also Daten die im laufenden Betrieb nicht gebraucht werden. Bei einem CX9000 würde ich das aber nicht machen. Das Flash ist dort in der SPS eingebaut (kein compactflash) und nicht sehr schnell. Der CX9000 hat ja dafür sehr viel NVRAM. Da hat es genug Platz für die verschiedenen Jobs.

    Falls du die Persitenten Daten verwendest und du die SPS mit dem Powerschalter abschalten willst, musst du die Persitenten Daten gleich nach dem Start der SPS einmal schreiben. Den die SPS kopiert sie in ein old um.

    Gruss

    Thomas

  3. #3
    suud ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    19.09.2008
    Beiträge
    24
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Das mit dem Urlöschen kann aber doch nicht der einzige Unterscheid sein?
    Was bewirkt denn folgende Deklaration?:
    Code:
    VAR RETAIN PERSISTENT
         MaxValue: INT;
    END_VAR

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

    Standard

    VAR RETAIN PERSISTENT
    MaxValue: INT;
    END_VAR
    Das kann man ja wirlich übersetzten.

    Ich habe "gegoogelt" und folgendes gefunden:

    http://www.ipsta.de/download/automat...p4_CoDeSys.pdf

    Auf den Seiten 4-8 und 4-9 ist es noch gut beschrieben.

    Gruss

    Thomas

  5. #5
    suud ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    19.09.2008
    Beiträge
    24
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Danke. Allerdings kann die Tabelle auf Seite 4-9 oben eigentlich nicht ganz richtig sein, denn PRESISTENT Variablen werden bei einem Reset ja nicht neu
    initialisiert, RETAIN Variablen allerdings schon (jedenfalls bei TwinCAT). In der Tabelle ist es aber genau umgekehrt?!
    Und wenn beides nur beim geregeleten Neustart gespeichert wird, warum müssen dann RETAIN Variablen zusammen mit den kompletten Instanzen aller übergeordneter FBs gespeichert werden, PERSISTENT Daten aber nicht? Könnte mir nur vorstellen, dass das was damit zu tun hat, dass PERSISTENT Daten mit Instanzpfad und Symbolnamen abgelegt werden...

    Ich habe nun noch an anderer Stelle gelesen, dass bei Controllern mit NVRAM die RETAIN Daten eben einmal pro Zyklus dort abgespeichert werden und PERSISTENT nur beim geregelten Neustart/Ausschalten und nicht im NVRAM. Hier wären also auch die RETAIN-Daten Nullspannungssicher.

    Also eine eindeutige Definition was wann wie wo gepeichert wird scheint es wohl nicht zu geben? Ich glaube ich entscheide mich einfach für eine Variante und denke dann nicht weiter drüber nach...

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

    Standard

    "Ich habe nun noch an anderer Stelle gelesen, dass bei Controllern mit NVRAM die RETAIN Daten eben einmal pro Zyklus dort abgespeichert werden und PERSISTENT nur beim geregelten Neustart/Ausschalten und nicht im NVRAM. Hier wären also auch die RETAIN-Daten Nullspannungssicher."

    Das gilt bei Beckhoff CX9000-CX1030 aber nicht. Mit Persistent und retain werden die Daten nicht ins NVRAM gespeichert sondern ins Flash.

    Was hast du für eine SPS?

    Das Pdf dokument beschreibt codesys nicht die Umsetztung von Beckhoff. Was verstehst du unter Reset? Menu Online->Reset

    Gruss

    Thomas

  7. #7
    Registriert seit
    04.10.2007
    Ort
    Delmenhorst
    Beiträge
    339
    Danke
    53
    Erhielt 43 Danke für 27 Beiträge

    Standard

    Schließe mich dem an: guck ins Handbuch der Steuerung. Kenne die Thematik nur von WAGO und da ist es z. T. auch steuerungsabhängig, so dass man teilweise keine RETAIN PERSISTENT anlegen kann.
    Also zumindest das Handbuch für den 750-841 erklärt den Zusammenhang (auch mit den Speicherbereichen) ganz gut, auch die Reaktionen auf die einzelnen Resets. Aber: nicht einfach auf Beckhoff übertragen sondern da mal das entsprechende Handbuch durchwälzen.

  8. #8
    suud ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    19.09.2008
    Beiträge
    24
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ich benutze hier TwinCAT PLC auf einem "normalen" PC.
    Mit Reset meine ich den Online-Reset in der PLC.
    Und in der Online-Hilfe werden meine Fragen leider auch nicht so wirklich beantwortet.
    Ich bin halt davon ausgegangen, dass die Spezifikation das Verhalten relativ klar vorgibt und nicht, dass da jeder Hersteller sein eigenes Süppchen kochen kann.

    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.
    Geändert von suud (10.10.2008 um 10:38 Uhr)

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

    Standard

    "dass die Spezifikation das Verhalten relativ klar vorgibt und nicht, dass da jeder Hersteller sein eigenes Süppchen kochen kann"

    ja das wäre schön ....


    " auf einem "normalen" PC "

    Dann hast du aber auch kein NVRAM

  10. #10
    suud ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    19.09.2008
    Beiträge
    24
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Bührer Beitrag anzeigen
    " auf einem "normalen" PC "

    Dann hast du aber auch kein NVRAM
    TwinCAT könnte aber so tun als gäbe es eins.
    In der Online-Hilfe steht z.B.
    "Ein Anwendungsbeispiel für Retain Variablen wäre ein Stückzähler in einer Fertigungsanlage, der nach einem Stromausfall weiterzählen soll"
    Das dürfte sich dann wohl auf die Bus-Controller mit NOVRAM beziehen.
    Denn wenn beim PC nur bei geregletem Neustart/Runterfahren gespeichert wird, würde das nichts bringen.
    Aber wenn auch beim PC pro Zyklus gespeichert wird, würde das das System extrem ausbremsen.

Ä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
  •