"Unsichtbare" FB_WritePersistensData bei CX8090, TC2

ssyn

Level-2
Beiträge
230
Reaktionspunkte
23
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Tag, zusammen

Technik: CX8090 mit TC2

Ich arbeite bei einem Projekt, wo in der Steuerung in letzte Zeit werden manchmal die Presistens Retain Daten (PRD) verloren. Ich vergleichte vorletzte und letzte Versionen und fand da einen neue Code, die dafür verantwortlich sein könnte.

In PLC_PRG für Speicherung steht Aufruf von standarte FB für Speicherung von (PRD) - FB_S_UPS_CX80xx

1726218072448.png

1726218087585.png
offline

1726218106900.png
Online


Aber außerdem in letzte Version wurde noch einen FB ergänzt - FB_WritePersistentData. Ich habe die Beschreibung auf Webseite von Beckhoff gefunden, aber kann leider nicht verstehen, wofür man braucht es.

1726218335749.png

1726218353689.png
offline

1726218373072.png
online

Ich möchte diese FB sehen, Querverweis gucken und bekam folgende Info

1726218456455.png

Aber wenn ich gucke FB_S_UPS_CX80XX, ich fand keine Info über diese FB

1726218543559.png

Obwohl wenn Programm läuft, dieser FB aktiv und läuft.
Bool Variable StartWriteDate ist nirgendwo geschrieben und nur einmal in PLC_PRG gelesen.

Meine Vermutung ist, dass diese zwei FB gleiche oder ähnliche Aufgabe machen und deswegen manchmal werden PRDaten verloren - Konflikt beim gleichzeitigen Schreiben von Daten.

Ich habe mehrere Stunden bei diese Frage verbracht, fragte bei Beckhoff Support, habe viel Handbücher gelesen, aber bin nicht zum Lösung gekommen. :(

Vielleicht hat jemand Idee, Vermutung ? Ich würde über jede Vermutung dankbar sein.
 

Anhänge

  • 1726218057102.png
    1726218057102.png
    9,1 KB · Aufrufe: 1
Der Baustein sollte nur einmal aufgerufen werden.

Ob das aber Probleme macht den mehrfach aufzurufen, weiß ich nicht.

Der Sinn ist ja nur: Wenn die Stromversorgung verloren geht, wird das TwinCAT-System gestoppt, was dann in der Folge zum Schreiben der persistenten Daten führt.

Weil das System nur einmal gestoppt werden kann, hätte ich jetzt gesagt, dass ein mehrfacher Aufruf keine Probleme verursachen sollte.

Aber notwendig ist das nicht, ein einfacher Aufruf im Haupt-Task irgendwo reicht.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Der FB_WritePersistentData sollte meiner Meinung nach nur bei Bedarf aufgerufen werden weil sonst der Speicher totgeschrieben wird. Sinnvoll dürfte er im UPS Baustein drin sein, wenn Stromausfall detektiert wird sollen die Variablen geschrieben werden.

Was ist TSK1 für ein Task?
Welche Bedingung ist im Aufruf innerhalb PLC_PRG programmiert?
 
Der Aufruf von FB_WritePersistentData sollte mit 1s-USV überhaupt nicht notwendig sein.
Bei zu häufigem Aufruf (alle x Sekunden) können die vielen Schreibzugriffe den Speicher beschädigen.

Ich verstehe nicht, ob diese FB überhaupt läuft bei Kunden (hab keinen Online-Zugriff nun, komme auf diese Woche hin).
Wenn ich richtig verstanden, FB startet nur wenn diese Variable StartWriteDate ist True. Und direkt in PRG es ist nur gelesen, aber nirgendwo geschrieben. Rein theoretisch (ich bin nicht 100% sicher), dieser FB könnte nur gestartet werden, wenn jemand online verbunden ist und manuell setzt diese Variable. Aber diese Variable ist nicht Remanent und nach erste Ausschaltung muss False sein.
Oder dieser FB (FB_WritePersistentData ) muss nur einmal aktiviert werden? Und danach läuft es automatisch ohne Stop?

Und FB FB_S_UPS_CX80xx muss automatisch gestart werden nur, wenn Steuerung keine Spannung plötzlich hat.
 
Zurück
Oben