Step 7 Simatic Manager S7-300 Programmvergleich & Backup

Lennert

New member
Beiträge
4
Punkte Reaktionen
0
Zuviel Werbung?
->Hier kostenlos registrieren
Hallo zusammen,

ich bin ein ziemlicher Frischling, bin aber gerade der einzige der schon mal etwas mit einer SPS zu tun hatte und habe eine (hoffentlich dann doch nicht ..) heikle Aufgabe vor mir. Ich muss in einem S7-300 Programm eine einfache Verknüpfung ändern. Das Problem ist, dass leider unsere Projektstände nicht perfekt sind. Der Online/Offline Vergleich hat Unterschiede in DB's angezeigt: Online gibt es einen DB mehr als Offline - dieser scheint aber auch nur eine Kopie eines andern DB's zu sein. Da allerdings alle OB's, FC's etc., im Vergleich, sich nicht unterscheiden kann der neue DB keine Rolle spielen denke ich mir. Lediglich im verknüpften HMI könnte dieser eingebunden sein ohne das es in dem Vergleich auftaucht oder? (Frage 1)

Und nun meine hauptsächliche Frage: Was muss ich tun um ein Backup der Online Version zu erstellen, welches ich notfalls einfach wieder aufspielen kann? Nach meiner Recherche wäre mein vorgehen im Simatic Manager ein neues Projekt anlegen, Zielsystem -> "Upload to PG" speichern, fertig.
Habe ich damit dann wirklich ein vollwertiges Backup erschaffen, welches ich einfach wieder laden kann? Mangels Erfahrung mache ich mir da Sorgen, dass es eventuell Probleme mit der HW Konfig, der HMI Schnittstelle oder Sonstigen geben könnte das ich nicht auf dem Schirm habe. (Frage 2)

Und eventuell noch zum Verständnis: Unterscheidet sich obiges Vorgehen davon, das Online-Programm zu öffnen und einfach alle Bausteine in ein neues Projekt zu kopieren? Habe ich damit auch die nötige HW Konfig. im Projekt, sodass ich es einfach wieder aufspielen könnte? (Frage 3)

Vielen Dank schon mal im Voraus für eure Zeit & beste Grüße
Lennert
 

ducati

Well-known member
Beiträge
6.662
Punkte Reaktionen
1.391
Wenns sich nur in dem einen DB unterscheidet, kopiere diesen einen DB einfach von Online -> Offline...

(mach aber von dem Offline-Projekt aber vorher ne Kopie, falls Du das nicht schon hast)
 
OP
L

Lennert

New member
Beiträge
4
Punkte Reaktionen
0
Zuviel Werbung?
->Hier kostenlos registrieren
Hi besten Dank für die super schnelle Antwort!

Sicherheitskopien vom Offline-Projekt sind da. Deine Idee ist auf jeden Fall ein guter Anfang, werde ich mit aufnehmen.

Zum Thema Backup wäre es aber trotzdem noch interessant, ob ich das richtig verstanden habe, es klingt irgendwie zu einfach um wahr zu sein.
 

ducati

Well-known member
Beiträge
6.662
Punkte Reaktionen
1.391
Zum Thema Backup wäre es aber trotzdem noch interessant, ob ich das richtig verstanden habe, es klingt irgendwie zu einfach um wahr zu sein.
Du kannst zwar die komplette CPU abziehen und auch wieder einspielen. Nur hast Du in dem abgezogenen Projekt keine Kommentare, keine Symboliken, garnichts... Von daher macht das in Deinem Fall keinen Sinn, da Du ja ein ordentliches Offlineprojekt hast, bis auf den einen DB...

Was ist das denn für ein DB? Könnte es sein, dass er Online erzeugt wird, also durch das SPS-Programm?

PS: wenn das eine ganz wichtige Anlage ist, und nix schiefgehen darf, würd ich aber bei allem was ich tue an Deiner Stelle ziemlich vorsichtig sein...
 
OP
L

Lennert

New member
Beiträge
4
Punkte Reaktionen
0
Du kannst zwar die komplette CPU abziehen und auch wieder einspielen.
Und gibt es da einen Unterschied zwischen den besagten Methoden? Copy/Paste in ein neues Projekt vs "Upload to PG"?

Nur hast Du in dem abgezogenen Projekt keine Kommentare, keine Symboliken, garnichts... Von daher macht das in Deinem Fall keinen Sinn, da Du ja ein ordentliches Offlineprojekt hast, bis auf den einen DB...
Ja das ist mir bewusst, das ganze soll in einem größeren Rahmen dann auch wieder richtig auf Vordermann gebracht werden, jetzt gerade geht es nur darum ein Backup vom Ist-Zustand zu haben, sodass dieser im Zweifel wiederhergestellt werden kann.

