s7-3xx , Progi wird in RAM, ROM oder wo gespeichert ?

mega_ohm

Level-2
Beiträge
673
Reaktionspunkte
45
Zuviel Werbung?
-> Hier kostenlos registrieren
Liebe Gemeinde,

Beschreibung der Hardware:
- SIMATIC S7-300, CPU 317-2DP, ZENTRALBAUGRUPPE MIT 512 KBYTE ARBEITSSPEICHER, 1. SCHNITTST. MPI/DP 12MBIT/S, 2. SCHNITTST. DP-MASTER/SLAVE
Best.nr.: 6ES7 317-2AJ10-0AB0
(weitere Infos >> siehe Link )
https://mall.automation.siemens.com...-1-1386-1387-1388-1452-1458-1469-&jumpto=1469


Ich habe Fragen zu folgendem Problem:

Auf der Mem-Card ist eine uralte Programmversion gespeichert.
In der Zwischenzeit wurden von der Masch.-bau- Firma mehrere Änderungen und Umbauten (zu 90 % Kundenwunsch, 10% Anlagen- Update ) vorgenommen.
4 Jahre lang funktionierte Alles.

Nach einer Großreparatur ( mehrere Tage >> Schaltschrank- Hauptschalter= AUS ) in meiner Firma an dieser Anlage sollte die Maschine wieder "Inbetrieb" gesetzt werden. Es ging erstmal gar nix... es tauchten Fehlermeldungen auf, an die man sich dunkel ( "... ach, das hatten wir doch früher mal...") erinnern konnte.
Mit Hilfe der Entwicklungs- Doku (alle Änderungen wurden gesichert und dokumentiert ) konnte ich die Anlage "wiederbeleben", speicherte nach mehreren Tests das Programm des AG's auf dem PG und benutzte die Funktion "RAM nach ROM kopieren".

