Arbeitsspeicher

Ingeborg

Level-1
Beiträge
20
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Leute,

ich habe eine CPU315-2-DP (6ES7315-2AG10-0AB0) und noch 25% freien Arbeitsspeicher (siehe Anhang). Durch Erweiterung der Anlage muss ich aber noch eine Menge Programm-CODE hinzufügen und kann kaum altes löschen.

Was gibt es für Möglichkeiten, ohne CPU-Tausch den Arbeitsspeicher zu verringern bzw. zu beeinflussen?

Gruss an die Helfenden
 

Anhänge

  • Baugruppenzustand.jpg
    Baugruppenzustand.jpg
    66,5 KB · Aufrufe: 123
Eine Möglichkeit ist, von allen Bausteinen eine Quelle zu generieren und danach wieder zurückzuübersetzen. Es gab mal eine Zeit, da hat S7 Datenmüll in den Bausteinen angesammelt. Wenn Du Glück hast, sind Deine Bausteine eventuell mit solchem Datenmüll gesegnet ...
 
Vielleicht hast Du ja Datenbausteine, auf deren Inhalte Du nur lesend zugreifen musst.
Diese könntest Du mit der Option "Unlinked" übersetzen so dass sie nur im Ladespeicher abgelegt werden. Mit der SFC20 oder SFC83 (CPU-abhängig) kann man auf die Daten lesend zugreifen.
 
falls du parametrierte bausteine in fup/kop aufrufst, kann es sein das dann temporäre variablen benutzt werden. schalte mal auf awl um, um das zu prüfen. falls es so sein sollte, lösche diese temps und beschreibe den baustein neu mit den direkten vars.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Kenne das mit den 315ern auch sehr gut.
Ich tausche vorrangig gegen eine 318 2DP dann aus.
Problematisch wird es bei der 315 wenn diese bis zum maximum vollgepackt wird auch sehr oft mit den Taktzeiten.
 
Falls Du austauschen musst, ist die 315F-2DP die günstigste Lösung.
Die hat von Haus aus 192 kB RAM, also 50 % mehr als die Standard 315-2DP.
 
Danke an Euch alle

Leider war keiner Lösung erfolgreich. Der Austausch kostet auch zu viel (laut Chef)...

Also habe ich 3 Bausteine neu geschrieben und damit 27 kB eingespart. Jetzt reicht es für die neuen Programme...


LG Ingeborg
_____________________
Kaum macht man's richtig, schon geht's.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi !
Kannst du mir bitte verraten, auf was du beim Neuschreiben geachtet hast, um weniger Arbeitsspeicher zu verbrauchen ?

gibt es gewisse Richtlinien ? oder Vorgaben ?
Wo man z.b. sagen kann, dass der "Baustein Typ..." so viel Arbeitsspeicher für sich beansprucht ?

Ich habe bei mir das Problem, dass der MMC Speicher nur bei 10% Auslastung liegt und der Arbeitsspeicher schon bei 98% und das bei einer 314-6CG03

Muss doch irgend ein "Hausmittel" geben um da wieder Platz zu machen.

Bin über jeden Tip dankbar.

MFG !
 
Hi !
Kannst du mir bitte verraten, auf was du beim Neuschreiben geachtet hast, um weniger Arbeitsspeicher zu verbrauchen ?

gibt es gewisse Richtlinien ? oder Vorgaben ?
Wo man z.b. sagen kann, dass der "Baustein Typ..." so viel Arbeitsspeicher für sich beansprucht ?

Ich habe bei mir das Problem, dass der MMC Speicher nur bei 10% Auslastung liegt und der Arbeitsspeicher schon bei 98% und das bei einer 314-6CG03

Muss doch irgend ein "Hausmittel" geben um da wieder Platz zu machen.

Bin über jeden Tip dankbar.

MFG !

Wie man z.B. Platz sparen kann:

Statts DB Zugriffen Merker verwenden:

Bsp:

U M2.0
braucht 2 bytes auf der CPU
U DB2.DBX0.0
braucht 4 bytes auf der CPU

Schleifen verwenden wo es möglich ist, Statts code zu duplizieren!

Reservedatenwörte rausschmeissen

usw...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also was richtig speicherfressend ist bei Siemens:
STRUCTS/UDT's als IN/OUT Variablen.
Ein SFB4 verbraucht auch erheblich mehr Speicher als ein SE-Timer.

P.S. MMC bei 10% Auslastung heißt gar nichts, da die MMC zwischen 64kB und 16MB? groß sein kann und darf.
 
Also was richtig speicherfressend ist bei Siemens:
STRUCTS/UDT's als IN/OUT Variablen.
Ein SFB4 verbraucht auch erheblich mehr Speicher als ein SE-Timer.

P.S. MMC bei 10% Auslastung heißt gar nichts, da die MMC zwischen 64kB und 16MB? groß sein kann und darf.

Jo, das kann ich nur bestätigen. Dann lieber einen ANY als IN-Parameter und die Struktur mit Blockmove in die Lokaldaten kopiert! Oder indirekt darauf zugegriffen, was aber wieder bei Änderungen an der Struktur unschön wird!
 
guten Morgen allerseits !!

Danke für die vielen schnellen Antworten.

Das Komprimieren hatte ich schon probiert gehabt, leider natürlich ohne erfolg.

STRUCTS verwende ich gar keine.DB zugriffe gibt'S auch keine . . . .

handelt sich um einen elend langen Ablauf....

mit Hunderten I/O'S

und ebenso vielen Zeiten. ( Einschaltverzögerungen )


Alles direkt über Merker angesprochen.

...
was das auslagern an geht :: leider müsste ich komplette Funktionen auslagern können. Da Das Programm sehr Varianten gesteuert ist. 53 an der zahl, die natürlich alle auch auf die gleichen I/O 's zugreifen wollen.

Wobei das auch nicht viel nützen dürfte, weil die FC's bei nicht Benutzung deaktiviert sind, somit also auch nicht im Arbeitsspeicher was zu suchen hätten.

...

Irgend welche anderen Ideen ? ausser Hardware tausch ?

PS.: zur MMC . . verbaut ist eine 8 MB . . .
 
da kann ich dir nur zustimmen.

aber denke du kennst das Problem, dass anfänglich eine Mücke geplant war und jetzt ein Elefant daraus gewachsen ist.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
dein Zitat von Albert Einstein hast du falsch abgeschrieben ..

es lautet richtig : „Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt.“

;-) .. das nur mal am rande ..

.. ja und was mach ich jetzt mit meiner organisch gewachsenen Software ?

hoffen, dass sie durch Altersschwäche irgend wann stirbt ?
 
dein Zitat von Albert Einstein hast du falsch abgeschrieben ..

es lautet richtig : „Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt.“

;-) .. das nur mal am rande ..

Da ist die Frage, welche Quelle denn die richtige ist. An anderen Stellen wird auch Vorstellungskraft statt Phantasie zitiert. Somit sind allein für diese kurze Zitat schon 3-4 Varianten im Umlauf.
Aber das Problem gibt es bei vielen Überlieferungen. Den guten Albert können wir ja nicht mehr dazu interviewen.
Oft werden auch Zitate gleich mehreren Autoren zugeschrieben. Was stimmt dann?

Nun aber zurück zum Problem:
Eine Möglichkeit ist, zu versuchen gleiche Sequenzen in einem FC oder FB zusammenzufassen und somit Code einzusparen. Mit Phantasie versuchen die Gemeinsamkeiten der 53 Varianten zu erkennen.
 
Zurück
Oben