Step 7 Simatic Manager: zwei Projektstände kombinieren

wolfgang_m

Level-2
Beiträge
10
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Simatic Manager 5.7
CPU314 IFM

Ich habe zwei Projektstände von einer Maschinensteuerung.
Einen alten Projektstand, das Originalprojekt inklusive Variablennamen, Symbolen, Kommentaren von der ersten Inbetriebnahme.
Dann hat diese Maschine > 20 Jahre "gelebt".
Ich habe mich per MPI Adapter verbunden und den jetzt aktuellen Stand ausgelesen. Der ausgelesene Stand beinhaltet jetzt natürlich keine Variablennamen und Kommentare usw. Der ausgelesene Stand zeigt mir auch dass in der Zwischenzeit einige wenige FUPs verändert wurden, sichtbar durch das Änderungsdatum.

Mein Ziel/Meine Frage:
Ich möchte den Originalstand verwenden, weil da die ganzen Kommentare und Variablennamen (Symbole/Symboltabelle) vorhanden sind. Kann ich das Originalprojekt jetzt um die geänderten FUPs ergänzen? Verliere ich in den geänderten FUPs alle alten Kommentare? Muss ich die geänderten FUPs zur Gänze ersetzen, oder kann ich das Ändern auch einzelne Netzwerke in den FUPs beschränken.

Aktuell fehlt mir der Plan, wie ich am besten vorgehen soll 🤔
 
Bei den "Classic" - Steuerungen ist um einiges mehr Vorsicht geboten. Um die Konsistenz der SW musst dich selber kümmern.

Mein Vorgehen in so einem Fall:
- Das akt Projekt auf Konsistenz in der SW checken, HW Konfig aktuell und in Ordnung
- DiagnossePuffer checken auf Zugriffsfehler
- Symbolik von beiden Projekten exportieren und mit einem Merge- Programm vergleichen um zu checken ob sich da was verändert hat.
- Bausteine als Quelle exportieren und im neuen Projekt neu übersetzten.

Auf alle Fälle nicht mit BackUps sparen.
 
-Der Konsistenz-Check wäre Ordner-Bausteine, Kontextmenü, "Bausteinkonsitenz prüfen"
-Der Bausteinvergleich ist eigentlich auch super, kannte ich vorher nicht, Kontextmenü, "Bausteine Vergleichen"
(gefunden in Step 7 Projekte vergleichen )


-Was passiert, wenn ich im geöffneten Originalprojektstand, die geänderten Bausteine aus dem Online-Projekt hochlade? Bleiben die Kommentare in diesen Bausteinen erhalten?
 
-Was passiert, wenn ich im geöffneten Originalprojektstand, die geänderten Bausteine aus dem Online-Projekt hochlade? Bleiben die Kommentare in diesen Bausteinen erhalten?
nein...

deshalb wie ich oben geschrieben habe, jede Zeile einzeln im alten Projektstand abändern und nach jeder zeile neuen Vergleich machen, dann springt er zur nächsten Abweichung...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Falls nicht schon geschehen: Archiviere dir das Originale Projekt das die Kommentare etc enthält. Für den Fall, dass du unbeabsichtigt etwas "zerschießt" hast du zumindest die Möglichkeit wieder daran zu kommen.
 
- Das akt Projekt auf Konsistenz in der SW checken, HW Konfig aktuell und in Ordnung
[..]
- Bausteine als Quelle exportieren und im neuen Projekt neu übersetzten.
Konnte man machen, aber nur um zu klären ob in das bestehende Projekt einige Macken gibts.
Nicht bedenkenlos in die Steuerung laden.

- Symbolik von beiden Projekten exportieren und mit einem Merge- Programm vergleichen um zu checken ob sich da was verändert hat.
Er hat für den 2. Projekt nur ein Upload ohne Symbolik.