Ich war überzeugt, daß dieses Speichern eine gute Idee wäre...
(mit meinem Wissen: ROM = Nur-Lese-Speicher (Read-Only-Memory);
Datenspeicher, der nur lesbar ist, im normalen Betrieb aber nicht beschrieben werden kann und nicht flüchtig ist.
Bedeutet für mich: Daten werden auch in stromlosem Zustand erhalten.

2 Wochen später hat ein neuer Kollege den Schaltschrank erneut ausgeschaltet... UND es war wieder das Uralt- Progi geladen.
( dann ist der ROM aber doch sehr schnell geflüchtet :p )


Bei s5 oder s7-4xx sind Batterien drin. Sollten diese leer sein und das Progi ist dann nach mehr-minütigen Spannungsausfall weg und wird von der Speicherkarte geladen... das würde ich verstehen.
- Aber was heißt "RAM nach ROM kopieren" bei einer s7-3xx ? :confused:
- Wenn dieses Verhalten normal sein sollte, wieviel Zeit bleibt mir, bis von der Speicherkarte geladen wird ?

P.S.: Auf der Speicherkarte hatte ich das geänderte Progi nicht gesichert, weil unheimlich viele "Handstände" dafür nötig sind... unter anderem ein Betriebszustand "STOP" der CPU... das ist für produzierendes Gewerbe ein bedeutender Grund, diese Funktion NICHT zu wählen.

______________________________________________________________

P.S.: Ich bin angestellter Elektriker mit 90% autodidaktisch angeeigneten s5-/ s7- Kenntnissen, kein Programmierer.
 
kannst Dich mal vergewissern, ob das wirklich eine 317 ist? die müsste vor vier Jahren grad neu gewesen sein (ich hatte meine erste 317 vor 3 1/2 Jahren). Ansonsten gibt es bei der 317 nur das MMC - kein gepuffertes Ram, kein integriertes EPROM.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
kannst Dich mal vergewissern, ob das wirklich eine 317 ist? die müsste vor vier Jahren grad neu gewesen sein (ich hatte meine erste 317 vor 3 1/2 Jahren). Ansonsten gibt es bei der 317 nur das MMC - kein gepuffertes Ram, kein integriertes EPROM.

s7 317 hat mmc aber wieso hat man ram nach rom kopieren aktivirt?
manche sagen damit daten nicht verloren wen man mmc von eine sps in die andere sps steckt:rolleyes::rolleyes:
 
Es sollte nicht passieren können, das Programm-Blöcke verschwindet oder zurückgesetzt auf ältere versionen werden.
Aber es kann passieren das die Aktualwerten in Datenbausteine auf Initialwerten zurückgestzt werden. Dies passiert wenn das Einhalt von die DBs auf irgendeiner Grund korrupt ist.
 
mega_ohm schrieb:
2 Wochen später hat ein neuer Kollege den Schaltschrank erneut ausgeschaltet... UND es war wieder das Uralt- Progi geladen.
( dann ist der ROM aber doch sehr schnell geflüchtet :razz: )
Also durch "RAM nach ROM" wird der aktuelle Inhalt des Arbeitsspeichers in den Ladespeicher (MMC) geschrieben.
Dass da so mir nichts dir nichts das Uraltprogramm wieder auftaucht halte ich so ziemlich für ausgeschlossen.
Handelt es sich bei Deiner CPU wirklich um eine mit MMC-Card?
.
 
317 gibt es nur mit MMC.

Das RAM-nach-ROM Funktion macht nur sinn mit ein MC Karte. Am mindestens so habe ich es verstanden.
RAM nach ROM hat auch bei CPU's mit MMC durchaus seine Berechtigung, nämlich die Aktualdaten der DB's im
Ladespeicher zu sichern. Dadurch erspart man sich u.U. viel Einrichtarbeit falls die CPU mal urgelöscht oder
ausgetauscht werden muss.
Für die Sicherung des Programmcodes an sich spielt RAM nach ROM bei den MMC-CPU's keine Rolle, da ja mit Übertragen
der Bausteine vom PG in die SPS das Programm sowohl in den Ladespeicher (MMC) als auch in den Arbeitsspeicher
kopiert wird, das heißt es ist technisch gar nicht möglich, dass sich nach Laden einer neuen Bausteinversion noch
irgendwo die Altversion befindet.

Deshalb glaube ich das Ganze auch nicht wirklich...:rolleyes:
Jedenfalls nicht bevor ich das selbst gesehen habe.;)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Bis jetzt habe ich es so verstanden, das die DBs die als "remanent" gemerkt sind, beim netz-aus von RAM nach MMC kopiert werden.
Das ist auch so, aber nach "urlöschen" werden die Aktualwerte aus dem Ladespeicher geladen.
Wie es sich nach einem CPU-Tausch (unter Verwendung der gleichen MMC) verhält weis ich nicht aber ich vermute mal dass auch dann die Aktualdaten aus dem Ladespeicher geladen werden.
 

Anhänge

  • remanenz.jpg
    remanenz.jpg
    54,8 KB · Aufrufe: 44
Also durch "RAM nach ROM" wird der aktuelle Inhalt des Arbeitsspeichers in den Ladespeicher (MMC) geschrieben.
Dass da so mir nichts dir nichts das Uraltprogramm wieder auftaucht halte ich so ziemlich für ausgeschlossen.
Handelt es sich bei Deiner CPU wirklich um eine mit MMC-Card?
.
Ja, es ist eine s7- 317 mit MMC. ( Ich habe extra nochmal in den Schaltschrank geschaut. Best.nr. ist auch OK )

Auf der gesteckten MMC ist das Uralt- Progi ja noch drauf.

Nun frage ich mich, was die "RAM nach ROM" -Funktion für einen Sinn hat, wenn das Progi von der MMC nach Spannungsausfall ( längere Zeit ) geladen wird ?
 
Bis jetzt habe ich es so verstanden, das die DBs die als "remanent" gemerkt sind, beim netz-aus von RAM nach MMC kopiert werden.
Es sind ja nicht einmal DB's, die geändert auftauchen, sondern richtig Eingänge bzw. Ausgänge.

Code:
UN a0.1
= a0.0

Auf einmal weg...

