Datenbaustein anfangswert und Aktualwert synchronisieren

ETG_Austria

Level-1
Beiträge
37
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
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
 
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.
 
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
 
Zuletzt bearbeitet:
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
 
Zuviel Werbung?
-> Hier kostenlos registrieren
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
 
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.
 
Danke für die schnelle Rückmeldung, das mit dem Cocktail verstehe ich nicht ganz aber gut, bin froh wenn ich das andere versteh.
 
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!
 
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
 
Zuviel Werbung?
-> Hier kostenlos registrieren
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
 
Zuletzt bearbeitet:
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

In der Deklarationstabelle eines Datenbausteins projektieren Sie den Namen der Variablen, seinen Datentyp, einen Kommentar und einen Anfangswert.
Dieser Anfangswert ist eine reine Projektierungsgröße, die beim Erzeugen eines Datenbausteins auf Basis eines UDT (Anwender Definierter Datentyp) als Aktualwert oder bei der Neudeklaration einer Variablen in einem globalen Datenbaustein übernommen wird. Sichtbar werden die Aktualwerte über den Menübefehl "Ansicht > Datensicht".

Die Projektierung des Anfangswertes wird nur ein einziges Mal für einen Datenbaustein bzw. für eine neu deklarierte Variable eines Datenbausteins durchgeführt. Existiert die Variable bereits, so hat eine Änderung des Anfangswertes keinen Einfluss auf den Aktualwert. Für die CPU ist ausschließlich der Wert von Bedeutung, welcher sich in der Spalte "Aktualwert" befindet. Auch wenn der Anfangswert mit auf die CPU geladen wird und dort im Onlinemodus beobachtbar ist, so wird dieser Wert von der CPU nicht verwendet.

Soll Ihre CPU mit einem neuen Wert starten, so haben Sie hier zwei Möglichkeiten:
  1. Wechseln Sie in die Datensicht und geben Sie in der Spalte "Aktualwert" Ihren neuen Startwert ein.
  2. Geben Sie in der Deklarationssicht in der Spalte "Anfangswert" Ihren neuen Startwert ein. Wechseln Sie dann in die Datensicht. Über den Menübefehl "Bearbeiten > Datenbaustein initialisieren" werden dann alle Werte der Spalte "Anfangswert" in die Spalte "Aktualwert" übernommen.
Laden Sie anschließend den Datenbaustein in die CPU.

Da die Anfangswerte von der CPU nicht weiter verwendet werden, ist der umgekehrte Vorgang bzw. das Laden der Werte aus der Spalte "Aktualwert" in die Spalte "Anfangswert" nicht erforderlich. Hierzu gibt es in STEP 7 auch keinen Menübefehl.

Die nachfolgenden Anleitungen dienen für einige seltene Projektierungen, um die Aktualwerte eines Datenbausteins als Anfangswerte zu speichern. Diese Vorgangsweise führen Sie entweder direkt innerhalb einer AWL-Quelle oder mit der Speicherung der Werte mit Excel durch.

ID837001 Welche Bedeutung haben die Anfangs- und Aktualwerte eines Datenbausteins

Gruß Kai
 
Zurück
Oben