Jede Variable, die nicht direkt einer physikalischen Adresse zugeordnet ist, muss vom Compiler einen Speicherplatz zugewiesen bekommen.
Mit
können Sie die Speicherbereiche für selbsthaltenden und nicht selbsthaltenden Speicher festlegen. Die Speicherbereiche sind nochmals unterteilt in System- und Anwenderbereiche. Systembereiche sind für den Compiler reservierte Adressbereiche. Benutzen Sie die Schieber, um die Speicherbereiche einzustellen, oder doppelklicken Sie auf einen Schieber und geben Sie den gewünschten Wert ein.Zu den Speicherbereichen zählen:
Merkerwort WR,
Datenregister DT und
File-Register FL, abhängig vom SPS-Typ
Weitere Informationen finden Sie im Thema "Adressendefinition".
Mit Systembereich abhängig von den globalen Variablen maximieren, wird der Adressbereich für das System auf den maximalen Wert eingestellt. Der Anwenderbereich wird auf den vom Anwender für globale Variablen festgelegten Adressbereich beschränkt.
Verwenden Sie keine expliziten Adressen im Rumpf eines Editors. Diese Adressen werden nicht berücksichtigt, wenn Sie Systembereich abhängig von den globalen Variablen maximieren wählen.
Wenn Sie zum Beispiel R110 und R200 direkt im Rumpf verwenden, werden WR111 und WR20 nicht berücksichtigt.
WR11 und WR20 werden nur dann berücksichtigt, wenn Sie globale Variablen mit expliziten Adressen verwenden, wie im folgenden Beispiel:
Die Werte im nicht selbsthaltenden Bereich gehen bei einem Stromausfall oder beim Umschalten vom RUN- in den PROG-Modus verloren und werden initialisiert. Die Werte im selbsthaltenden Bereich bleiben erhalten. Sie werden erst initialisiert, wenn das Programm auf die Steuerung übertragen wird.
Wenn Sie unter Initialisieren Sie alle Variablen außer globalen RETAIN-Variablen mit expliziten Adressen aktiviert haben, werden Variablen, denen der Anwender Adressen zugewiesen hat, nicht initialisiert. die Option
Die Größe der File-Register (FL) für die FP2, FP3, FP-C und FP5 stellen Sie im Fenster Projekt unter ein.
Die Größe der selbsthaltenden Bereiche stellen Sie im Fenster Projekt unter ein.
Wenn Sie die Compiler-Optionen ändern, müssen Sie das komplette Projekt neu kompilieren.
Der Compiler weist globalen Variablen ohne explizite Adresse automatisch einen Adressbereich zu.
Einige Speicherbereiche sind nicht für alle SPS-Typen verfügbar (hellgrau dargestellt).
Die folgende Tabelle zeigt, welche Klassen und Datentypen in den jeweiligen Speicherbereichen gespeichert werden:
Klasse |
Datentyp |
Speicherbereich |
---|---|---|
VAR, VAR_GLOBAL |
BOOL |
Merkerwort WR, nicht selbsthaltend |
VAR_RETAIN, VAR_GLOBAL_RETAIN |
BOOL |
Merkerwort WR, selbsthaltend |
VAR, VAR_GLOBAL |
INT, DINT, WORD, DWORD, TIME, REAL, STRING |
Datenregister DT, nicht selbsthaltend File-Register FL, nicht selbsthaltend |
VAR_RETAIN, VAR_GLOBAL_RETAIN |
INT, DINT, WORD, DWORD, TIME, REAL, STRING |
Datenregister DT, selbsthaltend File-Register FL, selbsthaltend |
Der Compiler erzeugt automatisch Sprungmarken (Labels), die für Schleifen benötigt werden.
Die Anzahl der Sprungmarken für das System (Compiler) können Sie unter
festlegen.Wählen Sie Standard, um den Compiler zurück auf die Standardeinstellungen zu setzen.