# Datenbaustein anfangswert und Aktualwert synchronisieren



## ETG_Austria (22 März 2012)

Ich befasse mich gerade mit der Projektierung einer Anlage, beim Datenbaustein stellte ich fest dass die Daten die ich in der Spalte ( Anfangswert ) eingetragen habe nicht übernimmen werden, wenn ich eine Verbindung zur CPU herstelle dann ist der Aktualwert anders als der Wert in der Spalte Anfangswert, wie könnte ich den Anfangswert und den Aktualwert synchronisieren oder bessergesagt mein Anfangswert sollte auch mein Aktualwert sein.

Vielen Dank für Eure Hilfe


----------



## roadrunner (22 März 2012)

Wenn du den DB mit dem KOP/AWL/FUP Editor in der "Datensicht" öffnest, kannst du dann unter dem Menüpunkt "Bearbeiten" den Eintrag "Datenbaustein intialisieren" auswählen und den DB dann anschließend in die CPU laden. Dann sollte dein DB auf die Anfangswerte zurückgesetzt sein.


----------



## Tigerente1974 (22 März 2012)

Ich glaube es war der Weg andersherum gemeint: Aktualwerte -> Anfangswerte. Das geht meines Wissens nicht "per Knopfdruck".


----------



## shadowdb (22 März 2012)

Nee, das wurde irgendwie "vergessen", der Dank dafür geht an die Helden von Siemens.
In den FAQ ist das gut beschrieben, wie man machen kann:

http://www.sps-forum.de/showthread.php?t=16120

Euer Schatten


----------



## ETG_Austria (22 März 2012)

Vielen Dank für die Info,

Leider funktioniert das nicht so wie ich es gerne hätte, würde gerne die Werte vom Anfangswert in den Aktualwert übertragen.

Vielen Dank


----------



## ETG_Austria (22 März 2012)

Was mich hierbei auch wundert dass der Aktualwert online und offline nicht der selbe ist obwohlk ich diesen speichere und zur Steuerung lade.

Vielen Dank für Eure Bemühung


----------



## Approx (22 März 2012)

Wenn der Datenbaustein zyklisch im Programm beschrieben wird (z.B. mit Messwerten), dann kann man den DB bis zur Rente LAden und Initialisieren... Klappt nur nicht.

Ansonsten: 
Anfangswerte -> Aktualwert geht über die Funktion "Initialisieren"
Aktualwerte offline sichern über Kopieren des Online-DB in das Offlineprojekt (Vorgehensweise wurde hier schon gepostet)

Gruß Approx


----------



## roadrunner (22 März 2012)

ETG_Austria schrieb:


> Vielen Dank für die Info,
> 
> Leider funktioniert das nicht so wie ich es gerne hätte, würde gerne die Werte vom Anfangswert in den Aktualwert übertragen.
> 
> Vielen Dank



So wie oben von mir beschrieben sollte es funktionieren.

Gruß
roadrunner


----------



## ETG_Austria (22 März 2012)

Bin mir noch nicht ganz im klaren wie ich die kompletten Daten des Aktualwert in den Anfangswert kopieren soll. Selbst wenn ich den ganzen DB online nach offline kopiere ist der Aktualwert und der Anfangswert unterschiedlich.

Vielen Dank


----------



## Tigerente1974 (22 März 2012)

Du solltest Dir zumindest mal darüber im Klaren sein *WAS* Du denn machen willst!
Mal schreibst Du Aktualwert in Anfangswert kopieren, dann wieder Anfangswert in Aktualwert kopieren...
Wobei bereits für beide Richtungen die Hilfestellung gegeben wurde.


----------



## ETG_Austria (22 März 2012)

Von Anfangs in Aktualwert das funktionierte einwandfrei vielen dank, nur umgekehrt das bekomme ich nicht hin.
vielen dank


----------



## Tigerente1974 (22 März 2012)

Hmm... der link von shadowdb behandelt ein anderes Problem.

Ich bleibe erstmal dabei, dass es anders herum nicht geht.


----------



## ETG_Austria (22 März 2012)

Danke für die schnelle Rückmeldung, das mit dem Cocktail verstehe ich nicht ganz aber gut, bin froh wenn ich das andere versteh.


----------



## Approx (22 März 2012)

Wenn es sich um einen DB handelt der im Programm nur lesend und nicht schreibend bearbeitet wird, kannst Du Aktualwert und Anfangswert wie folgt synchronisieren:

