Retain Persistent

Johnson

Level-1
Beiträge
11
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Tag,
Ich arbeite an einem Programm, dass auf einem Wago controller läuft und mit Codesys erstellt wurde.
Ich wollte nun zwei Variabeln remanent machen.
Das hab ich wie folgt gemacht:
VAR RETAIN PERSISTENT
Skalierung41: WORD;
Skalierung42: WORD;
END_VAR

Nun wird der Wert von "Skalierung42" nach einem neustart oder neuen Programm laden gespeichert, der Wert von "Skalierung41" jedoch nicht.
Ich habe bereits den Variabeln namen geändert um zu testen ob eine Doppelbelegung vorhanden ist.
Ich hoffe ihr habt Ideen woher das Problem kommt und könnt mir helfen.
Mit freundlichen Grüssen
Yannick
 
Ich kenne die Wago Controller nicht, aber über welche CoDeSys Version reden wir? V2 oder V3?

ab V3 reicht die Variablendeklaration

VAR PERSISTENT
END_VAR

Aber das sollte keinen Unterschied machen.

Wird die Variable, die nicht funktioniert irgendwann vom Programm z.B. im ersten Zyklus direkt überschrieben?

Bei unseren Controllern gibt es (leider) Unterschiede, ob die persistent Variablen als VAR oder als VAR_GLOBAL angelegt sind. Sollte nicht so sein, ist aber aber manchmal so.

Also, ich würde mal mit der Deklaration rumspielen. VAR_GLOBAL benutzen anstatt VAR. PERSISTENT benutzen anstatt PERSISTENT RETAIN. Querverweise checken, ob die Variable irgendwo im Programm geschrieben wird.

Nur mal so als Tipps.....
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich arbeite mit der Codesys V2.3 Software. Da ich die Variabeln schon mehrfach umbenennt habe, das Problemjedoch bestehen blieb gehe ich davon aus, dass keine Doppelbelegung vorhanden ist. Die Querverweise habe ich auch kontrolliert und mit dem VAR und VAR GLOBAL hab ich auch schon herumprobiert.
Trozdem vielen Dank für deine Antwort
 
Zurück
Oben