Step 7 S7-417 H Ladespeicher voll

Beiträge
16
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich habe bei einer 417-H CPU die Hardwarekonfiguration während eines Anlagenstillstands erweitert. Als ich die Datenbausteine mit den Aktualwerten zurückladen wollte war der Ladespeicher (ca.99%) voll. Komprimieren war natürlich erfolglos. In den CPU's stecken 8MB FLASH Cards. Bringt es etwas den Flash-Speicher zu erweitern oder muss ich mich einfach cleverer anstellen ?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
In den CPU's stecken 8MB FLASH Cards. Bringt es etwas den Flash-Speicher zu erweitern oder muss ich mich einfach cleverer anstellen ?
Der in der CPU integrierte Ladespeicher RAM hat nur wenig Platz für kleinere (testweise) Software-Änderungen. Üblicherweise ist eine FLASH-MC gesteckt - dann muß man das Programm nach den Änderungen auf die FLASH-MC laden (Ladespeicher EPROM) mit: Zielsystem > Anwenderprogramm laden auf Memory Card
Das geht allerdings nur im STOP der CPU, so daß es gerne vergessen wird oder erst gemacht wird wenn der interne Ladespeicher RAM voll ist. Achtung: solange Programmänderungen nur im internen Ladespeicher RAM liegen, werden sie bei Urlöschen durch die (älteren) Bausteine von der FLASH-MC ersetzt!

Man muß keine RAM-MC stecken. Wenn man sicherstellen will, daß das Programm bei Batterieproblemen oder bestimmten CPU-Firmware-Problemen nicht weg ist, dann steckt man FLASH-MC als Ladespeicher EPROM - da geht das Programm nicht verloren (allerdings werden beim Urlöschen die DB-Aktualdaten mit den Werten von der MC initialisiert).

Harald
 
Als ich die Datenbausteine mit den Aktualwerten zurückladen wollte war der Ladespeicher (ca.99%) voll.
Das war vermutlich nicht der richtige Weg um die Aktualwerte wiederherzustellen bei FLASH-MC. Wenn man die Aktualwerte per "Variable steuern" (VAT) in den Arbeitsspeicher zurückschreibt, dann wird der Ladespeicher nicht verwendet/verändert. Wenn man den ganzen DB in die CPU lädt dann wird er in den Ladespeicher RAM geschrieben.

Harald
 
Ich habe jetzt wie beschrieben "Zielsystem > Anwenderprogramm laden auf Memory Card" ausgeführt.
Dann habe ich die SPS gestartet und die DB's in den Ladespeicher RAM zurückkopiert. Die Ladespeicher RAM ist jetzt bei 44%.

Wenn man die Aktualwerte per "Variable steuern" (VAT) in den Arbeitsspeicher zurückschreibt, dann wird der Ladespeicher nicht verwendet/verändert.

Ich habe dazu auf die schnelle noch nichts gefunden, wird das vllt. im Handbuch oder einem FAQ beschrieben?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wenn man die Aktualwerte per "Variable steuern" (VAT) in den Arbeitsspeicher zurückschreibt, dann wird der Ladespeicher nicht verwendet/verändert.
Ich habe dazu auf die schnelle noch nichts gefunden, wird das vllt. im Handbuch oder einem FAQ beschrieben?
Dazu finde ich auf die Schnelle auch nichts - das sollte man aber einfach wissen wenn man mit S7-SPS rumspielt.
- "Variablen steuern" ändert den Wert von Variablen nur im Arbeitsspeicher.
- Jedes Laden von Bausteinen in die S7-400-CPU lädt die Bausteine in den Ladespeicher RAM und von da in den Arbeitsspeicher.
- beim Laden von DB in die CPU werden die online Aktualdaten im Arbeitsspeicher mit den gerade in den Ladespeicher geladenen offline Aktualdaten initialisiert.
- beim Herausladen von DB aus der CPU werden die DB aus dem Ladespeicher (wenn da vorhanden) mit den online Aktualdaten aus dem Arbeitsspeicher (wenn da vorhanden) herausgeladen


Ich habe jetzt wie beschrieben "Zielsystem > Anwenderprogramm laden auf Memory Card" ausgeführt.
Dann habe ich die SPS gestartet und die DB's in den Ladespeicher RAM zurückkopiert. Die Ladespeicher RAM ist jetzt bei 44%.
Dieses Vorgehen ist bei FLASH-Speicherkarte relativ sinnfrei. Du hast Glück, daß Deine DB komplett in den integrierten Ladespeicher RAM passen. Was würdest Du tun, wenn Deine DB nicht alle in den integrierten Ladespeicher RAM passen? Dafür muß es doch auch eine Lösung geben ...

Wenn Du nun ein "Zielsystem > Anwenderprogramm laden auf Memory Card" aus Deinem offline-Projekt gemacht hast und danach noch vorher gesicherte Aktualwerte durch nachträgliches laden in die CPU wiederhergestellt hast, dann ist nicht sicher, daß deine CPU nach einem Kaltstart ohne Programmierer-Eingriff das Anwenderprogramm wieder vernünftig starten kann.

Man muß für alle DB nachdenken, welche Werte bei CPU-Kaltstart bzw. nach Urlöschen die Anfangs-Aktualdaten sein sollen. Diese Werte müssen vor dem "Zielsystem > Anwenderprogramm laden auf Memory Card" im offline DB (im Projekt) als Aktualwerte eingetragen sein.
Maschinen-Einstellwerte, Rezepturen und ähnliches können vermutlich auch die zuletzt online eingestellten Aktualwerte sein - diese kann man vor dem "Zielsystem > Anwenderprogramm laden auf Memory Card" aus der CPU ins offline Projekt zurückladen, dadurch werden sie auch nach dem Laden auf Memory Card zu anfänglichen Aktualdaten und müssen danach nicht noch extra wieder eingestellt werden.
Man kann aber nicht einfach pauschal alle DB aus der CPU ins Projekt zurückkopieren. Es gibt auch Werte, wo es unerwünscht oder gar gefährlich wird, wenn man die Aktualdaten der laufenden Maschine aus dem Arbeitsspeicher als anfängliche Aktualdaten nach Kaltstart/Urlöschen verwendet, wie Schrittketten-Variablen, Objekt-Betriebsarten, aus dem Prozess berechnete Werte ... eventuell sind auch noch Variablen vorhanden, die bei Kaltstart der CPU ein besonderes Verhalten steuern sollen und deshalb im Ladespeicher unbedingt einen bestimmten Wert (z.B. 0) haben müssen und dann nach Ihrer Verarbeitung im Arbeitsspeicher auf einen anderen Wert gesetzt werden.

Harald
 
Zurück
Oben