Begründung der Änderung:
>> Code- Erweiterung
Code:
u M0.0 // Sicherheit Anlage ( Schutztüren etc.)
u M0.1 // Motorschutz- Schalter
u M0.2 // vom FU ist alles Ok.
u ( viele andere tolle Sachen)
= A0.1 // Schutzhaube verriegeln, Autostart ist OK
UN A0.1 // Schutzhaube freigeben...  ( Autostart ist aus irgendeinem Grund verboten )
= A0.0
Damit wird ein Verriegelungs- Zylinder für eine seperate Schutzhaube eines sehr schnell drehenden Antriebes ( 9000- 13.000 U/min) angesteuert. Mit allen Sicherheits- PiPaPo's
( kann erst nach Stillstand geöffnet werden etc.)

Das bedeutet für mich:
Einer der beiden Ausgänge (egal was los ist ) MUß gesetzt sein.
=> Ist keiner der beiden Ausgänge gesetzt.... (weil es dieses Anlagenteil vor einem Umbau noch nicht gab ) ist was faul.
Wenn dazu noch "Fehlermeldungen" ( ich habe bisher noch keine Masch.-bau-Firma erlebt, die Fehlermeldungen und die dazugehörigen Bedingungen gelöscht haben) kommen, deren Anlagenteile nicht mehr !! existent sind... dann wird es für mich spannend.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
.....
Auf der gesteckten MMC ist das Uralt- Progi ja noch drauf.

Nun frage ich mich, was die "RAM nach ROM" -Funktion für einen Sinn hat, wenn das Progi von der MMC nach Spannungsausfall ( längere Zeit ) geladen wird ?
Wenn Du ein neues Programm auf die CPU lädst wird dieses auch zwangsläufig auf die MMC geschrieben, es kann also eigentlich gar kein "Uralt- Progi" auf der Karte existieren, egal ob Du 'RAM nach ROM kopieren' verwendet hast oder nicht.

Wenn das was Du schilderst wirklich den Tatsachen entspricht ist das eindeutig was für die Siemens- Hotline.

Ich habe bereits dutzendweise 300'er Steuerungen mit MMC im Einsatz, aber das von Dir geschilderte Phänomen konnte ich bisher noch nicht beobachten.
.
 
Wenn Du ein neues Programm auf die CPU lädst wird dieses auch zwangsläufig auf die MMC geschrieben, es kann also eigentlich gar kein "Uralt- Progi" auf der Karte existieren, egal ob Du 'RAM nach ROM kopieren' verwendet hast oder nicht.
Das ein Programm "zwangsläufig" auf die MMC ( ich hoffe, daß ich mit MMC richtig verstanden habe, was Du meinst => ich gehe davon aus, daß mit MMC die Speicherkarte gemeint ist ) schreibt, habe ich persönlich noch nicht erlebt.
Ich habe selbst einige andere s7-3xx programmiert... aber "Anwenderprogramm auf Speicherkarte sichern" mußte ich trotzdem anklicken. Das war zwar keine s7-317 DP, aber lt. Step7 konnte man da auch "RAM => ROM kopieren".
Dort hatte ich das Progi [während der Inbetriebnahme] aber auf der Speicherkarte gesichert und selbst nach 4 Jahren und "Stromlosigkeit" an jedem Wochenende hatte ich dort noch nie Probleme. Bin ich mit dem PG an diese Progi's ran gegangen, meldeten sich dort nur unterschiedliche DB's. Das kann ich noch nachvollziehen. Sämtlichste FC's, FB's waren aber identisch und ich konnte sie mir ONLINE 'angucken'.

Das ist aber bei dem von mir beschriebenen Problem anders.
Bevor ich bei einem bestehenden Progi irgendwas mache, wird erstmal die Funktion "Bausteine vergleichen" durchgeführt....
Bei der von mir beschriebenen Anlage werden dort neben unterschiedlichen DB's ( von mir aus auch noch VAT's [das kann meistens richtig sein] ) wirklich unterschiedliche FC's oder FB's gefunden.
Nachdem ich dann die (bekannten, weil gut dokumentierten) Fehler beseitigt habe, ziehe ich jedes Mal eine Maschinenkopie und speichere diese auch auf dem PG. Trotzdem läuft die Anlage jedes Mal nach einem längeren Spannungsausfall nicht an, es kommen die von mir beschriebenen Probleme zutage, wenn ich die Maschinenkopie aufrufe.

