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