Ok,
die Symbolik hast du ja schon.
ACHTUNG, bitte nur mit Sicherungskopien arbeiten!!!
Das ganze funktioniert nur relativ einfach wenn sich die Programme nur im Code unterscheiden, aber in den Datenstructuren gleich sind!
Das einfachste wird sein das du erstmal guckst welche Bausteine unterschiedlich sind. Das kannst du machen indem du das Offline-Projekt öffnest mit deinem Online-Abzug vergleichst. Dabei konzentrierst du dich erstmal nur auf die FB, FC und OBs. Die Datenbausteine werden sehr wahrscheinlich andere Daten enthalten, das ist normal.
Bei geöffnetem Projekt wählst du einen Bausteinordner an, dann gehst du auf Extras->Bausteine vergleichen->
und wählst deine beiden Projekte aus.
Notiere dir in welchen Bausteinen es CODE! Unterschiede gibt.
Prüfe ob die Datenbausteine Online und Offline die gleiche Grösse haben.
Wenn nicht, hast du ein Problem.
Nun wählst du mit der rechten Maustaste einmal den Bausteinordner von deinem Offline-Projekt an, und wählst "Objekteigenschaften".
Dann auf den Reiter "Operandenvorrang". Hier muss "Ablsoutwert hat Vorrang, alle Symbole werden...blabla" angewählt sein.
Nun kannst du die Bausteine die sich im CODE! unterscheiden öffnen, und alle Netzwerke der Online-Version mit "kopieren" in die Offline-Version übertragen. Das was in der Offline-Version an Netzwerken vorhanden ist sollte natürlich vorher gelöscht werden.
Nun speicherst du dass, und machst das bei jedem Baustein der Unterschiede hatte.
Danach stellst du den Operandenvorrang wieder auf Symbolisch, öffnest alle geänderten Bausteine, speicherst sie, und schliesst sie wieder.
Jetzt hast du wieder die Symbolik. Ob das was da an Symbolik richtig ist, muss du dann schon selbst prüfen, in dem du guckst ob das was da nun steht einen Sinn ergibt.
Das ist nur ein Weg das zu machen...
Wenn die globalen DBs in der grösse gleich sind, können die erstmal so im Projekt bleiben.
Nun gehst du an die Maschine, und machst mit deinem Projekt (die Offline-Version) einen Vergleich mit dem was in der CPU ist. Es sollten keine Code-Unterschiede da sein. Wenn keine da sind, wechselt du in den Online-Modus (bei der Standarteinstellung von Step7 ist es das 10 Icon von links).
Es öffnet sich ein Fenster in dem der Baustein-Ordner der CPU ist. Doppelklick...nun hast du deine Bausteine, die in der CPU sind.
Nun markierst du alle DBs in diesem Online-Ordner, rechte Maustaste ->kopieren.
Dann schliesst du das Fenster, wählst in deinem Offline-Projekt den Bausteinordner -> Einfügen ... Überschreiben...Ja.
Achtung! Ändere nichts in dem Online-Ordner, bis du sicher bist das dein Offline und dein Online-Projekt gleich sind! Arbeite nur mit Sicherheitskopien von beiden ! ! !
Es kann sein, das du nun beim öffnen von Bausteinen einen Zeitstempelkonflikt angezeigt bekommst. Das gilt dann aber nur für die Instanz-DBs. Deine globalen DBs sollten nun die aktuellen Werte in der CPU als Anfangswerte haben. Ich bin nicht sicher ob das bei den Instanz-DBs auch so funktioniert. Es könnte sein das du "Zugriffe prüfen und aktualiesieren" ausführen musst. Das hat zur Folge das die aktuellen, in der CPU gespeicherten Daten nicht mit den Anfangswerten im Projekt übereinstimmen.
Das kann zu Problemen führen wenn du diese Instanz-DBs in die CPU spielst, und wichtige Werte darin vom Programmierer Online geändert wurden, sie aber sonst nirgendwo im Programm oder der HMI zugewiesen werden...
Ich hoffe ich habe es einigermassen verständlich erklärt, und nichts vergessen...
Viel Glück!
Torsten