Definition und Zweck:
Eine Retain-Variable (oder remanente Variable) ist eine spezielle Art von Variable in der SPS-Programmierung, deren Wert auch nach einem Spannungsausfall oder einem Neustart der Steuerung erhalten bleibt. Sie behält ihren zuletzt gültigen Wert bei, wenn die SPS aus- und wieder eingeschaltet wird oder wenn ein Warmstart durchgeführt wird.
Im Gegensatz dazu werden die Werte von normalen, flüchtigen Variablen bei einem Neustart der SPS mit ihren Initialisierungswerten oder mit Null überschrieben.
Relevanz in der Automatisierungstechnik:
Retain-Variablen sind von entscheidender Bedeutung für die Zuverlässigkeit und den sicheren Wiederanlauf von Maschinen und Anlagen nach einer Betriebsunterbrechung:
- Zählerstände: Zähler, die Produktionsmengen, Zyklusdurchläufe oder Betriebsstunden erfassen, müssen als Retain-Variablen deklariert werden, damit ihr Wert bei einem Neustart nicht verloren geht und die Zählung korrekt fortgesetzt wird.
- Betriebsarten: Der zuletzt aktive Betriebsmodus (z.B. Automatik, Hand) oder der Zustand einer Schrittkette sollte oft remanent gespeichert werden, um nach einem Neustart nicht in einen undefinierten Zustand zu gelangen.
- Rezeptur-Parameter: Aktuell geladene Rezepturparameter oder Produktionswerte, die für den laufenden Batch wichtig sind, können remanent gespeichert werden.
- Sollwerte: Manuell eingegebene Sollwerte können remanent gemacht werden.
- Fehlerflags: Bestimmte kritische Fehlerflags oder Alarmquittierungen können remanent sein, um den Fehlerzustand nach einem Neustart anzuzeigen.
- Wiederanlaufverhalten: Die Werte von Retain-Variablen sind essenziell für die Logik, die das sichere und korrekte Wiederanlaufverhalten einer Maschine nach einer Störung steuert.
Deklaration und Speicherung:
Retain-Variablen müssen im SPS-Programm explizit als „Retain“ oder „Remanent“ deklariert werden. Die SPS speichert diese Variablen in einem speziellen nichtflüchtigen Speicherbereich (z.B. Flash-Speicher oder batteriegepuffertes RAM).
Die Größe des verfügbaren remanenten Speichers ist begrenzt und sollte sorgfältig geplant werden. Ein „Kaltstart“ einer SPS kann dazu führen, dass auch Retain-Variablen initialisiert werden, je nach Herstellereinstellung.
→ Siehe auch: Remanenz, Variable, SPS, Initialisierung, Programmspeicher, Datenbaustein (DB)

