TIA DB im Ladespeicher: Reinitialisierung bei "Software komplett Laden"

Flo1234

Level-1
Beiträge
5
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich habe in einem Projekt (TIA V18 + CPU1516F) einen DB in welchem Werkzeugdaten abgelegt sind. Diese möchte ich sichern und hab dafür eine Funktion geschrieben, welche die Daten mithilfe von "WriteToArrayDBL" in einen DB in den Ladespeicher kopiert. Bei Bedarf lese ich mit "ReadToArrayDBL" aus diesem DB zurück in den Ursprungs-DB.

Problem für mich ist, das der DB im Ladespeicher bei "Software komplett laden" ebenfalls abgelöscht wird und anschließend die Daten nicht wiederhergestellt werden können. Die Einstellung "Nur im Ladespeicher ablegen" in den Attributen des DBs hat keine Auswirkung auf das verhalten.

Hat jemand schon ähnliches umgesetzt und kann mir hier eventuell weiterhelfen?

Danke und Gruß Florian
 
Du kannst mit CREATE_DB ein DB erstellen der eksistiert nur in Ladespeicher.
Mit WRIT_DBL kannst du diese DB in Ladespeicher schreiben, und mit READ_DBL lesen.
Diese DB sollte komplette unbeeinflusst von das Laden von TIA sein.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Bei Software komplett laden wird der Ladespeicher, komplett geladen, also auch neu gesetzte Startwerte überschrieben.

Warum überhaupt komplett laden?
Normalerweise zeigt er Online den DB als unterschiedlich an, wenn mit WriteDBL oder ähnlichem auf den DB geschrieben wurde und bietet beim Laden das Synchronisieren an, damit würde er die Werkzeugdaten zurück in das Projekt laden.
Früher bei 300/400er wurden solche Daten auch gelöscht wenn der DB neu geladen wurde, solange die Werte nicht ins Projekt kopiert wurden (oder der ganze DB).

Eine Alternative wäre auch noch wenn du die Werkzeugdaten als Datei auf der Speicherkarte speicherst.
Damit sind sie vor den meisten Aktionen von TIA aus sicher (abgesehen vom Karte formatieren) und diese Dateien können auch über den Webserver herunter und wieder hochgeladen werden.

Edit:
Sind denn diese Werkzeugdaten so umfangreich dass diese nur im Ladespeicher liegen dürfen? Die 1516 hat mittlerweile doch etwas Ram.
Wie oft werden diese Daten denn geändert? Wenn dies nur selten passiert wäre es auch eine Option aktual Werte als Startwerte im Projekt zu übernehmen.
 
Komplett laden oder nur die DB laden, dazu wird man gezwungen wenn die Struktur von die Daten in die DB geändert wurde, egal welche Änderung.

Ist jetzt leider keine Antwort auf die Frage.
Wenn ich komplett lade will ich ja alles überschreiben, konsistent laden tut TIA ja eigentlich immer (sollte es zumindest :p)

Bei Struktureller Änderung muss ich mir eh Gedanken machen was ich tue, denn wenn ich in der Struktur Elemente entferne oder einfüge bekomme ich mit jeder strukturabhängigen Verarbeitung Probleme. Da nutzt dann auch ein generierter DB oder ähnliches nicht mehr.

Edit:
Was sich hier eventuell anbieten könnte ist RecipeExport und RecipeImport, diese geben eine CSV Datei aus mit den jeweiligen Daten und Spaltennamen.
 
Zuletzt bearbeitet:
Ja es kann sein man will dass die DBs auf die Start-Werte zurückgesetzt werden - abgesehen von die einzelne spezielle DB nur im Ladespeicher.
Das wäre ein Grund.
Also um einzelne DB's auf Startwerte zurückzusetzen gibt es die Funktion
1680622011115.png
War jetzt Offline daher grau.

Wo man jetzt etwas aufpassen muss, wenn ich in den Ladespeicher zurück schreibe werden ja die Startwerte im DB überschrieben, da es im Ladespeicher ja keine Aktualwerte gibt.
Wenn man jetzt die Startwerte im Ladespeicher mit Default Startwerten überschreiben will. Dann wird es schon kompliziert.

Alleine schon wenn ich mir ein Auswahlfenster vorstelle um das TIA begreiflich zu machen.

Also ich kann zumindest die Philosophie nachvollziehen:
-Alles laden ist alles laden
-Konsistent laden ist Konsistent laden
-DB's können gezielt initialisiert werden

Struktur Anpassung sind ja teilweise über die Speicherreserve möglich, was remanente Daten angeht ;)

Aber bevor wir hier noch weiter Philosophieren, sollten wir vielleicht wieder auf Lösungsvorschläge für den Thread Ersteller zurückkommen.

Vielleicht war ja schon etwas dabei was ihm helfen könnte ;)
 
Zurück
Oben