BC3150 Retain Variablen nicht remanent

maximb

Level-1
Beiträge
42
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
für mein aktuelles Projekt brauche ich unbedingt remanente Variablen, doch der BC3150 will diese einfach nicht übernehmen...jedenfalls nicht langfristig.
Ich habe die Variablen so deklariert:
Code:
VAR_GLOBAL PERSISTENT RETAIN
    var_a:BYTE;
    var_b: ARRAY [0..9] OF WORD;
END_VAR
Jedoch behalten die retain Variablen ihre Werte nur genauso lange wie normale Variablen. Sowohl nach einem Urlöschen, einem Reset und einem Neustart der Steuerung durch entfernen des Stroms sind sie wieder auf 0. Dabei hat der BC3150 2kb für remanente Daten und beim Übersetzen wird mir auch angezeigt, dass Speicherplatz im Retainbereich reserviert wurde. Ich weise den retain Variablen die Werte im Programm wie ganz normalen Variablen mit var_a:=12 zu. Ist das vielleicht das Problem? Oder habe ich ausversehen irgendwo eine Checkbox o.ä. deaktiviert?

Danke im voraus!

Edit: Nun werden die Daten doch gespeichert. Die persistent retain Variablen werden bei einem Reset aber trotzdem wieder zu 0, obwohl es laut InfoSys nicht passieren sollte:
Dieser Befehl setzt mit Ausnahme der Persistent-Variablen (VAR PERSISTENT) alle Variablen auf den Wert zurück, mit dem sie initialisiert wurden (also auch die mit VAR RETAIN deklarierten Variablen !).
 
Zuletzt bearbeitet:
Hallo,

Beim urlöschen werden alle Daten gelöscht ob Retain oder Persistent.

Ansonsten bleiben die Daten erhalten, wenn man den Teilnehmer "richtig" runterfährt.

Ansonsten musst du folgendes einstellen (siehe Bild)

Ich weiß nicht genau wie es beim BC3150 ist, aber bei einer CX1000 kann man im System Manager noch zusätzlich einstellen ob auf Plausibilität der RetainDaten kontrolliert werden soll.

gruß bonatus
 

Anhänge

  • plc_eigen.jpg
    plc_eigen.jpg
    67,4 KB · Aufrufe: 65
Zuviel Werbung?
-> Hier kostenlos registrieren
Habe gerade die Eigenschaftem so eingestellt, wie du sagtest(Bild). Nun verlieren die Retain Variablen nach einem Stromausfall wieder ihren Wert. Habs auch versucht zu deaktivieren, hat aber nichts gebracht.

Mit dem System Manager hab ich so meine Probleme. Ich programmiere den BC über das RS232 Kabel und kriege es nicht hin, den BC im System Manager vernünftig einzufügen...

Und nach einem Reset müssten die persistenten Variablen ihre Werte beibehalten, doch auch das funktioniert nicht. Werden immer wieder zu 0.
 
Zuletzt bearbeitet:
Jetzt ja :)

Wusste nicht, dass es notwendig ist :sm5: Jetzt werden die aber scheinbar richtig gespeichert. Danke euch beiden! Nur die Sache mit den persistenten Variablen klappt immernoch nicht.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

wenn du Variablen als Retain und Persistent deklarierst gehen diese nach einem Stromausfall weg das ist richtig. Du kannst im System Manger unter System - Konfiguration einstellen ob eine Plausibilitäts kontrolle gemacht wird oder nicht. Standartmäßig ist diese auf Kontrolle eingestellt - deshalb gehen die Daten nach eine Stromausfall weg. Du musst den Teilnehmer "runterfahren".
 
Also bei mir werden die Werte der retain persistent Variablen nach einem Stromausfall gerade gespeichert und bleiben unverändert. So ist es auch gewollt und da fass ich auch lieber nichts mehr an :)
Doch laut InfoSys sollen die persistenten Variablen ihre Werte auch nach einem Reset behalten. Das ist bei mir nicht der Fall. Ich habe aber schon im Forum gelesen, dass es wohl Controller gibt, die keine persistenten Variablen unterstützen und zu denen wird wohl auch leider der BC3150 gehören.
 
ich denke nach dem Bootprojekt erzeugen wird die SW hochgeladen und das sollte dann passen. Wenn du kein Bootprojekt erzeugst ist nähmlich alles weg. Und deshalb auch nix da wenn du nach dem hochfahren wieder alles lädst.
 
Zurück
Oben