Beckhoff CX-5020 Persistente Daten

Leto

Level-1
Beiträge
53
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin zusammen,

ich habe mal wieder ein Problem mit meiner Beckhoff CX-5020. Und zwar verfügt die besagte Beckhoff über eine sogenannte 1 Sekunden USV, die es ermöglicht bei einem Spannungsausfall deklarierte Persistene Daten abzuspeichern. In dem bestehenden Projekt ist eine Liste von Persistenten Variablen angelegt, welche auch ordnungsgemäß gespeichert werden. In diese Liste habe ich nun eine weitere Variable aufgenommen, die ebenfalls persistent gespeichert werden soll. Wird Sie aber leider nicht.

Muss ich mit der Variablen noch etwas anderes machen als sie unter VAR_GLOBAL PERSISTENT <> END_VAR anzulegen?


Besten Dank schonmal
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin,

Ja, die Funktion FB_S_UPS wird aufgerufen. Zuvor waren ja auch schon ca. 14 Variablen als persistent deklariert, die werden wunderbar gespeichert. Nur wenn ich eine neue Variable hinzufügen will klappt das irgendwie nicht.

Muss ich beim drauf spielen des Projekts vllt noch irgendwas beachten?schreibschutz wegnehmen etc.?
 
Hallo Leto,

mehr wie hier sollte nicht notwendig sein. Bitte gib mir aber Bescheid, wenn du doch noch was findest…
Arbeitest du mit der neusten TwinCAT- Version?
Ansonsten würde ich auf Verdacht mal alles „Bereinigen“ und „neu übersetzen“.

Gruß
Chräshe
 
Moin,

ich muss leider sagen, das selbst nach stundenlangen Telefonaten mit der Beckhoffhotline wir zu keiner funktionierenden Lösung gekommen sind.

Will heißen: Die Persistenten Daten werden nicht gespeichert, wenn die Spannung an der Steuerung abfällt. Dies ist für mich sehr unbefriedigend, denn wofür hab ich dann extra eine CPU mit 1-Sekunden-USV ausgewählt?

Auch das Speichern der Per. Daten über den Funktionsblock "FB_WritePersistentData" funktioniert nicht. Der Funktionsblock geht sofort nach dem Aufrufen in den Fehler 1861 (timeout elapsed).

Jemand eine Idee, woran das liegen könnte?

Gruß
 
Hi,

leider nein. Der Baustein erkennt zwar den Spannungsausfall (bPowerFailDetected=True), dennoch werden die Variablen nicht geschrieben.

Es handelt sich hier um 20x UDINT.

Der Routerspeicher im SystemManager wurde schon von 2048 auf 4096 erhöht, aber leider auch ohne Erfolg.

Anfangs war der Standart-Timeout eingestellt, wie er in der Hilfe steht (5s). Habe den Wert aber auch schonmal testweise auf 20s erhöht, aber auch ohne Erfolg.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ja. Wenn ich das CX-System ganz normal auschalte oder neu hochfahre werden die Daten einwandfrei gespeichert. Aber das ist ja in einer Industrieanlage eigentlich nie der Fall, da an der CX normalerweise garkein Monitor angeschlossen ist.

Ich bekomme jedoch ab und zu nach dem hochfahren eine Fehlermeldung auf dem CX.

Fehlermeldung Beckhoff CX5020 Persistente Daten nach Booten.JPG
 
Das sind aber nicht die persistent sondern die retain Daten??? Beides im Projekt? Die Meldung der Retains ist das einzige Problem?

Tipps zum Test:
Persistent sollte reichen, wenn es so im Projekt deklariert ist. Dann die Checkbox "Load/Store Retain Data" abwählen. Ebenso die Checkboxen "Clear Invalid Retain Data" und "Clear Invalid Persistent Data".
 
Im Projekt sind nur persistente Variablen deklariert, keine retain Variablen. Es ist auf jedenfall die einzige Fehlermeldung die aufpoppt.

Habe jetzt mal alle drei Checkboxen abgewählt ("Invalid Retain Data" und "Clear Invalid Persistent Data" waren vorher auch schon abgewählt, "Load/Store Retain Data" war angewählt). Leider keine Veränderung beim Speichern der persistenten Daten.
 
Sry, falsch ausgedrückt.

Die Meldung ist bis jetzt nicht mehr aufgetaucht, aber die Persistenten Daten werden immer noch nicht beim Spannungsausfall gespeichert.
 
