TIA Baustein wird nicht übertragen, Speicherplatz komprimieren

xj900mb

Level-2
Beiträge
178
Reaktionspunkte
5
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin Moin

ich habe mit TIA V13 SP 1 Upd7 eine Momentaufnahme aller DBs erzeut und diese dann als Start-Werte übernommen.
Nun muss ich ja alle DBs wieder in die CPU übertragen damit die Zeitstempel gleich sind.
Leider kommt nun die Meldung "CPU_Speicher komprimieren? Speicherplatz reicht nicht aus um dewn Ladevorgang auszuführen".
Komprimieren funktioniert, die Meldung kommt aber immer wieder.

LAdespeicher ist zu 21% frei
Arbeitsspeicher zu 20% frei
Remanenzspeicher Daten 3% frei (<- ist der für die DBs relevant)

Insgesdamt sind es mehr als 100 DBs unterschiedlicher Größe. in Step7 gab es da nie ein Problem die alle auf einmal zu übertragen. Jetzt musste ich sie Gruppenweise oder auch einzeln übertragen und es bleiben 5 DBs die sich trotzdem
nbicht übertragen alssen :-(

sie sind 2700-12200 Bytes groß
 
Was denn für eine CPU, S7-300/400?
Baustein mit TIA in PLCSim laden. TIA-Beenden, Plcsim laufen lassen. Step7 starten, Bausteine aus Plcsim auslesen, und in die SPS schieben.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Problem: einen Baustein in die SPS laden kann man nur, wenn von allen Speicherarten noch mindestens soviel Speicher frei ist wie der Baustein benötigt, weil der Baustein zunächst in den freien Bereich geladen wird und erst danach der vorher vorhandene alte Baustein gelöscht wird. Also wenn ein DB 12000 Byte Remanenzspeicher benötigt, dann müssen zu Beginn des Ladevorgangs noch mindestens 12000 Byte frei sein. Wenn das nicht der Fall ist, dann muß man den alten Baustein vorher online löschen oder verkleinern (oder andere Bausteine löschen oder verkleinern), so daß genügend freier Platz entsteht. Mit Step7 classic ist so ein Ablauf von einem konzentriert handelnden Programmierer eigentlich problemlos machbar, notfalls sogar bei laufender Anlage ohne CPU-Stop. TIA hingegen meint anscheinend, solche Eingriffsmöglichkeiten braucht niemand oder sind zu kompliziert für die TIA-Anwender...

Wie hast du denn die DBs einzeln übertragen?
Db markieren, Laden in Gerät, und dann im Fenster "Vorschau Laden" keine weiteren Bausteine auswählen.
Genau auf diesem Weg (am besten bei CPU-Stop) kannst Du auch den großen DB in die SPS laden, indem Du zuerst den DB im Projekt auf ca. 0 Byte verkleinerst und in die CPU lädst und danach den richtigen DB in die CPU lädst. Dazu am besten mit einer temporären Projekt-Kopie arbeiten oder den DB anderweitig sichern.

Harald
 
Also bei bei der 300-er geht das vielleicht, ich habs gerade bei einer 1500-er, da will TIA immer alles laden.
Ich hab unter Online-Diagnose/Funktionen, die Memory-Card formatiert und dann alles rübergeladen.
Aber das kann doch nicht der Weisheit letzter Schluß sein?
 
Db markieren, Laden in Gerät, und dann im Fenster "Vorschau Laden" keine weiteren Bausteine auswählen.

Also bei bei der 300-er geht das vielleicht, ich habs gerade bei einer 1500-er, da will TIA immer alles laden.
Ich hab unter Online-Diagnose/Funktionen, die Memory-Card formatiert und dann alles rübergeladen.
Aber das kann doch nicht der Weisheit letzter Schluß sein?

Genau das meinte ich damit. TIA überträgt doch immer alles. Also ich hätte noch keine Möglichkeit gefunden nur einzelne Bausteine wie in der Classic-Welt zu übertragen. Oder haben die da was geändert :confused:
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Genau das meinte ich damit. TIA überträgt doch immer alles. Also ich hätte noch keine Möglichkeit gefunden nur einzelne Bausteine wie in der Classic-Welt zu übertragen. Oder haben die da was geändert :confused:

stimmt, jetzt wo dus sagst . .. zu anfang konnte ich auch immer nur alles laden. ich weiß nicht ob siemens was geändert hat, aber aktuell kann ich einzelne Bausteine laden.

danke an alle für die Tipps. ich habe die fraglichen DBS jetzt erst online gelöscht (CPU geht in Stopp) und dann neu reingeladen.
 
Also bei bei der 300-er geht das vielleicht, ich habs gerade bei einer 1500-er, da will TIA immer alles laden.
Ich hab unter Online-Diagnose/Funktionen, die Memory-Card formatiert und dann alles rübergeladen.
Aber das kann doch nicht der Weisheit letzter Schluß sein?
eine 1500er wird compiliert, die wirst nur komplett laden können
 
Wenn ich zB ein Baustein offen habe, drücke ich auf übertragen und
dann überträgt er nur diesen. Heute habe ich beobachtet, als ich
an zwei Bausteinen, Änderungen gemacht habe, wurden diese
als Summe übertragen, aber nur die zwei.
 
Dieser FAQ (https://support.industry.siemens.com/cs/ww/de/view/107108015) liefert Erklärungen zu einigen der Fragen zu 1200 und 1500.
Zusammenfassung:
Es wird immer so wenig wie möglich geladen, aber so viel wie nötig, damit das geladene Programm in sich konsistent ist.
Speziell im RUN der CPU wird konsistent und atomar geladen, d.h. egal was schief läuft (Verbindungsunterbrechung, Speicher geht aus, ...) hat man entweder den alten oder den neuen Stand, aber nichts dazwischen.
Kleine Änderungen können zu großen Ladevorgängen führen, wenn viele Bausteine betroffen sind.
 
Zurück
Oben