Step 7 Db nicht remanent / Ram nach Rom

Deadmau5

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

nach einem Stromausfall waren die Aktualwerte (Produktionszähler,..) der Db´s gelöscht. Ich glaube mich zu erinnern dass nur die Werte von der letzten "Ram nach Rom kopieren" nach Neustart übernommen wurden.
Denn es werden ja nicht nach jedem Stromabfall die Aktualwerte vom Arbeitsspeicher nach dem Ladespeicher des MMC geladen, oder? (nur mit Pufferbatterie?)
Wieso heißt es denn dass alle Db´s remanent sind? Bezieht das sich nur auf Werte die im Db geladen wurden und vom Programm nicht mehr geändert werden?

Info Ram Rom hat mich irgendwie nicht weitergebracht.
-https://support.industry.siemens.com/cs/document/22295462?dti=0&lc=de-WW-https://cache.industry.siemens.com/dl/files/326/7302326/att_57204/v1/7302326_speicherkonzepte_bei_simatic_s7-300_d.pdf
"Wenn Sie die STEP 7 Funktion RAM nach ROM kopieren ...ausführen, werden die Aktualwerte der ablaufrelevanten Datenbausteineim Ladespeicher mit den Aktualwerten aus dem Arbeitspeicherüberschrieben. Werden die ablaufrelevanten Datenbausteine dann wiederin den Arbeitsspeicher übertragen (z. B. nach Urlöschen), dann werdendie neuen Aktualwerte aus dem Ladespeicher als Anfangswerte von derCPU übernommen. Diese neuen Anfangswerte werden in SIMATIC STEP7 in der Spalte „Aktualwert“ angezeigt."

Was kann ich machen damit die Zähler, timer,.. der Db´s erhalten bleiben? Muss ich nach jeder kleinen Änderung mit dem SFC84 die Db´s zur MMC geladen werden?

Verwende eine CPU 317F-2 V3.2. Das "non-Retain" Häkchen ist nirgends angewählt.


Danke im voraus :)

Deadmau5
 
Zuletzt bearbeitet:
Ich bin mir zwar nicht sicher, aber deine CPU ist eine ohne Pufferbatterie oder?

Wenn dem so ist, gehen deine Aktuallwerte bei einem Spannungsausfall normalerweise nicht verloren.
Allerdings gibt es mehrere Möglichkeiten(Programmierfehler, Firmwarefehler, Hardwaredefekt..) die zu solch einen Datenverlust führen können.

Um etwas genaueres dazu zu sagen, solltest du uns als erstes mal die Einträge im Diagnosepuffer zur Verfügung stellen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das Thema Pufferbatterie spielt nur bei alten CPUs eine Rolle.
Ich glaube aber, mich zu erinnern (habe gerade Step7 nicht installiert), dass unter den CPU-Eigenschaften die Remanenz zu konfigurieren ist.
Wenn für die DB's keine Einstellmöglichkeiten vorhanden sind, dann sind sie alle remanent.
Hängt aber auch alles von der gewählten CPU ab.
 
In der CPU ist keine Einstellungsmöglichkeit für die Db´s, sind also alle remanent.

Ja das könnte sein dass es durch eine veraltete Version kommt. Wo kann ich die genaue Firmware sehen, in der CPU steht nur V3.2?

Wann verwendet ihr denn Ram nach Rom kopieren? Manche schreiben dass man es vor jedem nach Hause gehen machen sollte.

2. Ist die Funktion "RAM to nach ROM kopieren" noch erforderlich?
Zum Sichern der Bausteine nicht. Wenn Sie aber Datenbausteine verändert haben, z.B. Regelparameter optimiert haben, so können Sie durch diese Funktion die geänderten Datenwerte auch auf der MMC (also auf dem Ladespeicher) absichern, so dass diese neuen Werte auch nach Urlöschen wieder zur Verfügung stehen (auch, sollte die MMC im Ersatzteilfall in eine andere CPU eingesetzt werden).Eingefügt aus <https://support.industry.siemens.com/cs/document/22295462?dti=0&lc=de-WW>


