SPS Speicher voll / S5 115U

A

Anonymous

Guest
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich bin neu hier und habe ein Problem mit meinem SPS Programm.

Ich möchte eine Rolladensteuerung für 23 el. Rolladenmotoren
realisieren. Habe das Programm geschrieben, simuliert, und in der
SPS getestet. Funktionierte zunächst.

Zum Entprellen der Taster meiner Hausinstallation (Jung Standardtaster) musste ich noch zusätzlichen Code einfügen. Jetzt bekomme ich beim Übertragen in die SPS die Meldung: SPS Speicher voll - komprimieren ? Auch wenn ich komrimieren angebe, klappt es nicht und ich bekomme: Fehler beim Übertragen des Bausteins - SPS Speicher voll.

Ich habe mein Prog modular aufgebaut, d.h. ein Programmbaustein (PB) für jedes Zimmer, in dem ich Rolladen steuern will. Wenn ich nun z.B. PB7 aus dem OB1 herausnehme und ihn in der Steuerung lösche, so reicht der Speicher aus, um die verbleibenden Teile des Programms
ordnungsgemäss zu übertragen. Dann klappt alles.

Aber wenn ich das Programm grösser mache, geht es schief. Nun kann ich mir nicht vorstellen, dass bei diesem Programm (max. 15 PBs mit je 200 Bytes) die maximale Programmgrösse schon erreicht sein soll. Ich vermute, es liegt an dem Aufbau meines Programms.

Ich habe einen OB1 , in dem ich mit SPA die einzelnen PBs aufrufe (Zyklus). Die einzelnen PBs habe ich in AWL codiert (jeweils alles in Netzwerk 1). Ist dieses Vorgehen richtig, oder liegt hier irgendwo das Problem. Ich habe keine Ahnung, wie die SPS intern Ihren Speicher verwaltet. Was bedeuten eigentlich Netzwerke ? Meines (Halb-) Wissens nach sind das die Einheiten, die bei der FUP/KOP Darstellung jeweils ein grafisches Bild ergeben.
Kann mir jemand helfen ?
Gruss
TOM
 
Der Speicher der CPU scheint voll sein. (OUT OF MEMORY)

Gibt es noch "Müll" der nicht aufgerufen wird. z.B. Datenbausteine.
Löschen.

Welchen Prozessor verwendest Du?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
über die AG-Funktion "Speicherausbau" erfährst Du mehr über den noch freien Platz.
Eventuell solltst Du über eine Speichererweiterung mittels RAM nachdenken.
Gruß
raika
 
hallöchen

mal eine frage hast du denn speicher schon mal kompriemiert

den wenn viele bausteine hineinkopiert worden sind werden die alten als ungültig erklärt und nicht gelöscht
 
Hallo euch dreien,

vielen Dank für die schnellen Antworten.

Heinz:
Ich habe keine Datenbausteine in der CPU.
Ich muss leider erst mal nachsehen, wie die CPU genau heisst.
Ich glaube 941 oder so ?...? Ich weiss nur 115 U auswendig.

RaiKa
Das mit dem "Speicherausbau" muss ich mal probieren...
Ich habe keine Ahnung, wieviel RAM Speicher die SPS hat !
Was meinst du genau mit AG-Funktion ? Ist das ein Aufruf
aus der Programmiersoftware heraus ?

kpeter
Ja, ich habe schon komprimiert, und es funzt trotzdem nicht.
Dass die alten Bausteine scheinbar nicht gelöscht werden, habe
ich schon vermutet. Ich habe nämlich folgendes beobachtet:
Wenn ich (wie zu Anfang geschrieben) den PB7 weglasse, funktioniert
ja alles. Wenn ich nun einen Baustein (z.B. PB2) ändere und Ihn in
die SPS zurückschreiben will, bekomme ich ebenfalls (Speicher voll- komprimieren ?), hier funktioniert es. Allerdings bei Hinzunahme des
PB7 wird das Programm wohl so gross, dass komprimieren nichts mehr hilft.


