# Retain und Persistent Variable auf wago 750-881



## Antoine Mayer (25 Januar 2012)

Guten tag

Ich brauche in meinem Projekt eine RETAIN PERSISTENT Variable

So habe ich sie in Global_Variables deklariert:


VAR_GLOBAL RETAIN PERSISTENT
	var1: DWORD;
END_VAR

Bei einem Reset behaltet aber die Variable ihren Wert nicht..
Was habe ich falsch gemacht?

Danke im Voraus


----------



## Voxe (25 Januar 2012)

Hallo,

bevor du keine Antwort bekommst, schreibe ich eine Vermutung.

Bei TwinCAT besteht ein Unterschied zwischen RETAIN und PERSISTENT.
Schreibe "VAR_GLOBAL PERSISTENT" anstelle von "VAR_GLOBAL RETAIN PERSISTENT".

RETAIN - Variablen, werden nach einem Programm-Download rückgesetzt, PERSISTENT bleibt erhalten.

Bei Wago, bin ich mir nicht sicher, sollte aber ähnlich sein.

Gruß, Voxe


----------



## Antoine Mayer (25 Januar 2012)

Ja das Stimmt aber Man kann Variablen haben die  RETAIN und PERSISTENT sind.


----------



## Voxe (25 Januar 2012)

Hallo,

es ist eine Staffelung, erst RETAIN, dann PERSISTENT. Doof ist, der Compiler merkt es nicht.
Ein RETAIN, kann eine PERSISTENT sein, aber nicht umgekehrt. Aber, dein Fehler, wird in der Deklaration liegen.

Versuche es einfach.

Gruß, Voxe

PS: PERSISTENT ist RETAIN, RETAIN aber lange nicht PERSISTENT


----------



## Voxe (25 Januar 2012)

Oder anders,

RETAIN: der Wert wird nach Ausschalten behalten, bei Programm-Änderung neu initialisiert.
PERSISTENT: der Wert wird nach Ausschalten und Pogramm_Änderung behalten.

Blöd ist, der Compiler lässt deine Syntax zu, bzw. merkt es nicht. Fehlermeldung bei deinem Quellcode oben, könnte sein "was denn nun", ist aber nicht.

Sollte, das alles nicht so sein, dann bitte Aufklärung.

Gruß, Voxe


----------



## WAGO (2 Februar 2012)

Hallo Antoine,

die Deklaration Var_Global Retain Persistent ist korrekt und sollte auch funktionieren. Deine Meldung ist jetzt schon eine Woche alt. Ist das Thema noch akkut? Bitte gib uns kurz ein Feedback im Forum oder direkt bei dem Wago-Support. Danke.


----------