Was ist das denn für ein DB? Könnte es sein, dass er Online erzeugt wird, also durch das SPS-Programm?
Oh gute Frage, ausschließen kann ich das nicht, ich werde mal im Programm danach Ausschau halten

PS: wenn das eine ganz wichtige Anlage ist, und nix schiefgehen darf, würd ich aber bei allem was ich tue an Deiner Stelle ziemlich vorsichtig sein...
Ganz meine Einstellung :D
 

PN/DP

User des Jahres 2011-2013; 2015-2017; 2020-2021
Beiträge
18.292
Punkte Reaktionen
5.429
Zuviel Werbung?
->Hier kostenlos registrieren
"Upload to PG" ("Station laden in PG...") holt das Programm aus der CPU und rekonstruiert "weitgehend" das Projekt: HW Konfig, Verbindungen, andere Einstellungen...
Dabei kann es allerdings passieren daß im Bausteine-Ordner "Systemdaten" erzeugt werden, die sich von den Online-Systemdaten unterscheiden! (**)
Deshalb unbedingt noch ein Copy/Paste-Backup von Online ins Offline-Projekt in einen separaten Programmordner (*) machen, und die Bausteine in dem Ordner nicht anfassen. Das ist eine 1:1 Programm-Kopie, die im Notfall per Copy/Paste so wieder in die CPU zurückkopiert werden kann und den ursprünglichen Zustand im Arbeitsspeicher wiederherstellt.

(*) ganz oben im Projektbaum > Rechtsmausklick: Neues Objekt einfügen > S7-Programm
Das Programm umbenennen z.B. zu "Online_Backup_210727", und den da im Bausteine-Ordner automatisch angelegten OB1 löschen.

(**) es kann sein, daß die Online-Systemdaten Fehler oder von der aktuellen Step7-Version nicht (mehr) unterstützte Konfigurationsdaten enthalten

Nachtrag:
Noch ein Problem bei Backup von DB: beim Herauskopieren von DB aus der CPU werden die DB-Werte durch die Aktualwerte aus dem Arbeitsspeicher ersetzt. Das ist meistens eine gute Sache. Wenn aber das Programm darauf setzt, daß bei Re-Initialisierung eines DB andere Werte in Variablen stehen als nach einem normalen STOP/RUN, dann funktioniert diese Initialisierungs-Erkennung nach einem Zurückkopieren in die CPU nicht mehr, weil dabei die vorher aus dem Arbeitsspeicher herausgeladenen Aktualwerte zu "anfänglichen Aktualwerten" im Ladespeicher werden.

Um wirklich eine 1:1-Kopie des Programms von der MemoryCard der CPU zu erhalten, muß man vor dem Herauskopieren ein Urlöschen der CPU machen und direkt danach (im STOP der CPU, ohne in RUN zu schalten!) das Programm herausladen. Allerdings sind bei diesem Vorgehen die Aktualwerte im Arbeitsspeicher weg... Also am sichersten, man macht eine Kopie des aktuellen Zustandes (mit Aktualwerten) und noch eine zweite Kopie nach Urlöschen.

Harald
 
Zuletzt bearbeitet:

ducati

Well-known member
Beiträge
6.662
Punkte Reaktionen
1.391
Ganz meine Einstellung :D
Wenn Du Dir nicht sicher bist, was Du tust, dann nützt Dir ein Backup auch nichts, wenn Du nicht sicher bist, ob es richtig abgezogen wurde, bzw. wie Du es richtig wieder einspielst...

Also wie gesagt, wenn Dein Offline-Projekt OK ist, incl. auch Vergleich der SDBs, dann brauchst Du kein zusätzliches Backup nur für den einen DB. wenn Du aber nicht sicher bist, dass Du den Online/Offline-Vergleich überhaupt richtig gemacht hast, dann würd ich generell die Finger davon lassen, bzw. erstmal mit ner Test-SPS im Büro rumspielen...
 
OP
L

Lennert

New member
Beiträge
4
Punkte Reaktionen
0
Ich habe jetzt 2 Backups erstellt wie von PN/DP vorgeschlagen, beide zeigen im Bausteinvergleich inkl. SDBs keine Unterschiede (bis auf Aktualwerte)

