Die genannte CPU hat den Geist aufgeben....Neue CPU eingebaut und MMC Karte gesteckt dann alles gestartet und dann bin ich drauf gekommen
Das 4 DBs (Achsen Parameter) nicht mehr gestimmt haben es waren die Anfangswerte drinnen....Plug&Play war das dann nicht!
An diesem Fiasko mit den verlorenen Einstellwerten ist wohl der ursprüngliche Programmierer "dran schuld". Wenn man diese Situation vermeiden will/muss, dann muss man sich mal mit dem Speicher-Aufbau und der Arbeitsweise der S7-300 CPUs beschäftigen. Eigentlich sollte jedem Programmierer klar sein, dass so essentielle Maschinendaten/Einstellwerte wie Achs-Parameter nicht nur "labil" im Arbeitsspeicher liegen dürfen, sondern unbedingt verlustsicher abgelegt werden müssen. Dafür muss der Programmier nach IBN allerdings noch ein paar Handgriffe zusätzlich tun.
Wie bereits geschrieben wurde, ist es für die Lebensdauer der MMC nicht gut, wenn dauernd alle Variablenänderungen auf die MMC zurückgeschrieben werden. Damit die CPU Variablenwerte nicht vergisst, kann man Variablen als "remanent" einrichten, dann überstehen die Variablenwerte ein Power-Off. Der Remanenz-Speicher ist allerdings ein spezieller Speicher, eingebaut in der CPU, nicht auf der MMC (wegen der Performance, bei Power-Off noch schnell in Millisekunden die Werte zu sichern, und um die MMC zu schonen). Wenn nun die CPU getauscht/gewechselt wird, dann kommt der eingebaute Remanenzspeicher nicht mit auf die neue CPU und die Werte in dem Speicher sind für die neue CPU verloren. Damit die Einstellwerte auch einen CPU-Wechsel überleben, müssen sie auf die MMC geschrieben werden, dann sind sie auch auf der neuen CPU wieder da. Dafür gibt es das Verfahren, geänderte Aktualwerte mit dem PG aus der CPU ins Projekt zurückzuladen ("Aktualwerte sichern"), die Werte in die Offline-DB ins Projekt zu laden und diese DB nochmal/wieder in die CPU zu laden. Dann sind die Aktualwerte auf der MMC.
Will man die Aktualwerte (gelegentlich) auch ohne PG im Anwenderprogramm rein innerhalb der CPU auf die MMC schreiben, dafür gibt es die SFC84 "WRIT_DBL", mit der Aktualwerte aus dem Arbeitsspeicher in die DB im Ladespeicher (MMC) geschrieben werden können.