Step 7 S7-300 Arbeitsspeicher Probleme

altmarkbahner

Level-1
Beiträge
6
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Tag,
ich programmiere derzeit eine S7-300 genauer gesagt eine 314-1AG13 und stoße jetzt mit dem Programm an die Grenzen des Arbeitsspeichers (vorhanden 96kB). Das Programm hat bis jetzt 92kB und ich bin noch nicht fertig.

Die Kenntnisse zum programmieren habe ich aus meiner Ausbildungszeit im begrenzten Rahmen. Ich habe jetzt gelesen das man Arbeitsspeicher sparen kann in dem man die DB-Bausteine als "unlinked" markiert. Wenn ich das mache und das Programm lade, bleibt die SPS in STOP und gibt einen Sammelfehler aus. Kann mir bitte jemand erklären wie das genau funktioniert und ob das überhaupt der richtige Weg ist.

Vielen Dank und Grüße aus Leipzig
Sebastian
 
"Unlinked" heißt: der DB liegt nur im Ladespeicher (auf der MMC), nicht im Arbeitsspeicher. Das macht nur Sinn für Daten, die nicht in jedem OB1 Zyklus gebraucht werden (z.B. Rezepturen oder Datenaufzeichnungen/Logs), weil das Laden eines DB vom Ladespeicher in den Arbeitsspeicher oder umgekehrt mehrere Zyklen dauert. Das ist wie mit einem Windows PC mit zu wenig Arbeitsspeicher, dem kann man zwar eine große Auslagerungsdatei geben, doch dann ist das Windows bei Nutzung vieler Daten nur noch mit Ein- und Auslagern beschäftigt und kommt kaum noch zum arbeiten.

Du müsstest lernen, effizienter zu programmieren und evtl. effizientere Datenstrukturen zu nutzen, oder tausche Deine CPU gegen eine CPU mit mehr Arbeitsspeicher, z.B. 315-2DP (315-2AH14) oder 315-2PN/DP (315-2EH13, 315-2EH14) die haben 256 kB Arbeitsspeicher oder mehr.

Wie sieht denn Deine Arbeitsspeicherauslastung aus? Sind das hauptsächlich DB? Oder mehr Programmbausteine FB/FC? Wieviele Bausteine und wie groß sind die? Programmierst Du in AWL/FUP/KOP/SCL? Übergibst Du oft Daten als Strukturen über InOut bzw. per Pointer? Formulierst Du Logik eher umständlich? Verwendest Du parametrierbare FB/FC für gleichartige Objekte oder programmierst Du Code eher immer wieder voll aus? Wie groß ist die Zykluszeit Deines Programms?

Harald
 
Zuletzt bearbeitet:
Zurück
Oben