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

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

Thema: USV, UPS, Persistente Daten, Daten beim Reboot fehlerhaft

  1. #11
    Registriert seit
    25.11.2010
    Ort
    OWL
    Beiträge
    760
    Danke
    27
    Erhielt 166 Danke für 144 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Sireth Beitrag anzeigen
    Ich muss die Anlage aber erst sicher stoppen bevor die endgültigen Daten gespeichert werden. Das heißt die Programm muss erst noch einige Zyklen weiterlaufen bis die zu speichernden Daten vorhanden sind...
    Dann wird Dir der FB_S_UPS_CX80xx im Standardmodus "eSUPS_WrPersistData_Shutdown" nicht helfen, weil er die Daten beim Spannungsausfall sofort schreibt. Du müsstest ihn im Modus "eSUPS_CheckPowerStatus" betreiben und den Ausgang "bPowerFailDetect" selbst auswerten, um die Daten mit einem "FB_WritePersistentData" verzögert schreiben zu können. So etwas habe ich selbst aber noch nicht ausprobiert.
    Zuvor solltest Du aber, wie schon erwähnt, die Grösse der persistenten Daten berechnen und nachschauen, ob der Routerspeicher ausreicht.
    Und NOVRAM ist beim CX80xx wohl keine Alternative, laut den technischen Daten hat er gar keinen solchen Speicher.

  2. #12
    Registriert seit
    21.02.2014
    Ort
    Sachsen-Anhalt
    Beiträge
    1.614
    Danke
    291
    Erhielt 271 Danke für 243 Beiträge

    Standard

    Zitat Zitat von StructuredTrash Beitrag anzeigen
    laut den technischen Daten hat er gar keinen solchen Speicher.
    Das ist richtig, jedoch hat Beckhof die 128kB-NOVRAM-Klemme zum nachrüsten.

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

    Standard

    Ich habe es jetzt mal mit FB_WritePersistentData versucht aber das Ergebnis bleibt leider dasselbe: Es wird eine Variable als gesetzt abgespeichert die zu keinem Zeitpunkt während des Programmablaufs gesetzt war. Muss ich beim deklarieren von ARRAYs und STRUCTs was bestimmtes beachten? Ich habe jetzt eine ARRAY von einer STRUCT, die drei weitere STRUCTs enthält als PERSISTENT deklariert. Dann müssten doch alle Variablen die zu der STRUCT gehören PERSISTENT sein oder?
    Und was Passiert wenn ich eine Variable eines Funktionsbausteins als PERSISTENT deklariere? Der Funktionsbaustein wird von einem anderen Funktionsbaustein aufgerufen, der in der MAIN aufgerufen wird. Wird jetzt der ganze Funktionsbaustein der in der Main aufgerufen wird gespeichert? Das wäre dann vermutlich sogar noch das größere Problem als das ARRAY...

  4. #14
    Registriert seit
    21.02.2014
    Ort
    Sachsen-Anhalt
    Beiträge
    1.614
    Danke
    291
    Erhielt 271 Danke für 243 Beiträge

    Standard

    Benutzt Du eine externe USV, die ermöglicht die Anlage herunterzufahren und dann noch zu speichern oder gehst Du von der 1s USV aus?

    Wo kommt das Signal "Spannungsausfall" her? Die USV gibt es sicher sofort, was den Speichervorgang triggert. Das Signal muss dann bis zum sicheren Zustand verzögert werden. Und dann brauchst Du noch genügend "USV-Energie" zum speichern.
    Geändert von weißnix_ (16.03.2015 um 10:36 Uhr)

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

    Standard

    1s USV, Ich verwende den Funktionsbaustein FB_S_UPS_CX80xx
    fbUPS(
    sNetID:= sAmsNetiIdCX8090,
    iPLCPort:=801 ,
    tTimeout:=DEFAULT_ADS_TIMEOUT ,
    eUpsMode:=eSUPS_CheckPowerstatus(*WrPersistData_NoShutdown*) ,
    ePersistentMode:=SPDM_2PASS ,
    tRecoverTime:= T#10s,
    bPowerFailDetect=>UPS ,
    eState=> );

    Mit UPS starte ich dann die Verzögerung bis FB_WritePersistentData ausgeführt wird

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

    Standard

    Zitat Zitat von Sireth Beitrag anzeigen
    Ich habe jetzt eine ARRAY von einer STRUCT, die drei weitere STRUCTs enthält als PERSISTENT deklariert. Dann müssten doch alle Variablen die zu der STRUCT gehören PERSISTENT sein oder?
    Ja.
    Zitat Zitat von Sireth Beitrag anzeigen
    Und was Passiert wenn ich eine Variable eines Funktionsbausteins als PERSISTENT deklariere? Der Funktionsbaustein wird von einem anderen Funktionsbaustein aufgerufen, der in der MAIN aufgerufen wird. Wird jetzt der ganze Funktionsbaustein der in der Main aufgerufen wird gespeichert?
    Nein, nur der FB, der die persistente Variable enthält.
    Zitat Zitat von Sireth Beitrag anzeigen
    1s USV, Ich verwende den Funktionsbaustein FB_S_UPS_CX80xx
    fbUPS(
    sNetID:= sAmsNetiIdCX8090,
    iPLCPort:=801 ,
    tTimeout:=DEFAULT_ADS_TIMEOUT ,
    eUpsMode:=eSUPS_CheckPowerstatus(*WrPersistData_NoShutdown*) ,
    ePersistentMode:=SPDM_2PASS ,
    tRecoverTime:= T#10s,
    bPowerFailDetect=>UPS ,
    eState=> );

    Mit UPS starte ich dann die Verzögerung bis FB_WritePersistentData ausgeführt wird
    Wenn die Verzögerung nicht zu lang ist, sollte das funktionieren.
    Hast Du mittlerweile die Grösse der persistenten Daten ermittelt?

  7. Folgender Benutzer sagt Danke zu StructuredTrash für den nützlichen Beitrag:

    Sireth (16.03.2015)

  8. #17
    Registriert seit
    25.11.2010
    Ort
    OWL
    Beiträge
    760
    Danke
    27
    Erhielt 166 Danke für 144 Beiträge

    Standard

    Zitat Zitat von weißnix_ Beitrag anzeigen
    Das ist richtig, jedoch hat Beckhof die 128kB-NOVRAM-Klemme zum nachrüsten.
    Ja, die kenne ich nur zu gut. Im Versuchsaufbau hat der zyklische Modus einwandfrei funktioniert, in einer konkreten Anwendung hatte ich aber des Öfteren nur noch Nullen nach dem Einschalten. Mit dem gleichen Verhalten habe ich mich beim NOVRAM der CX10x0-Netzteile schon mal eine Woche herumgeschlagen, bis der Beckhoff-Support mir mitteilte, dass beim Einsatz des E-Bus eine ungünstige Verkettung von Ereignissen dazu führen könnte. Bei der EL6080 bin ich deshalb sofort auf
    die azyklische Speicherung umgestiegen, die Konfiguration der Klemme ist dabei allerdings abenteuerlich, um es mal vornehm auszudrücken.

  9. #18
    Sireth ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    22.01.2015
    Beiträge
    24
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von StructuredTrash Beitrag anzeigen
    Hast Du mittlerweile die Grösse der persistenten Daten ermittelt?
    Naja ich weiß nicht recht was ich da alles mit einbeziehen muss... also zB. für eine UINT-Variable würde ich jetzt 16BIT Rechnen, das ist ja noch recht simpel, aber was ist mit meinen Strukturen? brauchen die neben den einzelnen Elementen die sie enthalten noch weiteren Speicher ? Und ich habe noch einen Funktionsblock TON in einer Struktur gespeichert, was verbraucht der an Speicher? Ich hab jetzt immer mal etwas Zuschlag gemacht so dass ich vielleicht mit etwas zu viel Rechne, ... damit komme ich über 1MBYTE

  10. #19
    Registriert seit
    25.11.2010
    Ort
    OWL
    Beiträge
    760
    Danke
    27
    Erhielt 166 Danke für 144 Beiträge

    Standard

    Über 1 MB wären allerdings kritisch, da laut Beckhoff die Sekunden-USV für max. 1 MB ausreicht. Aber bist Du sicher, dass es soviel ist? Wenn ich Dich richtig verstanden habe, befindet sich zumindest der Grossteil der persistenten Daten in einer Array of Struct-Variablen. Deren Grösse könntest Du zur Laufzeit mit der SizeOf-Funktion ermitteln.

  11. Folgender Benutzer sagt Danke zu StructuredTrash für den nützlichen Beitrag:

    Sireth (17.03.2015)

  12. #20
    Sireth ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    22.01.2015
    Beiträge
    24
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hmmh mir scheint ich habe mächtig untertrieben... alleine das ARRAY benötigt schon 1800 BYTE
    Ist ies vielleicht möglich nicht das ganze ARRAY mit allen Strukturelementen als Persistent zu deklarieren, sondern nur einige Elemente der Strukturen? Wobei ich vermute das selbst das mir nicht helfen wird...

Ähnliche Themen

  1. Beckhoff CX-5020 Persistente Daten
    Von Leto im Forum CODESYS und IEC61131
    Antworten: 19
    Letzter Beitrag: 14.11.2012, 14:33
  2. Umändern der Persistente Daten
    Von j_poool im Forum CODESYS und IEC61131
    Antworten: 9
    Letzter Beitrag: 10.11.2011, 23:30
  3. DB-Daten beim Programmladen retten
    Von Feng im Forum Simatic
    Antworten: 20
    Letzter Beitrag: 04.06.2011, 13:51
  4. Persistente oder Remanente daten??
    Von COOLT im Forum CODESYS und IEC61131
    Antworten: 16
    Letzter Beitrag: 14.08.2009, 11:50
  5. Antworten: 17
    Letzter Beitrag: 13.05.2008, 09:41

Stichworte

Lesezeichen

Berechtigungen

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