Seltsam! Der Baustein wird wirklich zyklisch aufgerufen? Doku auch angeschaut? Ansonsten hilft wohl nur eine haarkleine Fehlersuche. Z.B. Liegt es am Projekt -> Miniprojekt zum Test nehmen, ob generell es nicht klappt, Bootflags auswerten, etc.

Der Funktionsbaustein FB_S_UPS kann auf PCs mit Sekunden-USV verwendet werden, um die Sekunden-USV aus der SPS anzusteuern. Hiermit können bei Spannungsausfall noch die Persistenten Daten gespeichert und ein QuickShutdown ausgeführt werden. Wenn möglich sollten die Defaultwerte der INPUTs des FB_S_UPS beibehalten werden.

Attention_A4.gif

Achtung
Datenverlust
Die Sekunden-USV kann bei Spannungsausfall nur für wenige Sekunden verwendet werden, um z.B. Persistente Daten zu speichern. Das Speichern der Daten muss im schnellen Persistent Modus "SPDM_2PASS" erfolgen, auch wenn es hier zu Echtzeitverletzungen kommen kann. Zum Speichern der Persistenten Daten muss hinreichend Routerspeicher konfiguriert werden!
Für das Überbrücken von Spannungsausfällen hat die Sekunden-USV nicht genügend Kapazität. Das Speichern kann nur auf der Compact Flash Karte erfolgen, da auch für den Betrieb einer Festplatte nicht genügend USV-Kapazität vorhanden ist.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das haben die Mitarbeiter an der Support Hotline von Beckhoff auch gesagt. An der Steuerung selbst kann es aber nicht liegen, habe es schon auf 2 verschiedenen ausprobiert.
Ein kleines Testprogramm habe ich auch schonmal ausprobiert, wo nur 2 persistente Variablen geschrieben werden sollten, auch ohne Erfolg.

Muss man im BIOS oder in den Power Options denn noch was einstellen?

Im BIOS ist war die UPS auf Enable, in den Power Options unter Windows gibt es aber noch einen Reiter UPS. Dort ist keine UPS ausgewählt und unten steht ein Warntext: "The UPS service is currently stopped."

Oder ist das nur für eine externe USV?
 
Und das kleine Testprogramm mit "FB_WritePersistentData" schreibt auch nicht erfolgreich? Verzeichnis geschützt? Entsprechend die Dateien einmal angeschaut?
 
Morgen,

ja, auch das kleine SPS Programm geht direkt in den Timeou-Fehler, der ja eg erst nach 5s kommen dürfte. Ist die Konfiguration des Bausteins denn so ok (siehe Bild)?

Persistente Daten.JPG

Die Beckhoff ist grundsätzlich über den FBWF Manager geschützt, unter Exclusion Settings sind jedoch folgende Ausnahmen eingetragen:

\Data
\RegfData
\TwinCAT\Boot

So sollte es doch eg richtig sein, zumindest nach der Hilfe.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ok, der Fehler ist gefixt, endlich!

Der Beckhoff Support hat verlauten lassen, das es mit der TcSUPS.lib und den Beckhoff CX50xx Modellen Probleme gegeben hat. Daraufhin ist eine neue Bibliothek's Version erschienen. Meine Bibliothek war aber noch auf dem alten Stand.

Neue TcSUPS.lib Version eingeladen, BootProjekt erzeugt und zack, läuft das Ding.

Vielen Dank für die Hilfe an alle.
 
Hallo Leto,

wie kommst du an eine fehlerhafte Bibliothek?
Arbeitest du nicht immer mit der aktuellsten Ausgabe?

Die Funktion ist doch in das TwinCAT integriert und wird bei Aktualisierung auch ersetzt…

http://infosys.beckhoff.com/...
Integration in eine SPS
Für die Integration der S-UPS in ein SPS-Programm stehen im TwinCAT spezielle Funktionsbausteine bereit. Diese werden im folgenden Absatz erklärt. Ab TwinCAT 2.11R2 Build2016 ist den notwendige Bibliothek in die Installation integriert. Für ältere Versionen muss die Bibliothek TcSUPS.lib in das Bibliotheksverzeichnis von TwinCAT kopiert werden.

Falls nicht, wäre schon hilfreich, wenn du eine Versions-Angabe der fehlerhaften und gefixten Ausgabe machen könntest…

Gruß
Chräshe
 
Zurück
Oben