Bei jedem Laden wird doch sowieso zur MMC geschrieben?

Nebenbei: Beim Firmware-Update gehen die Aktualwerte verloren. Bitte sichern Sie diese bei Bedarf vor dem FW-Update mit der Funktion „RAM nach ROM kopieren …“.

 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ja das könnte sein dass es durch eine veraltete Version kommt. Wo kann ich die genaue Firmware sehen, in der CPU steht nur V3.2?

Der Firmwarestand der CPU steht auf der ersten Registerkarte die sich öffnet wenn du den Baugruppenzustand öffnest, es kann durchaus sein das dort nur ein "V3.2" steht.

Auf der zweiten Registerkarte ist übrigens der Diagnosepuffer zu finden, ohne die Informationen die dort drin stehen kann man hier noch ewig rumrätseln was dein Problem ist, also schreib uns doch mal bitte was dort drin steht. Es ist nämlich sinnfrei hier zwanghaft über eine "Ram nach Rom" Lösung nachzudenken bzw. diese zu Programmieren, wenn das ganze Problem durch ein einfaches Firmwareupdate zu lösen ist.


Wann verwendet ihr denn Ram nach Rom kopieren? Manche schreiben dass man es vor jedem nach Hause gehen machen sollte.
Ich habe diese Funktion bisher noch nie angewendet, zum einen weil es bei den von mir betreuten 400er-CPUs(mit Ram-Karte) sowieso blödsinn wäre und zum anderen habe ich für den Notfall immer einen relativ aktuellen AG-Abzug zur Hand, denn auch eine MMC kann kaputt gehen(z.b. weil Schaltschränke gut brennen oder Idioten die Speicherkarte mal kurz für zuhause brauchen).
 
Hallo Deadmau5,

vergiss die Funktion RAM nach ROM kopieren bei den CPU's mit MMC Card.Da bin ich am Anfang auch reingefallen.Deine DB's sind als Standard immer remanent.
Um das Problem zu lösen,die DB`s in der Online Ansicht des Editors löschen,Jetzt einmalig RAM nach ROM durchführen.Danach die DB's aus dem Offline Projekt wieder in die CPU spielen.
Jetzt kannst Du die Spannung ausschalten und alle danach vom Panel geänderten Aktualwerte sollten erhalten bleiben.
Es empfiehlt sich halt nur,die DB's von Zeit zu Zeit online abzuziehen und getrennt zu speichern oder in das Offline Projekt zu kopieren.
 
Um das Problem zu lösen,die DB`s in der Online Ansicht des Editors löschen,Jetzt einmalig RAM nach ROM durchführen.Danach die DB's aus dem Offline Projekt wieder in die CPU spielen.
Jetzt kannst Du die Spannung ausschalten und alle danach vom Panel geänderten Aktualwerte sollten erhalten bleiben.
Hmm, kannst Du mal erklären, was dieses Vorgehen bringen soll bzw. was dabei Deiner Meinung nach passiert?

Das Ganze kann reduziert werden auf nur den letzten Schritt: die DB aus dem Offline Projekt in die CPU laden. Dabei werden die Aktualwerte der Offline-DB zu Anfangswerten im Ladespeicher (MMC). (Es liegt am Programmierer, da sinnvolle Werte anzugeben.) Sofort bei dem Laden sowie bei späterem Urlöschen werden diese Werte in den Arbeitsspeicher geladen.

Sollen Aktualwerte aus dem Arbeitsspeicher urlöschfest auf der MMC hinterlegt werden, dann muß entweder das Programm SFC84 ausführen oder man muß RAM-nach-ROM-kopieren ausführen oder man lädt die DB von Online in ein Offline-Projekt und wieder zurück in die CPU (was einem selektiven RAM-nach-ROM-kopieren entspricht).


Dieses ganze Ladespeicher-Handling hat allerdings nur wenig mit "Remanenz" zu tun. Remanenz ist, wenn nach Netz-Ein die gleichen Werte wie beim letzten Netz-Aus im Arbeitsspeicher stehen. Dazu werden bei Netz-Aus die als remanent deklarierten Daten auf einen nichtflüchtigen Speicher gesichert und beim nächsten Netz-Ein von da wieder zurück in den Arbeitsspeicher gelesen. Der Ladespeicher (MMC) kommt nur ins Spiel, wenn bei dem sichern und zurücklesen was schiefgeht. Dann fordert die CPU urlöschen an.

Urlöschen passiert nur bei Remanenzverlust oder MMC-Tausch oder wenn es absichtlich ausgelöst wird.
Der TE hat leider nicht geschrieben, was im Diagnosepuffer seiner CPU stand ...

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wir müssen da zwei Sachen trennen:

1. Remanenz - Normalverhalten:
Beim Ausschalten der SPS werden mit dem letzten Rest an Energie die Aktualdaten auf einen nicht einsehbaren geschützten Bereich der MMC geschrieben
und beim Einschalten zurückkopiert. Das geht zu 99,99999% gut. (Es wird immer ein anderer Bereich genommen. Dadurch hält eine MMC für diese Fälle ewig.
Ich gehe davon aus, dass eine nominal 128kB MMC intern für diesen Fall viele viel größer ist, als man glauben mag. Aber das ist wohl geheim. )


2. Fehlverhalten:
Bei gewissen Firmwareständen z.B. einer CPU 315-2DP ging das schief (selbst an 4 CPUs erlebt) und es wurde ein Urlöschanforderung in Folge
einem vermeidlichen MMC-Kartentausch erkannt. Die CPU verbleibt dann zuerst im STOP. Ein erneutes Spannung AUS/EIN führt dann zum
Neustart mit den Initialwerten der DBs. Wenn diese Null sind. Dann ist alles so wie oben beschrieben.
 
Hallo Deadmau5,

vergiss die Funktion RAM nach ROM kopieren bei den CPU's mit MMC Card.Da bin ich am Anfang auch reingefallen.Deine DB's sind als Standard immer remanent.
Um das Problem zu lösen,die DB`s in der Online Ansicht des Editors löschen,Jetzt einmalig RAM nach ROM durchführen.Danach die DB's aus dem Offline Projekt wieder in die CPU spielen.
Jetzt kannst Du die Spannung ausschalten und alle danach vom Panel geänderten Aktualwerte sollten erhalten bleiben.
Es empfiehlt sich halt nur,die DB's von Zeit zu Zeit online abzuziehen und getrennt zu speichern oder in das Offline Projekt zu kopieren.
Was Ram nach Rom für einen Sinn haben soll, wenn du die DBs danach aus dem Offline-Projekt überträgst, weißt du dabei aber wahrscheinlich selbst nicht ...
 
Was Ram nach Rom für einen Sinn haben soll, wenn du die DBs danach aus dem Offline-Projekt überträgst, weißt du dabei aber wahrscheinlich selbst nicht ...

RAM-> ROM nach dem Löschen der Online DB's stellt sicher,dass die DB's wirklich von der MMC gelöscht sind.
Soweit ich mich noch recht erinnern kann,hatte damals nur das Online Löschen und erneute Übertragen der Offline DB's allein nicht ausgereicht.
Nach Spannungsausfall standen dann doch wieder die letzten RAM->ROM kopierten Werte.100% sicher bin ich mir jetzt auch nicht mehr,da das ganze schon über 10 Jahre her ist und ich seitdem die Funktion RAM nach ROM kopieren nie mehr angefasst habe.Sobald ich wieder eine echte CPU zur Hand habe,werde ich das noch mal ausprobieren.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Kann es sein, daß Du da was verwechselst mit CPU mit integriertem EEPROM-Ladespeicher wie die selige 314IFM?
Da wird beim Online-Löschen nur im Arbeitsspeicher gelöscht und RAM-nach-ROM ist immer nötig.

Ob beim Online-Löschen die Bausteine nur aus dem Arbeitsspeicher oder auch vom Ladespeicher gelöscht werden kann man leicht prüfen, indem man anschließend Urlöschen ausführt.

Harald
 
Zurück
Oben