Step 7 Step7 AG-Abzug

Dataworld-EDV

Level-2
Beiträge
114
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Zusammen,
ich muss an einer Anlage die CPU wechseln.
Der Online AG-Abzug muss wieder auf die neue SPS, da sehr viele Maschinen-Einstellungen in DB´s gespeichert sind.
HW-Konfig geändert, AG-Abzug eingespielt, alles soweit ok.
Nur wenn ich mit den Offline-DB´s nun Online gehen will, geht das leider nicht.
Ich kann ja aber auch nicht den Offline DB übertrtagen, dann sind die ganzen Einstellungen ja wieder gelöscht.
Wie macht Ihr das??

Gruss
 
Projekt mit dem Manager öffnen.
Das ganze bevor du die CPU tauscht (HW-Config)
Dann auf Online-Ansicht klicken. NICHT über erreichbare Teilnehmer.
Die Online DB's in das Offline-Projekt kopieren.
Wenn die Strktur der Online-DB's mit den Offline-DB's übereinanderstimmt bleiben alle Symbolnamen erhalten.
Das gleiche gilt für FB's/FC's, falls nötig
evtl mal vorher einen Vergleich machen On-/Offline.

Nun hast du alle Aktualwerte im Offline-Projekt.
CPU tauschen und alles zurückspielen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Zum Sichern der DB-Aktualdaten mit Erhalt der DB-Struktur und -Symbolik mußt Du aus dem Bausteine-Ordner der CPU im Projekt online gehen - also auf keinen Fall über "Erreichbare Teilnehmer" oder "Station laden in PG"!
Dann kennt Step7 beim Kopieren die ursprüngliche Struktur und Symbolik der DB und übernimmt die in die offline Kopien.

Harald
 
Dann wird das ganze kopliziert.
Ich habe mir dafür mal einen Baustein geschrieben.
In der CPU:
Ich kopiere den Online-DB in einen weiteren DB mit der gleichen länge
anscchliessend kopiere ich den offline-DB in die cpu.
danach kopiere ich den inhalt des weiteren DB's zurück in den Orginal-DB
 
Wenn ich aber leider nur einen AG-Abzug habe über "erreichbare Teilnehmer"?
Dann musst Du händisch aus der Sicherung der Aktualdaten (ohne Symbolik) und der Symbolik (ohne Aktualdaten) wieder online-DB mit Aktualdaten und Symbolik zusammenbasteln. Schneller Weg (aber nicht ganz korrekt):
- CPU am besten in STOP setzen
- in den offline Bausteine-Ordner der CPU im originalen Projekt gehen
- alle DB markieren und in die CPU laden --> die Symbolik der online-DB ist nun wieder klar
- in den Bausteine-Ordner der AG-Sicherung gehen
- alle DB markieren und "Kopieren" (Strg+C)
- in den Bausteine-Ordner der CPU im originalen Projekt gehen
- hier online gehen (Ansicht > Online)
- im nun geöffneten ONLINE-Fenster "Einfügen" (Strg+V) --> die Aktualwerte der Sicherung sind wieder hergestellt ohne die Symbolik zu zerschießen

Allerdings werden bei diesem schnellen Weg die Aktualwerte der Sicherung zu Anfangswerten nach Urlöschen/Kaltstart. Das ist nicht 100% das Gleiche wie in der ursprünglichen CPU, gerne aber so erwünscht. Wenn allerdings die im originalen offline-Projekt als "Aktualwert" festgelegten Werte als Anfangswerte nach Urlöschen in den Ladespeicher geschrieben werden sollen, dann muß man die offline DB in die CPU laden und die gewünschten Aktualwerte mit einer Beobachtungstabelle schreiben oder mit der CPU selber einstellen:
Angenommen DB123 mit Länge 100 Byte soll mit den offline-Aktualwerten als Urlösch/Kaltstart-Anfangswerte in die CPU geladen werden, aber trotzdem die Aktualwerte der Sicherung behalten:
- OB1 aus dem originalen Projekt sichern ("Kopieren" und in einem anderen Bausteine-Ordner "Einfügen") (oder im folgenden den OB1 nicht speichern, oder den OB1 direkt online ändern)
- DB123 aus der Sicherung in die CPU kopieren --> die gesicherten Aktualwerte sind wieder da
- in den Bausteine-Ordner der CPU im originalen offline Projekt gehen
- den DB123 "Kopieren" (Strg+C)
- "Einfügen" (Strg+V) --> "Das Objekt 'DB123' existiert bereits. Umbenennen?" --> Ja, umbennen zu einer noch freien DB-Nummer, z.B. DB1123
- den neu erzeugten DB1123 in die CPU laden
- im OB1 ganz am Ende die Aktualwerte in DB1123 sichern:
Code:
//letztes Netzwerk
CALL "BLKMOVE" //SFC20
 SRCBLK :=P#DB123.DBX0.0 BYTE 100
 RET_VAL:=#OB1_MIN_CYCLE        //oder irgendeine andere freie INT-Adresse
 DSTBLK :=P#DB1123.DBX0.0 BYTE 100  //temporäre Kopie
- OB1 in die CPU laden --> nun werden am Ende des OB1 die Aktualwerte in DB1123 gesichert
- im OB1 nun ganz am Anfang die gesicherten Aktualwerte zurück-kopieren:
Code:
//erstes Netzwerk
CALL "BLKMOVE" //SFC20
 SRCBLK :=P#DB1123.DBX0.0 BYTE 100  //temporäre Kopie
 RET_VAL:=#OB1_MIN_CYCLE        //oder irgendeine andere freie INT-Adresse
 DSTBLK :=P#DB123.DBX0.0 BYTE 100
- OB1 in die CPU laden --> nun werden am Anfang des OB1 die gesicherten Aktualwerte in DB123 zurückkopiert
- nun den originalen DB123 aus dem originalen offline-Projekt in die CPU laden --> die anfänglichen Aktualwerte für Urlöschen/Kaltstart kommen in den Ladespeicher, wegen den BLKMOVs im OB1 bleiben aber die Aktualwerte (aus der Sicherung) im Arbeitsspeicher erhalten
- den anfangs gesicherten OB1 wieder ins Projekt kopieren und in die CPU laden
- nach Online umschalten
- Online den DB1123 löschen
- im offline Projekt den DB1123 löschen

Harald
 
Zurück
Oben