-> 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:
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:
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
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: