Speicher der CPU: Datentypen und Adressierungsarten
7.4
Nullspannungsfestes Speichern von Daten mit Ihrem Programm
Sie können einen Wert (Byte, Wort oder Doppelwort), der sich im Variablenspeicher befindet,
im EEPROM speichern. Auf diese Weise können Sie einen beliebigen Wert des Variablen-
speichers im nullspannungsfesten Bereich des Variablenspeichers ablegen.
Eine Operation zum Speichern im EEPROM verlängert die Zykluszeit um ca. 15 ms bis
20 ms. Wenn Sie einen Wert in den nullspannungsfesten Bereich im EEPROM schreiben,
wird der vorherige Wert an dieser Adresse überschrieben.
Hinweis
Eine Operation zum Speichern im EEPROM aktualisiert nicht die Daten im Speichermodul.
Kopieren von Variablenspeicher in den EEPROM
Sondermerker-Byte 31 (SMB31) und Sondermerker-Wort 32 (SMW32) weisen die CPU an,
einen Wert des Variablenspeichers in den nullspannungsfesten Bereich des Variablenspei-
chers im EEPROM zu kopieren. Bild 7-19 zeigt das Format von SMB31 und SMW32. Gehen
Sie folgendermaßen vor, wenn Sie die CPU so programmieren möchten, daß sie einen
bestimmten Wert in den Variablenspeicher schreibt:
1. Laden Sie die Adresse des Werts im Variablenspeicher, den Sie nullspannungsfest
speichern möchten, in SMW32.
2. Laden Sie die Größe der Daten in SM31.0 und SM31.1 (siehe Bild 7-19.)
3. Setzen Sie SM31.7 auf "1".
Am Ende eines jeden Zyklus prüft die CPU SM31.7. Ist SM31.7 = 1, dann wird der angege-
bene Wert im EEPROM gespeichert. Die Operation ist beendet, wenn die CPU SM31.7 auf
"0" zurücksetzt. Ändern Sie den Wert im Variablenspeicher solange nicht, bis die Operation
ausgeführt ist.
MSB
SMB31
sv
Im EEPROM speichern:
0 = nein
1 = ja
MSB
15
SMW32
Bild 7-19
Format von SMB31 und SMW32
Einschränken des programmierten Speicherns in den EEPROM
Da die Anzahl der Speicheroperationen für den EEPROM begrenzt ist (mindestens 100.000,
typischerweise 1.000.000), sollten Sie darauf achten, daß nur wichtige Werte im EEPROM
gespeichert werden. Andernfalls kann durch einen Ausfall des EEPROM auch die CPU aus-
fallen. Typischerweise führen Sie Speicheroperationen für den EEPROM nur bei besonderen
Ereignissen aus. Diese Ereignisse treten recht selten auf.
Beträgt die Zykluszeit der S7-200 beispielsweise 50 ms und ein Wert würde einmal pro Zyklus
im EEPROM gespeichert werden, dann würde der EEPROM mindestens 5000 Sekunden halten,
d.h. weniger als einundeinhalb Stunden. Würde der Wert allerdings nur einmal pro Stunde
gespeichert werden, dann würde der EERPOM bereits mindestens 11 Jahre halten.
7-16
LSB
7
0
0 0
0
0
0 s1 s0
Adresse im Variablenspeicher
Geben Sie die Adresse im Variablenspeicher als Versatz von V0 an.
Größe des Werts, der gespeichert werden soll:
00 - Byte
01 - Byte
10 - Wort
11 - Doppelwort
Die CPU setzt SM31.7 nach
jeder Speicheroperation
zurück.
LSB
0
Automatisierungssystem S7-200, Systemhandbuch
C79000-G7000-C230-02