allgemein:

Allerdings habe ich schon von anderer Seite gehört, dass eine S5 115U nicht gerade ein kleines Modell der S5 Reihe ist. Meine SPS verfügt über 96 dig. Eingänge und 96 dig. Ausgänge. Und dann soll solch ein Mini Programm wie meines (da sind kaum 100 Programmzeilen pro PB)
das RAM zum Überlaufen bringen ? Wir reden hier von gut 2 Kilobytes !!

Wisst Ihr was von den Netzwerken ? Wie verwaltet eine SPS Ihren Speicher ? Werden da immer alle Programmteile im Speicher gehalten ?

Grüsse

TOM
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo

tommythekid schrieb:
Was meinst du genau mit AG-Funktion ? Ist das ein Aufruf
aus der Programmiersoftware heraus ?

Ja, das ist eine Funktion der Programmiersoftware.
Welche (Hersteller und Version) haben Sie denn im
Einsatz?

tommythekid schrieb:
Allerdings habe ich schon von anderer Seite gehört, dass eine S5 115U nicht gerade ein kleines Modell der S5 Reihe ist.

Die 115er ist die mittlere S5-Reihe, die 941
ist aber die kleinste CPU dieser Baureihe.
Welchen Ausgabestand hat den die CPU?

Viele Grüße

Gerhard Bäurle
 
Baustein online löschen, dann Nachladen

Hallo Tom,

tommythekid schrieb:
... Wir reden hier von gut 2 Kilobytes !! ...

ja genau, deine CPU hat leider nur 2kByte RAM. Wenn du einen Baustein nachlädst bleibt der alte Baustein solange im Speicher bis der neue Baustein vollständig und fehlerfrei übertragen wurde. Nur so sind Änderungen bei laufender Anlage möglich.

Du kannst jedoch den alten Baustein in der Steuerung löschen, um Platz im RAM zu gewinnen. Danach sollte der neue Baustein nach dem Komprinieren des Speichers ladbar sein. Oder ich habe dich falsch verstanden und die Bausteine sind alle zusammen größer als 2kByte? Dann hilft nur eine RAM-Erweiterung, steckbar in den Slot auf der Frontseite der CPU.

Erfüllen deine 15 Bausteine alle dieselbe Funktion, nur für verschiedene Räume? Dann könnte man daraus einen Baustein machen und ihn parametriert aufrufen.


Gruss, Onkel
 
Bei Version V6.5 findest Du den Speicherausbau unter
TEST => AG-Info ausgeben => Speicherausbau

115U ist sehr weit verbreitet. Die Leistungsfähigkeit hängt von der CPU ab. Die 941 CPU (der 115U) ist die kleinste und langsamste der Reihe.

Die anderen CPU's sind leistungsstärker.
Allerdings habe ich schon von anderer Seite gehört, dass eine S5 115U nicht gerade ein kleines Modell der S5 Reihe ist. Meine SPS verfügt über 96 dig. Eingänge und 96 dig. Ausgänge. Und dann soll solch ein Mini Programm wie meines (da sind kaum 100 Programmzeilen pro PB)
das RAM zum Überlaufen bringen ? Wir reden hier von gut 2 Kilobytes !!
Die 115U Reihe habe ich nur mit Speichererweiterung (orange roter Kasten) auf der CPU eingesetzt. (Mehrere 1000 Zeile Code bei der 944)

Wisst Ihr was von den Netzwerken ?
Netzwerke dienen zum Strukturieren des Programms.

Wie verwaltet eine SPS Ihren Speicher ?


Der Speicher hat einen "festen" Aufbau. Die Bausteinstartadressen sind an bestimmten Adressen abgelegt. Beim neu laden von Bausteinen wird der neue Baustein geladen und danach wird die Anfangsadresse auf die neue Adresse verändert. Dann wird der Speicherbereich als "ungültig" erklärt. Diese Lücken werden beim Kompremieren gelöscht.

