Normalerweise gilt Folgendes: Auch wenn nur eine lokale Variable in einem Funktionsbaustein oder einer Struktur als persistent deklariert ist, werden bei Verwendung einer Instanz automatisch alle Komponenten in der persistenten Information (persist.dat) auf dem Laufzeitsystem gespeichert. Um Platz zu sparen, können Sie das Pragma
{nonpersistent}
in der Deklaration des Funktionsbausteins bzw. der Struktur. Sie bewirkt, dass nur die Komponenten des Funktionsbausteins bzw. der Struktur, die als "persistent" deklariert sind, in die persistente Info eingetragen werden.
Beispiel
Wenn eine Instanz des folgenden Funktionsbausteins als persistent deklariert wird, werden nur die Variablen local und fblevel3 in die persistente Info geschrieben. Ohne pragma {nonpersistent} würden alle Funktionsbausteinvariablen dort gespeichert werden.
FUNCTION_BLOCK FB_Level_2 {nonpersistent} VAR_INPUT bvar_in : BOOL; END_VAR VAR_OUTPUT bvar_out : BOOL; END_VAR VAR ivar2 : INT; END_VAR VAR PERSISTENT local : INT := 33; fblevel3 : FB_Level_3; END_VAR