Du kannst die Bausteine einzeln zeilenweise zw. alten Projekt und AG-Abzug Code-vergleichen und im alten Projekt solange Zeile für Zeile anpassen, bis keine Codeunterschiede mehr vorhanden sind...
+1
Das wäre auch meine Empfehlung wenn es um eine Anlage handelt der in Verwendung ist.

Noch ein Hinweis.
Um mit das aktualisierte offline Projekt online gehen zu können, müssen die geänderte Bausteine geladen werden (*).
Du kannst problemlos OBs laden,
aber FCs nur wenn es keine Änderungen in das Bausteinschnittstelle gibts,
und FBs nur wenn es keine Änderungen in das Bausteinschnittstelle oder in die Variablendeklaration gibts.

*:Selbst wenn die Code gleich ist, passen die Zeitstempel nicht. Dass blokiert das STEP7 die Baustein Online anzeigen will.
 
Zuletzt bearbeitet:
Ich habe vor die Codeunterschiede zeilenweise zu vergleichen und die Unterschiede anzugleichen.

Etwas Bammel habe ich dann schon vor der Situation, wenn ich das neue Programm in die Maschine einspiele.

FRAGE: Kann ich davon ausgehen, dass ich wenn ich die Maschine mittels "Station laden in PG" hochgeladen habe, ich eine komplette Sicherung des aktuellen Systems habe?
Wenn ich also die Software in der Steuerung löschen würde und diesen Stand einspielen würde, wäre ich wieder zu 100% am aktuell laufenden Stand?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
FRAGE: Kann ich davon ausgehen, dass ich wenn ich die Maschine mittels "Station laden in PG" hochgeladen habe, ich eine komplette Sicherung des aktuellen Systems habe?
Wenn ich also die Software in der Steuerung löschen würde und diesen Stand einspielen würde, wäre ich wieder zu 100% am aktuell laufenden Stand?
Nein (kommt drauf an)
bei den meisten Fällen kann das gut gehen, aber wir alten Hasen "unken" immer, was so alles schief gehen kann ;)

1) immer zusätzlich die Systemdaten extra sichern (von online nach offline kopieren) - es gibt viele Gründe warum
2) je nachdem, wie fachgerecht oder tricky das Programm programmiert wurde, kann es sein, dass Einstellwerte verloren gehen, weil sie z.B. in Merkern oder Zählern gespeichert sind, oder einige DB-Anfangswerte nicht die gesicherten Aktualwerte sein dürfen
3) wenn man die Anlage und das Programm nicht ganz genau kennt und ein unerwarteter Ausfall teuer wird, dann besser die original eingebaute CPU nicht anfassen (solange man nicht genau weiß, was man vorher hätte sichern müssen) und für die Rekonstruktion eine separate CPU einbauen
4) Nicht alles ist in der CPU gespeichert, z.B. sind in der SPS-Station vielleicht auch CP oder FM vorhanden, in denen Einstellungen oder Programmteile gespeichert sind?
 
zu 1) Was sind die Systemdaten? Wenn ich da drauf klicke zeigt der Simatic-Manager SDB0, SDB1, SDB2. Aber damit kann ich nichts weiter anfangen? Welchen Vorteil kann ich daraus ziehen, wenn ich diese Daten zu haben? Bzw. werden die Systemdaten ja auch beim hochgeladenen Projektstand angezeigt.
Da habe ich auch gleich eine Differenz. Der alte Stand inkl. Kommentare und Symbole hat zeigt einen SDB0 und SDB2.
Der Online-Stand zeigt SDB0, SDB1, SDB2.

neu) Kann ich auch irgendwie die Aktualwerte von Datenbausteinen sichern und dann später wieder einspielen
 
zu 1) Was sind die Systemdaten?
Das Objekt "Systemdaten" im Bausteine Ordner mit den Systemdatenbausteinen (SDB). Da werden HW Konfig, Verbindungskonfigurationen, ... abgelegt (Details: mit Doppelklick öffnen und dann den Hilfe-Button)
Beim Zurückladen "Station laden in PG" wird versucht, aus den SDB verschiedene Projektierungen zu rekonstruieren, was nicht immer vollständig geht oder man braucht zusätzliche Projektierpakete oder ... Je nachdem, mit welcher alten Step7-Version die HW Konfig mal projektiert und übersetzt wurde, kann es auch sein, dass die mit der neueren Step7-Version nicht übersetzt werden kann, weil da z.B. Fehler drin sind, die früher toleriert wurden aber mit der neuen Version nicht mehr.

