Step 7 Abgleich ONLINE -> OFFLINE DBs

Feng

Level-1
Beiträge
116
Reaktionspunkte
21
Zuviel Werbung?
-> Hier kostenlos registrieren
Liebe Gemeinde – ich habe mit meiner Haustechnik (2x CPU 315-2 PN/DP, programmiert mit AWL, Arbeitsspeicher: 270k, 120k) - speziell für die DatenBaustein DBs -

ein Problem:
Ich möchte die Aktualdaten der CPU-DBs mindestens 1x am Tag in die offline-DBs des Programmiergerätes sichern. Mein Programm wächst nunmehr seit 10 Jahren. Dabei passiert es immer wieder, dass ich in einem offline-DB etwas ändere und vergesse, die Aktualdaten der CPU mit den offline-DB-Daten vorher abzugleichen (Bausteinkonsistenz prüfen, usw).
Wenn ich dann die CPU-online-DBs in die offline-DBs (mit angenommen einem geringfügig geänderten DB) EINFÜGE, lässt mich die Siemens-Software gnadenlos ohne Vorwarnung in die Falle laufen -->die gesamte Symbolik in diesem angenommenen offline-DB ist weg! Immerhin – fast sadistisch – erscheint beim ÖFFNEN des Krüppel-DBs eine Meldung, dass alle Symbole und Kommentare in dem DB leider futsch sind - da fehlt eigentlich nur noch ein:sb11: . . .

Die Folge: Meinerseits eher schlechte Laune . . .
icon8.png

Dann mühselig mit einer (hoffentlich existierenden!) Sicherungskopie reparieren . . .
Dürfte einigen Usern nicht unbekannt sein . . .
icon9.png


Was ich vor dem Schlafengehen zuweilen mache: a) Bausteinkonsistenz prüfen b) alle online-DBs KOPIEREN c) die kopierten online-DBs in die offline-DBs EINFÜGEN (aktualisieren) und dann – wichtig! - die Angstprobe d) alle (noch markierten) offline-DBs ÖFFNEN - - bibbern, ob vielleicht eine Fehlermeldung erscheint . . . Uff !
(Irgendwie für einen Weltkonzern Siemens unwürdig…)

Mein Wunsch: Jeweils 1 mal am Tag (z.B. Mitternacht) per Programm alle online-DBs der CPU per Programm in entsprechend viele zusätzliche online-Sicherungs-DBs (evtl. auch in die offline-DBs selbst) automatisch kopieren.

Mein Wissensstand: Nie einen Siemens-Programmierkurs gesehen. In AWL inzwischen einigermaßen fit (Buch von Hans Berger „Automatisieren mit STEP 7 in AWL und SCL“). Mit SFBs und SFCs noch wenig bewandert.

Frage an die Experten: Gibt es für meinen Wunsch eine „überschaubare“ Lösung?

Vielen Dank schon mal
Gruß Feng
 
Zuletzt bearbeitet:
Mein Programm wächst nunmehr seit 10 Jahren. Dabei passiert es immer wieder, dass ich in einem DB etwas ändere und vergesse, die Aktualdaten der CPU mit den offline-DB-Daten vorher abzugleichen (Bausteinkonsistenz prüfen, usw).
Wenn ich dann die CPU-online-DBs in die offline-DBs kopiere, lässt mich die Siemens-Software gnadenlos ohne Vorwarnung in die Falle laufen (alle Symbole im DB sind weg!). Immerhin – fast sadistisch – erscheint beim Öffnen des DBs eine Meldung, dass alle Symbole und Kommentare in dem DB leider futsch sind . . . Meinerseits sehr schlechte Laune . . .
icon8.png

Ich glaube du vermischt das was, oder musst deine Beschreibung nochmal überarbeiten. Durch das nicht sichern der Aktuadaten ändert sich an der Symbolik inkl. Kommentaren eines Offlinedbs nicht.
Wenn du auf einen DB online verbinden willst der offline eine andere Länge hat, gibts probleme mit der Darstellung (verändert ebenfalls nix am offline DB)

[/QUOTE]
Mein Wunsch: Jeweils 1 mal am Tag (z.B. Mitternacht) per Programm alle online-DBs der CPU per Programm in entsprechend viele zusätzliche online-Sicherungs-DBs (evtl. auch die offline-DBs selbst) automatisch kopieren.
[/QUOTE]

Das ist möglich z.B. durch CREA_DBL, WRIT_DBL und READ_DBL (SFC82-84). lässt sich zur laufzeit DB Speicher erzeugen z.b. nur im Ladespeicher um Aktualdaten drin zu sichern und zurückzuladen.
Darin ist keine Symbolik. Adressänderungen der gesicherten Variablen lassen sich dadurch nicht retten.
Wenn man so sichern und wiederherstellen will. ist es essentiel das die Daten bei änderungen sich nicht verschieben. Also in Strukturen des DBs immer genügend Reserve einbauen die man dann ggf in Variablen umbenennen kann.

Ich hab da mal was angefangen, schläft aber etwas zur zeit. Ist für die 1500er aber eine Adaptierung an 300/400 ist nicht so schwer.
https://www.sps-forum.de/simatic/85...m-reinit-zu-verhindern.html?highlight=CREA_DB

mfg René
 
Das ist möglich z.B. durch CREA_DBL, WRIT_DBL und READ_DBL (SFC82-84). lässt sich zur laufzeit DB Speicher erzeugen z.b. nur im Ladespeicher um Aktualdaten drin zu sichern und zurückzuladen.
Darin ist keine Symbolik. Adressänderungen der gesicherten Variablen lassen sich dadurch nicht retten.

Danke René - aber im Ladespeicher (MMC) möchte ich das lieber nicht sichern, weil der Baustein das auf längere Zeit nicht aushält (bei mir z.B. >365 x Laden /Jahr...).
Ich möchte das gern offline im PC speichern.
Gruß Feng
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke René - aber im Ladespeicher (MMC) möchte ich das lieber nicht sichern, weil der Baustein das auf längere Zeit nicht aushält (bei mir z.B. >365 x Laden /Jahr...).
Ich möchte das gern offline im PC speichern.

Das dürfte kein Problem darstellen. die MMCs sind auf minimum 100'000 Schreibvorgänge ausgelegt. Mehr wie 100 Jahre wird auch deine Anlage kaum stehen.

mfG René
 
Das dürfte kein Problem darstellen. die MMCs sind auf minimum 100'000 Schreibvorgänge ausgelegt. Mehr wie 100 Jahre wird auch deine Anlage kaum stehen.

Danke für den Hinweis - aber a) weiß ich nicht, wieviel mein MMC schon auf dem Buckel hat und b) würde ich gerne die Symbolik dabei haben.

Kleine Analogie: Ich laufe jedes Jahr 1000 km. Uiihh!! wirst du vielleicht denken - sportlicher Typ!
Ist nicht - das sind noch nicht einmal 3 km /Tag . . .
Gruß Feng
 
Zurück
Oben