Ach ja: Ich bin nicht dafür zuständig, die Schwierigkeitsstufe von s7 zu erhöhen.
Wenn das was Du schilderst wirklich den Tatsachen entspricht ist das eindeutig was für die Siemens- Hotline.
"Wenn das was Du schilderst wirklich den Tatsachen entspricht... "
Glaubst Du, daß ich mir solche Probleme ausdenken könnte ?
Wenn das der Fall wäre, würde ich mein Geld mit s7- Programmierung verdienen können. Nur, wenn man genügend Kenntnis von einem System hat, kann man Fehler simulieren. Ohne Kenntnis muß man Andere fragen [wie ich das z.B. mache] , die bei der Materie besser "dabei" sind.
Ich habe bereits dutzendweise 300'er Steuerungen mit MMC im Einsatz, aber das von Dir geschilderte Phänomen konnte ich bisher noch nicht beobachten.
.
Du vergißt aber nicht, daß ich das Programm EBEN NICHT auf MMC gespeichert habe ?
Ich war der Meinung (siehe Eröffnung dieses Themas), das eine Kopie von "RAM nach ROM" ausreicht !!!:confused:
(mein Verständnis für RAM und ROM hatte ich geschildert.)
Weil ich mit meinem "Verständnis" nicht weiterkomme (dieses Problem tritt jedesmal auf), frage ich ja hier.
Möglicherweise erfahre ich ja hier, daß in "meinem Verständnis für diese s7- Welt" ein kompletter Denkfehler vorliegt.
Das würde mir eher noch was erklären, als das Anzweifeln an der Problem- Beschreibung.
 
Zuletzt bearbeitet:
Bitte lies Dir erstmal das Speicherkonzept der S7 300 Baugruppen mit MMC durch.
http://support.automation.siemens.c...ib.csFetch&nodeid=12963439&forcedownload=true

Dann wird Dir auffallen, dass sich der Ladespeicher auf der MMC befindet, dh. mit jedem Übertragen des Programmes wird dieses nicht flüchtig auf der MMC abgelegt.
Du vergißt aber nicht, daß ich das Programm EBEN NICHT auf MMC gespeichert habe ?
Das ist ja was ich Dir die ganze Zeit zu erklären versuche, dass das eben automatisch passiert.

Also zusammenfassend: Du hast alles richtig gemacht. Programmverluste nach Netzausfall dürfen bei diesen CPU's nicht auftreten.
Deshalb mein ernstgemeinter Rat: CPU überprüfen lassen, evtl. ist auch die MMC defekt, also mal mit einer neuen probieren uswusf...

Viel Erfolg:)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das wäre ja mal ein wirklich exotischer Hardwaredefekt: Du überträgst Bausteine, die stehen dann auch im Arbeitsspeicher und im Ladespeicher (MMC) bleibt der alte Stand erhalten (ohne Fehlermeldung).
Wenn du die MMC ins PG steckst und mit deinem Projekt vergleichst, müssten dann aber Unterschiede gefunden werden.
Kannst du denn mit Sicherheit ausschließen, dass sich in deiner Abwesenheit kein Zweiter an der Anlage zu schaffen macht ?

Grüße von HaDi
 
Kannst Du mal den Diagnosepuffer auslesen und hier posten?

Wie meine Vorredner denke ich auch das dies nicht normal sein kann.
 
Kannst Du mal den Diagnosepuffer auslesen und hier posten?

Wie meine Vorredner denke ich auch das dies nicht normal sein kann.
Du meinst "CPU- Diagnose- Speicher" ??

Den hatte ich nach dieser Diskussion diese Woche angeklickt...
( Sonst schaue ich da nie rein :) )
Da stand ... <Leer> ... NIX
Nun kann ich eben nicht beurteilen, ob das ein gutes oder schlechtes Zeichen ist.
Fakt ist: In dem einzigsten Diagnose- Speicher, den ich auslesen konnte, war nichts zu finden, was auf irgendeine Abnormalität hingewiesen hätte.

