# Defaultwerte in Funktionsbausteine speichern



## mj112 (17 April 2020)

Hallo. 

Ich nutze den FbPIDController für meine Solarregelung. Auf der Visu kann ich auch die P-I-D-Anteile voreinstellen, ebenso die Richtung. Bei einem Neustart des Controllers sind aber wieder die Defaultwerte eingestellt. Bei einem Stromausfall ist das natürlich ungeschickt. Wie kann ich die Defaultwerte permanent auf meine Werte ändern?

Danke und Grüße
Marc
P.S: Ich mache noch nicht lange mit Wago, daher verzeiht mir die Anfägerfrage


----------



## Blockmove (17 April 2020)

Du musst diese Variablen dann als retain persistent definieren.
Aber Vorsicht:
Der Speicherplatz für diese Variablen ist begrenzt.


----------



## ClMak (17 April 2020)

Hallo,

sollte so funktionieren:




Wichtig ist, das die Variable als RETAIN deklariert wird.

VG
ClMak


----------



## mj112 (17 April 2020)

Geht. Wenn ich nun neu boote, bleibt der Wert drin.
Ist es irgendwie auch möglich, dass eingestellte Werte über Visu auch erhalten bleibe, wenn ich einen "vollständigen download" mit Boot-Applikation mache?


----------



## Tobsucht (18 April 2020)

Blockmove schrieb:


> Du musst diese Variablen dann als retain persistent definieren.
> Aber Vorsicht:
> Der Speicherplatz für diese Variablen ist begrenzt.



retain sorgt dafür, dass der Wert nach einem Spannungsausfall erhalten bleibt.
persistent sorgt dafür, dass die Werte nach einem Download erhalten bleiben.

Grüße


----------



## oliver.tonn (18 April 2020)

Wie sieht das denn bei Wago aus? Bei Beckhoff TwinCAT werden solche Daten außer bei bestimmten CPUs nicht in einem nicht flüchtigen Speicher (NVRAM) abgelegt, sondern in Dateien. Ich meine, dass die Daten bei einem vom Benutzer initiierten Neustart automatisch gesichert werden, aber bei einem Stromausfall definitiv nicht. Es gibt bei den CPUs Sekunden-USVs nutzt man den dazugehörigen FB werden die Daten auch bei einem Stromausfall gesichert. Außerdem kann man über einen FB die Sicherung der Daten starten, z.B. nach Änderung der Retain Daten.
Du müsstest prüfen, ob es sich bei Wago ähnlich verhält.

Von irgendwas mit Internetzugang gesendet.


----------



## Tobsucht (19 April 2020)

Hallo,

die Retain Funktion ist in der Hardware realisiert. Der NVRam arbeitet wie ein normales RAM. Bei Spannungsabfall wird der Inhalt in ein EEPROM geschrieben. Beim hochlaufen wird der Inhalt wieder ins RAM geladen. 
Ist eine Variable im NVRam nicht retain deklariert, wird diese von der Runtime auf Null geschrieben (wie alle Variablen). 
Bei persistenten Variablen wird vor dem Download eine Datei mit dem Variablen und Werten gespeichert. Nach dem Download werden die Werte in die Variablen zurückgeschrieben.

Grüße


----------



## oliver.tonn (19 April 2020)

Tobsucht schrieb:


> die Retain Funktion ist in der Hardware realisiert. Der NVRam arbeitet wie ein normales RAM. Bei Spannungsabfall wird der Inhalt in ein EEPROM geschrieben. Beim hochlaufen wird der Inhalt wieder ins RAM geladen.


Danke, habe im Handbuch auch gerade gelesen, dass es ein NVRAN gibt, das ist dann natürlich deutlich komfortabler als bei Beckhoff.

Von irgendwas mit Internetzugang gesendet.


----------



## Pippen (16 Juni 2020)

Ein NOVRAM gibt es auch bei Beckhoff (z. Bsp. CX2030). Man hat da also beide Möglichkeiten. Das Persistieren in eine Datei hat ach den Vorteil, dass Speicherplatz weniger ein Problem ist. Wie gross ist das NVRAM bei Wago? 1MB? oder grösser?


----------



## oliver.tonn (16 Juni 2020)

Pippen schrieb:


> Ein NOVRAM gibt es auch bei Beckhoff (z. Bsp. CX2030). Man hat da also beide Möglichkeiten. Das Persistieren in eine Datei hat ach den Vorteil, dass Speicherplatz weniger ein Problem ist. Wie gross ist das NVRAM bei Wago? 1MB? oder grösser?


Wie von mir schon gesagt, bei bestimmten Beckhoff CPUs gibt es ein NVRAM. Der Vorteil beim NVRAM ist halt, dass die Daten automatisch gespeichert werden und dies nicht wie bei den anderen CPUs in gewissen Situationen erst angestoßen werden muss. Das hat bei mehreren Kunden schon zu Datenverlusten geführt.


----------



## Pippen (16 Juni 2020)

Dort wo die Grösse eines NVRAMs genügt ist das sicher ok. Bei unseren Projekten reicht es leider oft überhaupt nicht.


----------