Datenbaustein Online beobachten
Alle Aktualwerte aufschreiben (oder Screenshot, was auch immer)
Anfangswerte manuell entsprechend der Aktualwerte eintragen
DB speichern und laden
Gruß Approx

P.S. Nochmal: wenn im Programm irgendwo ein Transferbefehl in den DB steht, dann wird das nix mit der Synchronität!


----------



## ETG_Austria (22 März 2012)

Hallo, das habe ich bereits bei einigen wie beschrieben durchgeführt, normalerweise sollte das aber auch einfacher gehen oder ?


----------



## roadrunner (22 März 2012)

Werden die Aktualwerte nicht mit der Aktion "Ram nach Rom kopieren" als Anfangswerte übernommen?
http://support.automation.siemens.c...lib.csinfo&lang=de&objid=24168030&caller=view


----------



## Onkel Dagobert (22 März 2012)

roadrunner schrieb:


> Werden die Aktualwerte nicht mit der Aktion "Ram nach Rom kopieren" als Anfangswerte übernommen?
> http://support.automation.siemens.c...lib.csinfo&lang=de&objid=24168030&caller=view



Siehst du dir die links auch an, die du postest?

Die Anfangswerte werden nur ein einziges mal nach dem Erstellen eines DBs als Aktualwerte übernommen. Bei "Ram nach Rom kopieren" werden lediglich die Aktualwerte gesichert, s.d. sie nach dem Urlöschen wieder als Aktualwerte zur Verfügung stehen. Beim Kopieren eines DB von online nach offline werden die Aktualwerte ebenfalls gesichert.

Die vielfach gewünschte Funktion, Aktualwerte als Anfangswerte zu übernehmen ist m.E. eigentlich garnicht notwendig. Falls es doch jemand braucht, dann muss er halt die Aktualwerte in einer AWL-Quelle in die Anfangswerte kopieren.


Gruß, Onkel


----------



## kalle_B (23 März 2012)

Hallo,

ich bin manchmal folgenden Weg gegangen, ist aber etwas umständlich.
http://www.sps-forum.de/showthread....T-nachträglich-verknüpfen?p=266641#post266641

kurzgefasst folgende Schritte:
- Die rückerzeugten Quelle exportieren,
- EXCEL starten, über 'Öffnen' Datei - Dateityp 'alle Dateien'
- Konvertierungsassistent [#] Getrennt , weiter; 
- Trennzichen ";" und andere "=" , weiter;
- alle Spalten mit Format [#] "Text" , Fertigstellen.
- zwischen STRUCT und END_STRUCT stehen die Anfangswerte
- zwischen BEGIN und END_DATA_BLOCK stehen die Aktualwert
- den Aktualwerteblock nach oben in den Anfangswerteblock kopieren und die Zeilen zwischen BEGIN und END_DATA_BLOCK löschen
- am besten unter neuem Namen speichern als "test.awl"
In dieser neuen Datei fehlen die ausgetauschten Zeichen ";" und "=".
diese sind wieder einzukorrigieren 
In Step7 in "Quellen" - "neues Objekt einfügen" die erzeugte Datei 'test.awl' nach STEP7 rückladen und übersetzen.
- ev. Fehler in der Quelle korrigieren.
Wenn alles funktioniert hat, ist der DB mit den neuen Anfangswerten, die gleichzeitig Aktualwerte sind, entstanden.

Dieser Weg ist zugegebenermaßen etwas aufwendig und sollte vorher in einem Programm an einer Testanlage getestete werden.

Ich habe die Funktion Aktualwerte nach Anfangswerte auch schon vermisst, aber die gibt es in STEP 7 leider nicht.


Gruß kalle B


----------



## Manuel137 (23 März 2012)

*kalle_B* 

Hat recht es ist zwar aufwendig geht aber doch mit ein bissel Übung schnell, das ist auch der weg den Siemens selbst einen beschreiben tut beim support.

Such mal den Link ,habe das ganze erst vor 2 Wochen gemacht .


okey denke ich habs
Wie kann eine Excelliste mit Variablen nach STEP 7 in einen Datenbaustein importiert werden? 


ist selbsterklärend


----------



## Kai (23 März 2012)

Für das Speichern der Aktualwerte eines Datenbausteins als Anfangswerte in einer AWL-Quelle oder in Excel siehe die folgende Siemens-FAQ:



> *Welche Bedeutung haben die Anfangs- und Aktualwerte eines Datenbausteins
> 
> Beschreibung
> 
> ...



ID837001 Welche Bedeutung haben die Anfangs- und Aktualwerte eines Datenbausteins

Gruß Kai


----------