den Ansatz von ducati den Unterschiedlichen Baustein in das Offlineprojekt zu kopieren habe ich auch verfolgt und habe auch dadurch ein Projekt erhalten was im Bausteinvergleich inkl. SDBs keine Unterschiede bis auf Aktualwerte angibt.

Vielen Dank so weit für die Verständnishilfen!

Also wie gesagt, wenn Dein Offline-Projekt OK ist, incl. auch Vergleich der SDBs, dann brauchst Du kein zusätzliches Backup nur für den einen DB. wenn Du aber nicht sicher bist, dass Du den Online/Offline-Vergleich überhaupt richtig gemacht hast, dann würd ich generell die Finger davon lassen,
Was kann denn beim Online/Offline-Vergleich falsch gemacht werden, bzw. was kann ich da als Laie leicht übersehen?

bzw. erstmal mit ner Test-SPS im Büro rumspielen...
ja die Möglichkeit hätte ich zu gerne ...
 

ducati

Well-known member
Beiträge
6.662
Punkte Reaktionen
1.391
Zuviel Werbung?
->Hier kostenlos registrieren
Was kann denn beim Online/Offline-Vergleich falsch gemacht werden, bzw. was kann ich da als Laie leicht übersehen?
na z.B. kannst Du vergessen die SDBs mit zu vergleichen... oder Du brauchst zwingend die Aktualwerte im Projekt, damit die Anlage ordentlich läuft, dann musst natürlich die entsprechenden DBs auch mit Aktualwerten vergleichen. usw.
 

ducati

Well-known member
Beiträge
6.662
Punkte Reaktionen
1.391
Ich habe jetzt 2 Backups erstellt wie von PN/DP vorgeschlagen, beide zeigen im Bausteinvergleich inkl. SDBs keine Unterschiede (bis auf Aktualwerte)
Die Backups haben aber keine Kommentare usw. sind somit so ziemlich nutzlos...
den Ansatz von ducati den Unterschiedlichen Baustein in das Offlineprojekt zu kopieren habe ich auch verfolgt und habe auch dadurch ein Projekt erhalten was im Bausteinvergleich inkl. SDBs keine Unterschiede bis auf Aktualwerte angibt.
das ist die Grundlage, um die Anlage auch die nächsten Jahre am Leben zu erhalten!
PS: es sei denn, Du findest noch irgendwo das wirklich aktuelle Projekt incl. dem einen DB.
 

PN/DP

User des Jahres 2011-2013; 2015-2017; 2020-2021
Beiträge
18.292
Punkte Reaktionen
5.429
Der Online/Offline Vergleich hat Unterschiede in DB's angezeigt: Online gibt es einen DB mehr als Offline - dieser scheint aber auch nur eine Kopie eines andern DB's zu sein.
Es könnte sein, daß der Kopie-DB von einem Online Change eines DB im RUN stammt und nun noch als unbenötigte Leiche in der CPU liegt.
(Kopie des zu ladenden DB erstellen und in die CPU laden, am Ende des OB1 mit SFC20 BLKMOV den DB in den Kopie-DB kopieren, OB1 laden, am Anfang des OB1 mit BLKMOV den Kopie-DB in den DB zurückkopieren, OB1 laden, nun kann der Offline DB in die CPU geladen werden mit Erhalt der Online-Aktualdaten und neuem Zeitstempel und ggf. neuer Symbolik, dann den ursprünglichen OB1 ohne die BLKMOV-Aufrufe in die CPU laden, danach den Kopie-DB offline und online löschen - vielleicht wurde das online Löschen vergessen)

Da allerdings alle OB's, FC's etc., im Vergleich, sich nicht unterscheiden kann der neue DB keine Rolle spielen denke ich mir.
Das kann man so nicht sagen. Der DB kann (versehentlich?) im Offline Projekt gelöscht worden sein. Oder erst zur Laufzeit online erzeugt worden sein. Suchtip: Gibt es im Programm einen Aufruf der SFC22 "CREAT_DB"? Bausteinkonsistenzprüfung durchführen, Referenzdaten generieren


Die Backups haben aber keine Kommentare usw. sind somit so ziemlich nutzlos...
Das kann man so nicht sagen. Wenn man ein Projekt mit Kommentaren und Symbolik hat, dann hat auch das Copy/Paste-Backup des Online-Programms Kommentare und Symbolik (wenn man das richtig macht: aus dem Offline-Bausteine-Ordner in die Online-Ansicht wechseln).

Harald
 
Zuletzt bearbeitet:
Oben