neu) Kann ich auch irgendwie die Aktualwerte von Datenbausteinen sichern und dann später wieder einspielen
Immer wenn man einen DB von online kopiert, dann enthält der die Aktualwerte. Allerdings nicht die "anfänglichen Aktualwerte" (nach Urlöschen), die im Ladespeicher liegen. An die kommt man nur ran, wenn man Urlöschen ausführt und danach nicht in RUN geht (oder die MMC entnimmt und in einem Simatic-Speicherkartenleser liest). Allerdings werden beim Urlöschen alle Aktualwerte von DB und Merkern und Zählern ... gelöscht!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ein komplett Upload wurde ich sowiso machen.

Man konnte auch das Einhalt von Merkers, S5 Zähler und S5 Timer sichern mittels Beobachtungstabellen.
Es kann aber relativ viel Arbeit sein die Addressen zu finden, und es wird immer eine Risiko geben dass man etwas überseht.

Ist die Hardware ungeändert ?
Sind die Code-Unterschiede relativ klein ?
Umfasst die Unterschiede kein Deklarationenteil von FCs, FBs oder DBs ?
Wenn alles mit 'Ja' bestätigt werden kann wurde ich es wagen die geänderte Bausteine zu laden.

Wenn nur Code geladen wird (und keine Deklaration geändert wurde), dann sollte die Online Aktual Daten Werte, inklusiv Merker, S5 Zähler und S5 Timer nicht beeinflusst werden. Die Hardware und Verbindungen die in CPs geladen sind sollte nicht beeinflusst werden.
 
Die Hardware ist unverändert: ja
Die Codeunterschiede sind gering: ja
Keine Unterschiede im Deklarationsteil: ja

Habe mittlerweile die Codeunterschiede angeglichen.
Auch in den Datenbausteinen an die ausgelesenen Aktualwerte angeglichen.

Der Bausteinvergleich zeigt jetzt keine Unterschiede mehr.
Dei Baustein-Konsistenzprüfung bringt nur mehr eine Anzeige bezüglich SFB38. Das ist aber ein Baustein der CPU 314 Sonderfunktion Zähler mit KnowHow-Schutz. Da kann ich eh nicht neu übersetzen.

Der Bausteinvergleich zeigt auch nie Unterschiede in Systembausteinen SDBs an. Obwohl ich online die 3 SDBs SDB0, SDB1, SDB2 sehe, und in der alten Sicherung nur SDB0 und SDB2.


->Ich denke, ich habe alles angegelichen, was ich konnte.

Nocheinmal ein Frage. Ich habe noch nie mit dem alten SimaticManager ein Programm geladen.
Wenn ich die Funktion "Laden" am Baustein-Ordner anwende, werden dann alle geänderten Bausteine auf das Zielsystem geladen oder muss ich das einzeln machen?
Um bei der CPU314 IFM laden zu können, muss ich den Betriebsartenschalter auf RUN-P stellen, korrekt? Bzw. habe ich gesehen, dass bei der Maschine der Schalter auf RUN-P steht, soll ich nach dem Laden auf RUN stellen, bringt das was?
 
- zum Laden nur die betreffenden Bausteine markieren und dann Laden aufrufen
- Achtung: falls geänderte Bausteinschnittstellen dabei sind oder Aufrufe vorher noch nicht vorhandener Bausteine oder Zugriffe auf neue DB-Adressen, dann in STOP laden oder überlegen, in welcher Reihenfolge die Baustreine (ggf. mit mehreren Ladevorgängen) geladen werden müssen, falls Laden in RUN erfolgen muss.
- Beim Laden von DB werden alle online-Aktualwerte der betreffenden DB durch die Aktualwerte im offline Projekt überschrieben!
- die CPU muss in STOP oder RUN-P sein

