HSL 2.0-Framework  1.9
Beschreibung des Frameworks
Remanentspeicher

Remanente Bausteine und remanente Variable

Remanente Bausteine

Variablen in remanenten Bausteinen

Damit ein HSL(2.0)-Baustein Daten remanent speichern kann, müssen remanente Variablen definiert werden.

Remanente Variable

Wie werden remanente Variablen behandelt?

Zum Start eines Bausteins kann eine remanente Variable mit der Methode BaseModule::_get_remanent ausgelesen werden. Zur Laufzeit kann die remanente Variable mit BaseModule::_set_remanent beschrieben werden.

Warnung
Nur beim Initialisieren gibt BaseModule::_get_remanent den tatsächlichen Inhalt des Remanentspeichers wieder. Wird BaseModule::_get_remanent während der Laufzeit aufgerufen, wird der Wert zurück geliefert, der zuletzt durch BaseModule::_set_remanent geschrieben wurde. Dies muss nicht dem Stand entsprechen, der im nicht-flüchtigen Speicher gespeichert ist!
Der HS/FS schreibt etwa alle 15 Minuten seine remanenten Daten in den nicht-flüchtigen Speicher!

Im Beispielcode wird beim Systemstart eine remanente Variable ausgelesen. Enthält diese Variable einen gültigen numerischen Wert, wird der Wert in die Ergebnis-Variable geschrieben, andernfalls wird die Variable mit 0 initialisiert. Mit jedem eintreffenden Telegramm wird der Zähler um eins erhöht, das Ergebnis wird in die remanente Variable, auf Ausgang 1 und auf die Debug-Seite geschrieben. Desweiteren wird ein Zähler auf der Debug-Seite erhöht, der alle Telegramme während der Laufzeit des HS/FS zählt.

Ein Beispiel für die Umsetzung eines remanenten Zählers mit Ausgabe auf der Debug-Seite liegt bei: 10702_hsl20_2_BaseModule_02.py

Änderungen V1.9:
Namespace 'hsl20_1' umbenannt in 'hsl20_2'
Beispiel als Script beigelegt, anstatt den Code hier anzuzeigen