Werden da immer alle Programmteile im Speicher gehalten ?
Die CPU hält das gesamte Prg im Speicher (sie kann nicht auslagern)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Tom...,
wie Du den Speicherausbau auslesen kannst haben Dir ja nun schein einige fleißige Teilnehmer geschrieben.

Vielleicht wäre auch dies eine vorläufige Lösung:

Wenn Du im PG einen Baustein geändert hast, speichere ihn und lösche ihn im AG, komprimiere dann (damit die Leiche wirklich verschwindet) und übertrage dann den neuen Baustein ins AG. - wie Onkel D. schon schrieb! -

Viel Glück!
raika
 
Hallo an alle,

Mensch, Ihr seid ja super, vielen Dank für die vielen Infos.

Also mein Programm hat aktuell schon knapp über 2K Speicherbedarf,
ist also wohl schon über der physikalischen Grenze für den max.
Speicher der CPU ohne Erweiterung.

Ich denke, mit dem Komprimieren etc. weiter rumzuspielen macht
weniger Sinn, denn ich habe mein Prog. für die Rolladensteuerung
noch lange nicht für das ganze Haus fertig. Ich habe bisher nur 3
Zimmer im EG und eine Over All funktion für das ganze EG betrachtet.

Das ist wirklich noch nicht viel Code !!
Aber 2K sind ja auch ein Witz, oder ?

Das Programm wird wohl, bis ich alle Funktionen, die ich damit abdecken will (Rolladensteuerung für das ganze Haus, in der Zukunft evtl. noch einige andere Steuerungsfunktionen) eingebaut habe, mindestens noch 3-4 mal so gross werden als jetzt.

Da muss ich mich wohl mal nach einer RAM Erweiterung umsehen...


zum Thema parametrisierte Funktionsaufrufe:

Klar, damit kann man sicherlich Resourcen sparen.
Aber bis die Rolladensteuerung für das ganze Haus (und die Zusatzfunktionen die ich noch im Kopf habe) funktionieren, wird
auch mit dieser Technik hier der Speicher von 2K sicherlich nicht ausreichen.

noch mal konkret zur Speichererweiterung:

in welchen Grössen gibt es die ? (z.B. 8K, 16K, ???)
auf was muss ich achten, dass sie auch zu meiner CPU passt ?
(ist nur S5, 115U wichtig oder auch die CPU Nummer)
Wo nochmal wird die reingesteckt
(dort wo man das EPROM reinstecken kann ??)


Grüsse

TOM
 
Hallo Tom,

RAM für CPU 941 laut Handbuch S5-115U
8KByte: 6ES5 375-0LD11
16KByte: 6ES5 375-0LD21
32KByte: 6ES5 375-0LD31 (geht nicht bei CPU 941!)

Ich denke Du hattest eine CPU 941?!

Gruß
raika

richtig: dort wo der EPROM reinkommt stecken
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
die RAM Erweiterung kommt in den vorhandenen Schacht in der CPU
16kB Speicherweiterung müsste gehen. Die Handbücher gibt es kostenfrei
als PDF Datei bei Siemens.
Bei der CPU 941 würde ich auf die Zykluszeit achten. Bei der Leistungsklasse
könnte es relativ Langsam werden.
Ich benutze eine 944B für das gesamte Haus einschließlich Heizung
und habe ca 30ms Zykluszeit.


Gruß Bitverbieger
 
Speicher voll

Hallo,

in welcher Sprache wurde das Prog geschrieben?

In AWL kann man Platz sparen

Man kann auch einen FB parametrieren, so wird das Prog. schlanker
 
Zuviel Werbung?
-> Hier kostenlos registrieren
In AWL kann man Platz sparen
durchaus richtig.
aber ob es jetzt sinnvoll war auf diesen beitrag (letzer beitrag war vom:
post_old.gif
09.04.2007, 00:03) zu antworten sei mal dahingestellt.
 
Hallo,
Ich würde als erstes mal die CPU 941 gegen eine 942 oder größere tauschen.
RAM-Erweiterung ist zweite Wahl.
 
Zurück
Oben