In diesem Zusammenhang: Wenn alles funktioniert, steht da was in dem Puffer ? ( " i.O. " oder eben was Anderes )

Den Diagnosepuffer kann ich vor nächsten Montag (15.09.) nicht auslesen, weil ich bis dahin nicht auf der Arbeit bin ( Wochenende ).
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Bitte lies Dir erstmal das Speicherkonzept der S7 300 Baugruppen mit MMC durch.
http://support.automation.siemens.c...ib.csFetch&nodeid=12963439&forcedownload=true
Noch ein 2. Dankeschön für diesen Link.

Damit hat sich meine Eingangsfrage beantwortet:
Zitat aus dem s7- Handbuch (ich habe vor meiner Frage hier auch nach: Kompendium, s7+Ram etc. bei Siemens gesucht und nix gefunden. Warum finde immer ich nix Gescheites :evil: ?? )



4.2.3.5 Prommen (RAM to ROM)
Beim Prommen werden aus dem Arbeitsspeicher die Aktualwerte der Datenbausteine als neue Anfangswerte der DB in den Ladespeicher übernommen.
(Ende Zitat)
Mit DB's hatte ich ja keine Probleme.
Es waren Ausgänge abgefragt, die es vor dem Umbau überhaupt nicht gab.
(z.b. Verriegelungsbolzen: A0.0 = eingefahren, A0.1 = ausgefahren). Diesen Verriegelungsbolzen gab es vor dem Anlagen- Update nicht.
Na egal... auf jeden Fall kann ich mir in Zukunft den Mausklick auf diese Funktion ersparen ( RAM => ROM )​

Dann wird Dir auffallen, dass sich der Ladespeicher auf der MMC befindet, dh. mit jedem Übertragen des Programmes wird dieses nicht flüchtig auf der MMC abgelegt.

Das ist ja was ich Dir die ganze Zeit zu erklären versuche, dass das eben automatisch passiert.
(Zitat aus dem Siemens- Link)
4.2.2 Anwenderprogramm laden auf die SIMATIC Micro Memory Card in CPU
Anwenderprogramm laden
Sie laden das Anwenderprogramm komplett per PG/PC über die SIMATIC Micro Memory
Card auf die CPU. Vorherige Inhalte auf der Micro Memory Card werden dabei gelöscht.
Bausteine belegen im Ladespeicher den Platz, wie er unter "Ladespeicherbedarf" in den
"Allgemeinen Bausteineigenschaften" genannt wird.
(Ende Zitat)
Hier steht nichts davon, daß das Anwenderprogramm automatisch auf die MMC geladen wird.


Das kann ich auch nicht glauben können (!!): Ich hatte auf einer '0815' -s7-3xx ( eine ohne DP oder anderen Bussies ) ein Progi geschrieben... mit eingesteckter MMC !!!

