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

Ergebnis 1 bis 6 von 6

Thema: NOVRAM - Datenspeicher bei Stromausfall

  1. #1
    Registriert seit
    16.12.2009
    Ort
    Süddeutschland
    Beiträge
    173
    Danke
    37
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Beckhoff CX9010, WinCE.

    Ich habe einen Stunden und Zykluszähler, dessen Werte auch nach einem Stromausfall erhalten bleiben sollten.

    RETAIN / PERSISTANT -soviel vorweg- ist dazu keine geegnete Lösung (laut Beckhoff Infosys).

    Variablendeklaration:
    Code:
     
    (************************************ NovRam ****************************************)
     TotalTime, TotalCycles, safeme         AT%Q*: UDINT;
    (************************************ Aussen ***************************************** *)
    Ich verwende den NovRam und speicher Darin "TotalTime" und "TotalCycles". Ziehe ich nun den Netzstecker, so ist alles wieder auf 0, also so wie es NICHT sein soll.

    Mache ich nun folgenden Versuchscode:
    Code:
    IF totaltime <> 0 THEN
     safeMe:=totaltime;
    END_IF;
    so bleibt die TotalTime in SafeMe nach Stromausfall gespeichert. Sieht also aus als würde beim Stromausfall aus irgendeinem Grund noch schnell eine "0" in meinen TotalTime/TotalCycles-Novram-Speicher geschrieben werden, anstatt die letzten Werte beizubehalten. Hat wer eine Idee warum das so sein könnte?
    Zitieren Zitieren NOVRAM - Datenspeicher bei Stromausfall  

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

    Standard

    Zitat Zitat von forellengarten Beitrag anzeigen
    Ich verwende den NovRam und speicher Darin "TotalTime" und "TotalCycles". Ziehe ich nun den Netzstecker, so ist alles wieder auf 0, also so wie es NICHT sein soll.
    Lies mal hier:
    http://infosys.beckhoff.com/index.ph...m.htm&id=10686
    (Mitte des Textes)

  3. #3
    Avatar von forellengarten
    forellengarten ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    16.12.2009
    Ort
    Süddeutschland
    Beiträge
    173
    Danke
    37
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Zitat Zitat von trinitaucher Beitrag anzeigen
    Ja, diesen Anleitung habe ich genutzt. Wie gesagt, die Variable "SafeMe" in meinem Programm funktioniert - dieser Wert bleibt erhalten.

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

    Standard

    Das notwendige "Häkchen" im System Manager hast du also gesetzt?

    Im ersten Zyklus werden die NovRam-Variablen mit den gesicherten Werte vorinitialiisert.
    Pass auf, dass du die Ausgangsvariablen im ersten Zyklus nach Programmstart nicht überschreibst!

    Ich nutze das NovRam mittlerweile nur noch mit den Funktionsbausteinen ReadWriteNovRam. Schreibe z.B. alle 10 Sekunden die Werte weg und nach einem Systemneustart im ersten Zyklus werden die Werte wieder gelesen. Erst danach wird der eigentliche Programmablauf gestartet.

  5. Folgender Benutzer sagt Danke zu trinitaucher für den nützlichen Beitrag:

    forellengarten (19.01.2013)

  6. #5
    Registriert seit
    25.11.2010
    Ort
    OWL
    Beiträge
    757
    Danke
    27
    Erhielt 166 Danke für 144 Beiträge

    Standard

    Ich bin mir jetzt nicht ganz sicher, aber ich denke, dass bei der Variablendeklaration nur "SafeMe" im Ausgangs-Speicherbabbild angelegt wird. Versuche es mal so:
    Code:
    VAR
       TotalTime AT %Q*:UDINT;
       TotalCycles AT %Q*:UDINT;
       SafeMe AT %Q*:UDINT;
    END_VAR
    Das automatische Update der NOVRAM-Variablen als Ausgänge hat aber seine Tücken. Bei "Steuerung Stop" oder Ausfall von Feldbussegmenten werden die Ausgänge auf 0 gesetzt, und da rutschen dann auch schon mal Nullen in den NOVRAM. Die Lösung von trinitaucher mit ReadWriteNovRam ist auf jeden Fall besser.

  7. #6
    Avatar von forellengarten
    forellengarten ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    16.12.2009
    Ort
    Süddeutschland
    Beiträge
    173
    Danke
    37
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von StructuredTrash Beitrag anzeigen
    Ich bin mir jetzt nicht ganz sicher, aber ich denke, dass bei der Variablendeklaration nur "SafeMe" im Ausgangs-Speicherbabbild angelegt wird. Versuche es mal so:
    Code:
    VAR
       TotalTime AT %Q*:UDINT;
       TotalCycles AT %Q*:UDINT;
       SafeMe AT %Q*:UDINT;
    END_VAR
    Das automatische Update der NOVRAM-Variablen als Ausgänge hat aber seine Tücken. Bei "Steuerung Stop" oder Ausfall von Feldbussegmenten werden die Ausgänge auf 0 gesetzt, und da rutschen dann auch schon mal Nullen in den NOVRAM. Die Lösung von trinitaucher mit ReadWriteNovRam ist auf jeden Fall besser.
    das mit dem Variablen paßt schon so wie ich das geschrieben hatte. Zumindest deutet nichts darauf hin daß das nicht so wäre. Ich denke mittlerweile auch daß die Lösung von trinitaucher die beste ist (da weiß man wenigstens was passiert).

Ähnliche Themen

  1. NOVRAM-Klemme EL6080 - Zyklische Prozessdaten
    Von StructuredTrash im Forum CODESYS und IEC61131
    Antworten: 5
    Letzter Beitrag: 01.01.2012, 19:33
  2. MI XV102 - Novram
    Von stricky im Forum CODESYS und IEC61131
    Antworten: 7
    Letzter Beitrag: 08.09.2010, 23:00
  3. Schrittkettenzustand in NOVRAM sichern?
    Von grosser_marco im Forum CODESYS und IEC61131
    Antworten: 1
    Letzter Beitrag: 08.09.2009, 22:47
  4. NOVRAM gelöscht
    Von grosser_marco im Forum CODESYS und IEC61131
    Antworten: 8
    Letzter Beitrag: 20.01.2009, 19:23
  5. Wert im Datenspeicher mit Datum speichern
    Von alex_1704 im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 30.11.2006, 14:21

Lesezeichen

Berechtigungen

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