S7-222: Daten in Datenbausteinen

reini69

Level-1
Beiträge
72
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Tach zuamm' !

Ich habe eine S7 CPU-222, zwei Fragen dazu:

1) Wenn ich ein Programm vom PC auf die SPS herunterlade, werden die Werte im V-Bereich mit 0 überschrieben, auch wenn diese Variablen im "Datenbaustein" nicht deklariert sind. Die Variablen, die ich im Datenbaustein mit Werten (z.B. 1000) versehen habe, werden auch mit diesen Werten überschrieben. Wie kann ich nun verhindern, dass nicht angegebene V-Bereiche nicht mit 0 überschrieben werden ?
2) Ich habe 8 Doppelwortwerte und 8 Wortwerte die ich remanent behalten möchte. Bisher habe ich diese im V-Bereich, diese werden aber mit 0 überschrieben wenn ich eine neue Programmversion auf die CPU herunterlade (siehe Frage 1). Ich habe überlegt sie stattdessen in den M-Bereich zu legen, dieser ist aber nur 32 Bytes groß. Gibt es noch einen anderen Bereich den ich hierfür verwenden kann. Wie sieht es mit dem SM-Bereich aus, kann ich da einen Bereich verwenden ?

Danke schonmal vorab.
 
Zunächst einmal kannst du deim Laden einer neuen Programmversion angeben, welche der folgenden Teile übertragen werden sollen:
1.Ausfühbares Programm
2. Datenbaustein
3. Systemdaten

Wann du nur das erste markierst, bleibt der V-Bereich erhalten.

Du kannst die ersten 14 Merkerworte als remanent definieren. Die CPU schreibt sie bei Spannungsausfall inss EEPROM. (Systemhandbuch Kapitel 4, Seite 35).
 
Daten in S7-222

Erstmal vielen Dank für die schnelle Antwort

Das mit dem Datenbaustein nicht zum Download markieren habe ich
bereits versucht und dennoch wurden die Werte mit 0 überschrieben. Allerdings hast Du gesagt, ich soll nur das erste markieren, also auch nicht die Systemdaten. Die waren bisher immer markiert, kann es daran liegen ?

Das mit den Merkern ist mir auch bekannt. Aber Du hast ja selbst geschrieben dass ich nur die ersten 14 Merkerworte remanent halten kann. Was ich bräuchte ist aber ein Bereich von 24 Worten...
 
Re: Daten in S7-222

reini69 schrieb:
Das mit dem Datenbaustein nicht zum Download markieren habe ich
bereits versucht und dennoch wurden die Werte mit 0 überschrieben.
Mmmhh... Habe jetzt das Systemhandbuch nicht zur Hand. Wen ich es richtig sehe, wird der V-Bereich beim Anlauf mit dem Inhalt des DB überschrieben. Wenn ich nun gesagt habe, der V-Bereich bleibt erhalten, so könnten bei mir zwei Dinge anders gewesen sein:
1. Ich habe mein Programmmeist online verändert (Programm in RUN berarbeiten).
2. Mein DB könnte kürzer sein, so daß nur der 1. Teil des V-Bereichs überschrieben wurde. Keine Ahnung, ob das überhaupt möglich ist.
Allerdings hast Du gesagt, ich soll nur das erste markieren, also auch nicht die Systemdaten. Die waren bisher immer markiert, kann es daran liegen ?
Das LAden der Systemdaten wird wohl ohne Stop und Run nicht gehen.
Das mit den Merkern ist mir auch bekannt. Aber Du hast ja selbst geschrieben dass ich nur die ersten 14 Merkerworte remanent halten kann. Was ich bräuchte ist aber ein Bereich von 24 Worten...
Tja, den gibt es wohl nicht. Wenn es Einstelldaten sind, könntest du versuchen, die Daten in 14 Byte zu packen, indem du:
a) Einen Wert speicherst und für die anderen nur die Differenzen zum 1.
b) Nur die Differenzen zu einer Standard-Einstellung speicherst.
c) Eine Tabelle mit festen Einstellungen vorsiehst und nur die Nummer des Eintrags speicherst.
Ob und was gehen könnte, hängt von der Art deiner Daten ab.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Systemfunktion

Wenn ich mich recht erinnere gibt es eine Moeglichkeit Daten auf der Memorycard zu speichern. Man muss dazu bestimmte Bits in den Systemdaten setzen. Muesste eigentlich im Handbuch stehen.
Auf jeden Fall sollte man das nicht in jedem Zyklus tun, da sonst irgendwann die Karte abschmiert.... :wink:
 
Zurück
Oben