Welche CPU 314 IFM hast du genau? Artikelnummer 6ES7 314........?
Steckt eine MemoryCard? Was für eine? Artikelnummer ....?
Achtung: Das Laden lädt die Bausteine in den Ladespeicher RAM und den Arbeitsspeicher. Bei Urlöschen (z.B. Batteriefehler) wird das im Ladespeicher (EP)ROM liegende (evtl. alte Programmversion!) wieder in den Arbeitsspeicher geladen. Es muss also noch "RAM-nach-ROM-kopieren" ausgeführt werden, was allerdings nur im STOP der CPU geht ---> den STOP-Zeitpunkt planen und nicht vergessen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
PS: kennst du das Programm gut? Sind da eventuell Programmier"tricks" enthalten, die anhand von DB-Startwerten einen Neustart nach Urlöschen erkennen sollen? Dann darf der betreffende DB NICHT mit dem momentanen Aktualwert in den Ladespeicher ROM kopiert werden, sondern muss vor dem RAM-nach-ROM-kopieren im STOP der CPU erneut aus dem offline Projekt in die CPU kopiert werden.
 
Die CPU ist eine 6ES7 314-5AE03-0AB0
Wir haben keine Speicherkarte.
Das mit RAM nach ROM ist mir neu. Also ein normales "Laden" lädt hier nur in das RAM und ich muss selbst dafür sorgen, dass das Programm in das ROM kommt? Oder ist das nur im Zusammenhang mit einer Speicherkarte?
 
Die CPU ist eine 6ES7 314-5AE03-0AB0
die 314-5AE03 hat einen integrierten Ladespeicher ROM (FEPROM 48 kB)

Das mit RAM nach ROM ist mir neu. Also ein normales "Laden" lädt hier nur in das RAM und ich muss selbst dafür sorgen, dass das Programm in das ROM kommt? Oder ist das nur im Zusammenhang mit einer Speicherkarte?
Wenn Ladespeicher ROM vorhanden ist (integriert oder Speicherkarte MC), dann muss man selbst extra dafür sorgen, dass das Programm in den Ladespeicher ROM kommt, damit es bei Batteriefehler oder sonstigem Urlöschen nicht weg ist bzw. das vorherige alte Programm aus dem Ladespeicher ROM geladen wird.
Bei den neueren S7-300 CPU mit der MMC Speicherkarte wird das Programm beim Laden immer über die Speicherkarte (Ladespeicher ROM) in den Arbeitsspeicher geladen, da braucht man nicht extra RAM-nach-ROM-aufrufen (es sei denn, man will die DB-Aktualwerte aller DB vom Arbeitsspeicher auf die MMC laden).
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Mir wurde erzählt, bei der Maschine wurde schon mal die Batterie erneuert.
Wie kann die Maschine / das Programm einen Batteriewechsel überleben ? -> wenn man die Batterie bei eingeschalteter CPU / Spannungsversorgung tauscht?
 
PS: :oops: ich hatte mich bei den technischen Daten der CPU verguckt und habe den Beitrag #17 korrigiert.

Die 314-5AE03 hat integrierten Ladespeicher ROM !

Tipp: den Bausteine-Ordner in online-Ansicht umschalten, dann wird angezeigt, ob die Bausteine im Arbeitsspeicher aus dem Ladespeicher ROM "EPROM" oder "RAM" stammen. Normal sollten alle mit "EPROM" markiert sein. Wenn bei einem Baustein "RAM" steht, dann wurde er später mit dem PG nachgeladen (oder DB evtl. im Programm erzeugt) und diese Bausteine sind möglicherweise (meistens) unterschiedlich zur Bausteinversion im Ladespeicher ROM (oder sind dort gar nicht vorhanden!)
 
Zurück
Oben