# DB Übertragung



## nutellahase (10 April 2014)

Hallo zusammen!

Mal aus reiner Neugier gefragt: Wenn ich von einem DB eine online Sicherung mache, so werden ja die Aktualwerte dann im Offline DB als Anfangswert gespeichert. Standardmäßig hat ja z.B. eine Integervariable den Anfangswert 0. Wenn ich jetzt im Programm diese Variable auf z.B. "5" setze und dann die Online Sicherung mache, dann steht in der Spalte Anfangswert ebenfalls eine "5".

Nimmt meine Variable währenddessen einen anderen Wert an (z.B. 10) und übertrage ich den DB erneut in die Steuerung so hat sie dann wieder den Wert 5. Mittels eines Vergleichs sollte ich diesen Unterschied feststellen können.

Nun zu meiner eigentlichen Frage...

Angenommen der Wert ändert sich nicht ... und ich übertrage den DB trotzdem ... kann ich das irgendwie programmtechnisch erfassen? Also ich bräuchte dann quasi den Zeitstempel, wann der DB aus dem Offline Projekt übertragen wurde. Ist das möglich??


----------



## winnman (10 April 2014)

Nicht so einfach.

Was du machen könntest: DB "neu" eine andere Nummer geben als dem DB "original", auf die Steuerung laden und im Programm mal auf unterschiede prüfen.


----------



## nutellahase (6 September 2017)

Heute bin ich wieder auf dieses Thema gestoßen.
Tut mir übrigens Leid winman, dass ich damals nicht auf deine Antwort mehr reagiert habe! 
Ich habe es so gelöst, dass im entsprechenden DB ein Zykluszähler (DInt) angelegt worden ist und parallel dazu ein MerkerDoppelwort als Kontrollzähler.

Der Zykluszähler wird im OB1 jeden Zyklus um eins inkrementiert und mit den Kontrollzähler verglichen. Der Kontrollzähler eilt dabei dem Zykluszähler  im aktuellen Zyklus an der Vergleichsstelle immer um eins nach. Wenn dies der Fall ist wird der Wert vom Zykluszähler an den Kontrollzähler übergeben. Ist die Abweichung größer als 1 dann wurde der DB zwischenzeitlich übertragen und es wird ein Bit gesetzt. Danach wird wieder der Wert übernommen und das Spiel beginnt von vorne.

Die Wahrscheinlichkeit, dass, wenn man nun eine Onlinesicherung macht und dann den DB wieder genau an der Stelle überträgt wo der Wert zufällig übereinstimmen würde, ist sehr gering!


----------