In der Testphase konnte {weil von Siemens ja auch immer die Wiederbeschreibbarkeit der MMC angemahnt wird, hatte ich die ersten Versionen nicht auf MMC gespeichert } die Spannungsversorgung für 'meinen' Schaltschrank [nachgerüstet] über ein Hauptschütz per Kreuzchen oder Häkchen auf dem Bildschirm der Gesamt- Anlage an- oder abgewählt werden. Nach jedem Abwählen ( weil ich es eben nicht seperat auf die Speicherkarte gesichert hatte...) war jedes Mal das Programm weg.
Nach dem Spannungsausfall war die CPU nackig... ohne HardwareKonfig, ohne Progi... ohne NIX
Das war sehr ärgerlich, weil ich etliche Freigabe- Signale über Koppelrelais an die "Hauptsteuerung" schickte. Nachdem auf meiner s7-3xx nix mehr war (Einfach nach einem Mausklick auf "ÜKA, Walzkassetten und Vorholstationen aktiviert" und das rote Kreuzelchen [ statt des grünen Häkchens] angewählt.... ging die gesamte Anlage nicht mehr, weil die Übergabe- Signale fehlten....
Und auch diese Story habe ich mir nicht aus den Fingern gezogen !

Also zusammenfassend: Du hast alles richtig gemacht.
Das sieht mein Arbeitgeber manchmal anders.
Programmverluste nach Netzausfall dürfen bei diesen CPU's nicht auftreten.
Deshalb mein ernstgemeinter Rat: CPU überprüfen lassen, evtl. ist auch die MMC defekt, also mal mit einer neuen probieren uswusf...
Bei der von mir gerade beschriebenen 2. CPU ( wie genau die heißt, kann ich erst am Montag herausfinden) trat das gleiche Problem auf wie bei dem von mir angesprochenen Problem dieses Stranges. ( mit der 317-er)

Wie kann ich eine MMC testen, ob sie tut oder defekt ist ?

Danke schön...

Ich wünsche allen ein erholsames Wochenende.
 
Das wäre ja mal ein wirklich exotischer Hardwaredefekt: Du überträgst Bausteine, die stehen dann auch im Arbeitsspeicher und im Ladespeicher (MMC) bleibt der alte Stand erhalten (ohne Fehlermeldung).
Mit MMC ist aber (nur für mein Verständnis ) die Micro Memory Card gemeint ?

Auf die MMC habe ich ja die Änderungen NICHT gesichert, weil noch einige Änderungen heute schon absehbar sind und Siemens immer die max. Wiederbeschreibbarkeit dieser MMC's anmahnt.

Das eigentliche Progi ist fertig.
Aber auf Grund verschiedener Ausbaustufen (z.B. Einbau von Progressiv- Verteilern für die Zentralschmierung und deren Überwachung [ sind bestellt, aber noch nicht geliefert und noch nicht eingebaut], für verschiedene Anlagenteile wassergekühlte statt fremdbelüftete Antriebsmotoren [ Überwachung des Wasserdurchflusses, Messung der Druckdifferenz zwischen Zu- und Ablauf, Temp.- Messung des Kühlwassers ], Erfassen des Zug (Dreh-)- Moments und dessen Optimierung (bisher gab es dafür nur Werte, [ z.b: 70% Zugmoment], die vom Bedienpersonal eingegeben werden konnten, meist stand da 100%... viel hilft viel ) möchte ich nicht jede noch so kleine und eventl. auch falsche Idee speichern.

Wenn du die MMC ins PG steckst und mit deinem Projekt vergleichst, müssten dann aber Unterschiede gefunden werden.
Das habe ich noch nicht gemacht, weil ich bei einer s7-3xx die MMC eigentlich recht einfach über die "Online"- Verbindung schreiben kann (könnte). Die Unterschiede wurden mir schon angezeigt, wenn ich mit dem PG online gehen wollte.
Kannst du denn mit Sicherheit ausschließen, dass sich in deiner Abwesenheit kein Zweiter an der Anlage zu schaffen macht ?
Zu 80% kann ich das ausschließen.
Aber ich hatte ja selbst denn Effekt schon mehrfach erlebt... innerhalb meiner Arbeitszeit. Und in der Zeit bin ich der Einzigste (Es gibt bei uns nur einen Elektriker pro Schicht)
[/quote]

Viele Grüße
 
Bei einer CPU mit MMC-Card hast du keine Möglichkeit dir auszusuchen ob das Prog darauf gespeichert wird, oder nicht,
es landet in jedem Fall auf der Karte!

MMC ist das grüne Ding, was in der CPU steckt.

Die einzige sinnvolle Funktion ist Ram nach Rom, weil du damit einen funktionierenden Aktualwerte-Satz der DB's auf der MMC hast,
mehr passiert da aber dann auch schon nicht mehr.

Was bei Anwenderprog -> Memory Card genau passiert, keine Ahnung,
habe ich noch nie verwendet,
und meine Bausteine überleben einen Spannungsausfall ohne Probleme.

Wobei meine Tendenz auch eher zu defekter MMC-Karte geht, ich hatte den Fall schon mal bei einer CF-Karte,
die war nicht mehr formatierbar oder auch nicht beschreibbar, es waren aber sämtliche "alten" Daten noch ohne Probleme zu lesen,
vielleicht ist es ja hier ähnlich, dazu müsste man aber genau wissen was beim übertragen eines Bausteines der Reihe nach passiert.

Mfg
Manuel
 
Zuletzt bearbeitet:
Zurück
Oben