« Heizung, Lüftung, Klima  |

Nibe WP - wie oft kann man Parameter verändern (Flash-Lebensdauer)?

Teilen: facebook    whatsapp    email
Zusammenfassung anzeigen (Beta)
 1  2 ...... 3 
  •  JanRi
  •   Gold-Award
29.11.2019 - 15.12.2020
43 Antworten | 11 Autoren 43
6
49
Hallo in die Runde,

um diese Frage mal aus dem DIY-Modbus-Ersatz-Thread rauszuziehen:

Wir haben ja des öfteren überlegt, diverse Unzulänglichkeiten der Steuerung mittels Modbus (oder Nibepi oder nibegw) zu umgehen und quasi während der Laufzeit an den Parametern rumzuspielen. Anwendungen sind vielfältig:

- wetterberichtsabhängige Steuerung
- feine PV-abhängige Steuerung
- WT-Pumpe in Abhängigkeit von der Außentemperatur
- bessere Zieltemperatur beim WW WW [Warmwasser]
- Smartgrid mit beliebiger Freiheit
...

Geht das wirklich? Mir ist da was eingefallen...

Ich erkläre das mal am Beispiel der WT-Pumpe. Wenn man die WT-Pumpe auf manuell hat, kann man über das Register 47414 die Pumpendrehzahl beliebig variieren. Ich kann das aktuell mit NibePi problemlos tun und die Pumpe bequem verstellen, ohne vom Rechner wegzugehen. Das ginge auch per Skript, also als "Controller".

Mit NibePi ist das ganz "billig" von einer (Unix)-Shell aus zu machen:

mosquitto_pub -h nibepi -t "nibe/modbus/47414/set" -m "49"

-> setzt die WT-Pumpe auf 49%.

Allerdings: Damit ändert sich im fraglichen Menü die Einstellung für die manuelle Pumpendrehzahl (genau das wollen wir ja). Diese wiederum überlebt einen Neustart der WPWP [Wärmepumpe] - so soll das ja auch sein. Also muss sie permanent gespeichert werden, sprich in Flash, EEPROM, batteriepuffertem RAM o.ä. Die meisten dieser Techniken (Ausnahme: batteriegepuffertes RAM) haben begrenzte Schreibzyklen, wobei das meist gar nicht so extrem viele sind.

Die Frage ist nun, was Nibe hier verwendet. Kann man wirklich über Modbus die entsprechenden RW-Register quasi beliebig oft verändern oder ist dann irgendwann der interne Speicher kaputt? 

Beachten müssen wir, dass auf diese Weise ein Vielfaches an Schreiboperationen stattfindet, denn auch wenn man zu Beginn viel rumstellt, so ist vermutlich eher nicht vorgesehen, dass man einen Parameter 50mal am Tag über 20 Jahre ändert, also 100000 Änderungen insgesamt für EINEN Parameter.

Weiss da jemand näheres? Kennt da jemand (Dyarne?) jemanden bei Nibe, der Auskunft geben könnte? Man könnte natürlich einfach mal beim Service anfragen, denn Nibe verkauft ja das Modbus 40, mit dem man das machen könnte, ohne jede diesbezügliche Warnung.

Was denkt ihr?

Diese Bedenken halten mich aktuell noch davon ab, einen richtig guten Zieltemperatur-WW-Bereiter zu schreiben... mit NibePi ist das eine Sache von unter einer Stunde.

Viele Grüße,

Jan

  •  SMiak
  •   Bronze-Award
29.11.2019  (#1)
Hallo Jan,

neben der Einstellung erfolgt auch noch ein Logeintrag, es wird also noch mehr geschrieben.

Ist definitiv nicht zu unterschätzen.

Vg Maik 

1
  •  JanRi
  •   Gold-Award
30.11.2019  (#2)
Hi,

den Logeintrag habe ich ganz vergessen, aber du hast natürlich recht. Änderungen über Modbus führen in der Tat auch zu einem Logeintrag.

Ganz nebenbei habe ich da noch was feines (wieder)entdeckt: Das Änderungsprotokoll loggt die Modbus-Registernummern bei allen Änderungen, also auch den manuellen. Wenn man also wissen will, welche Nummer eine Konfigurationsoption hat und keine Lust hat, die knapp 1000 Einträge lange Liste mit teilweise verwirrenden und nicht konsistenten Bezeichnungen zu durchsuchen, dann reicht es, den gewünschten Parameter manuell zu ändern und dann ins Änderungsprotokoll zu schauen.

Wer fragt bei Nibe nach? Ich fürchte nur, dass die Anfrage als normaler User da nicht wirklich viel bringen wird...

Viele Grüße,

Jan

1
  •  JanRi
  •   Gold-Award
12.12.2019  (#3)
Hallo in die Runde,

ich habe nun eine offizielle Anfrage über die nibe.de-Webseite gestartet. Hoffen wir, dass diese Anfrage bei jemanden landet, der sie auch beantworten kann.

Davon unabhängig noch einmal die Bitte an diejenigen, die bessere Kontakte zu Nibe haben, diese Frage einmal weiterzugeben, denn das ist für alle relevant, die mittels Modbus 40 oder selbstgebauten Alternativen schreibend irgendwas steuern wollen an der WPWP [Wärmepumpe].

Viele Grüße,

Jan

1


  •  dyarne
  •   Gold-Award
12.12.2019  (#4)
hallo Jan,
ich kann versuchen deine anfrage weiterzuleiten.
es würde mich aber ehrlich gesagt sehr wundern wenn etwas anderes als eine unverbindliche allgemeine antwort zurückkommt.
ein hersteller würde hier verantwortung für externes zugreifen auf seinen regler übernehmen?

schickst du mir bitte deine anfrage per mail auf englisch?
danke

2
  •  Pedaaa
  •   Gold-Award
12.12.2019  (#5)
Ich möchte mich der Frage anschließen...
Interessiert mich genauso. Vor allem für die Warmwassersteuerung per Modbus.

Eigentlich ist es für 3 Varianten interessant:
- für die Nutzung des Modbus 40 Moduls. -> und das ist eine Werkslösung, also ist die Frage durchaus berechtigt
- für die Nutzung der Modbus TCP Schnittstelle der neuen S-Modelle -> Auch eine Werkslösung -> genauso berechtigt. 
- für die Nutzung von selbstgebastelten Lösungen -> hier ist es klar. Da wird keine andere Antwort kommen als.... "dududu" emoji   Aber im Ernst. Hier sollte es klar sein, dass das auf eigenes Risiko läuft.

1
  •  chrismo
  •   Gold-Award
12.12.2019  (#6)

zitat..
dyarne schrieb: ein hersteller würde hier verantwortung für externes zugreifen auf seinen regler übernehmen?



Naja, ob auf die Regelung eingegriffen wird ist ja erstmal irrelevant. Es geht nur um die Haltbarkeit des Speichers bei Schreibzugriffen.

zitat..
JanRi schrieb: mittels Modbus 40 oder selbstgebauten Alternativen schreibend irgendwas steuern wollen an der WPWP [Wärmepumpe].

Das Modbus40-Modul bietet eine Funktion zum Schreiben von Registern, wie in der offiziellen Beschreibung dokumentiert (S.21). Da steht (S.22), dass ein Schreibzugriff max. 2,1s braucht, man also theoretisch ca. 1700 Schreibzugriffe pro Stunde machen kann. Man könnte jetzt also erstmal davon ausgehen, dass Nibe hier 1700 Schreibzugriffe offiziell unterstützt (was der Flash-Speicher aber eher nicht über die Lebensdauer der WPWP [Wärmepumpe] mitmachen würde).

Ich würde bei der Anfrage auf keinen Fall irgendwas von "selbstgebauten Alternativen" schreiben, sonst wird sicher nur darauf Bezug genommen, dass man hierfür keine Garantie übernehmen kann. Also besser die Anfrage nur auf Modbus40-Modul beziehen.

1
  •  JanRi
  •   Gold-Award
12.12.2019  (#7)
Hallo,

zitat..
dyarne schrieb: schickst du mir bitte deine anfrage per mail auf englisch?


Schicke ich dir nachher als PN. Danke, dass du dich der Sache annimmst!

zitat..
dyarne schrieb: ein hersteller würde hier verantwortung für externes zugreifen auf seinen regler übernehmen?



Naja... wir wollen eine offizielle Schnittstelle eines offiziell von Nibe vertriebenen Gerätes verwenden. Im Handbuch meiner F1155 steht:

"Kommunikationsmodul MODBUS 40
Mithilfe von MODBUS 40 kann F1155PC von einer Daten-
unterzentrale in Gebäuden gesteuert und überwacht
werden. Die Kommunikation erfolgt in diesem Fall über
MODBUS-RTU."

GESTEUERT... das Schreiben ist also durchaus vorgesehen. Wenn also die Gebäudezentrale z.B. in Abhängigkeit von irgendwas die Soll-Innentemperatur beeinflussen will, dann steht genau diese Frage.

zitat..
chrismo schrieb: Ich würde bei der Anfrage auf keinen Fall irgendwas von "selbstgebauten Alternativen" schreiben, sonst wird sicher nur darauf Bezug genommen, dass man hierfür keine Garantie übernehmen kann. Also besser die Anfrage nur auf Modbus40-Modul beziehen.



Selbstredend. Ich werde das so formulieren, dass es um eine Steuerung geht, die die Schnittstelle des Modbus 40 verwenden soll und dort wiederum die dokumentierte Funktion des Änderns von Registern verwenden soll. Die Doku von Modbus 40 sagt nichts zu einer limitierten Anzahl von Schreibvorgängen, aber da das Problem ja bekannt ist von anderen Systemen (Tesla...), ist die Frage ja berechtigt.

zitat..
chrismo schrieb: Man könnte jetzt also erstmal davon ausgehen, dass Nibe hier 1700 Schreibzugriffe offiziell unterstützt


emoji So ist es... also sollten sie eigentlich froh sein, wenn man VORHER fragt. Das wären über 20 Jahre knapp 300 Mio Schreibzugriffe... das dürfte nur mit batteriegepuffertem RAM gehen.

Viele Grüße,

Jan

2
  •  JanRi
  •   Gold-Award
23.12.2019  (#8)
Hi,

gibt es hier schon neue Erkenntnisse? Meine Serviceanfrage direkt bei Nibe wurde bislang ignoriert.

Für die neue S11x5 ist das ja ebenso relevant, zumal es diese Schreibmöglichkeit (je nachdem, was genau geschrieben werden darf) dort schon ohne weiteres Zubehör gibt.

Viele Grüße,

Jan

1
  •  Brombaer
  •   Silber-Award
23.12.2019  (#9)
Alternativ, hat schon mal jemand auf die Platine geschaut was verbaut ist ?

1
  •  JanRi
  •   Gold-Award
23.12.2019  (#10)
Ich schaue gerade meine Fotos durch... die Frage ist dabei erstmal, welches die richtige Platine ist. Es könnte das IO-Board sein (da, wo die Sensoren dranhängen), aber ich vermute, dass es eher im Displayblock weiter oben verbaut ist.

Die Platinen, die erst nach Abbau des großen Deckels erreichbar sind, sind es eher nicht - das sieht weniger nach Rechner und mehr nach Interfaces bzw. Leistungsschaltern aus.

Meine Vermutung ist, dass es der Speicherteil in der Displayeinheit verbaut ist - da habe ich aber (noch?) keine Platinenfotos gemacht.

Auf dem IO-Board gibt es einen Microchip PIC18F66J10, aber die Frage ist, ob der nur für den IO-Teil oder auch für die eigentliche Steuerung verantwortlich ist. Aus dem Überblick dazu:

40 MHz and 10 MIPS at 3V
Flash 1,000 endurance, 20 years retention

-> letzteres wäre fatal. Mit wear leveling (also geschickter Aufteilung der Schreibzugriffe auf einen größeren Teil des Flash) könnte man damit sicher die normal anfallende Menge schreiben. 

Angesichts der 64 K Flash-Speicher (also auch für das Programm) von dem Teil denke ich aber eher nicht, dass das die Haupt-CPU ist, sondern eher nur der IO-Rechner oder so. 11 ADC-Kanäle sprechen da schon dafür...

Hat jemand ein Foto vom Innenleben des Displaymoduls?

Viele Grüße,

Jan

1
  •  JanRi
  •   Gold-Award
23.3.2020  (#11)
Hat hier schon jemand was rausfinden können?

@dyarne : Konntest du den englischsprachigen Text, den ich dir geschickt hatte, schon an deine Kontakte bei Nibe weitergeben?

Viele Grüße,

Jan

1
  •  dyarne
  •   Gold-Award
23.3.2020  (#12)
servus Jan,

wohin hast du den geschickt?

lg, Arne

1
  •  JanRi
  •   Gold-Award
23.3.2020  (#13)
Ich hatte dir das als PN geschickt. Kann ich aber auch hier reinposten (s.u.).

Kannst du natürlich nach Belieben überarbeiten/erweitern/anpassen/was auch immer.

Viele Grüße,

Jan

"Hello,

we are planning to implement an external control that uses the modbus interface of MODBUS 40 to read and write registers (such as the indoor target temperature) on a Nibe F1155 heat pump. A write operation to a register such as the indoor target temperature changes the corresponding setting in the heat pump. As such settings survive restarts or power cycles of the heat pump, the data has to be stored in a permanent way such as flash memory, EEPROM or similar. Usually, such memory is very limited in the number of possible write cycles (see, e.g., the problems Tesla has with such memory in its cars). Additionally, the heat pump logs changes to such configuration parameters (therefore, another write to permanent storage). The manual of MODBUS 40 does not describe any limitations on write accesses to registers. Therefore, our question is: Is there really a danger of damaging the internal storage of the heat pump by many write operations to configuration registers such as indoor target temperature using MODBUS 40? Or is the storage inside the heat pump constructed in a way that an arbitrary number of register writes is possible? If there is a limit - how many register writes (or manual configuration changes) per day are possible without limiting the life of the heat pump (or its computer boards)?

Greetings and many Thanks."

1
  •  dyarne
  •   Gold-Award
23.3.2020  (#14)
ist am weg ... emoji

2
  •  dyarne
  •   Gold-Award
23.3.2020  (#15)

zitat..
NIBE schrieb: The EEPROM settings are stored has, according to the datasheet, a limit of 1 million writes per position. That may of course sound a lot but if you write every second that means only 11.5 days until the EEPROM position dies. So to answer the question, when calculating with 15 years of life the maximum would be 182 writes per day per setting.

 

3
  •  Peter2
23.3.2020  (#16)
Die Frage ist ob bei der S die selbe Elektronik drin ist, oder ob sie in anbetracht der smart home Steuerung und der damit verbundenen häufigen Änderungen, zu etwas anderem gegriffen haben.
Es wurde ja bei der S mit smart home kompatibel geworben. 

1
  •  JanRi
  •   Gold-Award
23.3.2020  (#17)
Das ging ja rasend schnell! Danke!

zitat..
dyarne schrieb: The EEPROM settings are stored has, according to the datasheet, a limit of 1 million writes per position.

Das klingt weniger toll als es ist! EEPROMs werden oft BLOCKWEISE geschrieben! Das würde dann eine Million Schreiboperationen auf den betreffenden Block bedeuten. Wie gross der ist, wissen wir natürlich nicht, aber ich gehe schon davon aus, dass jeder EEPROM-Block mehr als eine Position beinhaltet. Muss natürlich hier nicht so sein, vielleicht zählt wirklich jedes Byte einzeln. Dazu bräuchten wir aber das Datenblatt.

Das zweite ist das Log. Das scheint eine Art "Ringpuffer" zu sein, der die letzten x Einträge (sind, glaube ich, drei oder fünf Bildschirmseiten) speichert. Wenn das jeweils als "Position" zählt, dürfte das wohl am ehesten am Ende sein.

Kannst du diese beiden Punkte nochmal gezielt nachfragen? Textvorschlag:

"Regarding the EEPROM, there are EEPROMs write accesses are written in blocks. In this case, every change to a block means a write to the whole block. Is this the case for the EEPROM in F1155 or is it sure that every parameter write only affects its own position and not a whole block? Can you tell us the type of EEPROM used here or point us to its datasheet? Furthermore, every parameter change implies a log entry. The log seems to be some kind of ring buffer. Does the 1 mio rule also apply here? This would limit the overall number of writes to any parameters to 1 mio times number of positions in log."

Wenn wirklich 1 Mio Zugriffe gehen, dann wären das auf 20 Jahre 5,7 Änderungen pro Stunde (oder 136 pro Tag). Eine außentemperaturabhängige WT-Regelung sehr grober Art (z.B. mit Stufen nach AT AT [Außentemperatur]-Durchschnitt oder so) ginge, eine feine WT-Steuerung für Warmwasser eher nicht.

Viele Grüße,

Jan


1
  •  Pedaaa
  •   Gold-Award
23.3.2020  (#18)
+ was sicher viele interessiert:
Ist das bei S1155 und F1155 gleich?

Für mich wirds wohl so oder so reichen.
Ich denke ich werde vorerst ohnehin nur die Start- und Stoppwerte bei der WW WW [Warmwasser]-Ladung beeinflussen. Und die WQ und WT-Pumpen im Sommer nach Bedarf zum Laufen zwingen.

1
  •  JanRi
  •   Gold-Award
23.3.2020  (#19)
Ich wüsste keinen Grund, warum das bei der S anders sein sollte. Es gibt ja eigentlich nur zwei sinnvolle Alternativen: Flash und batteriegepuffertes RAM. Ersteres ist VIEL schlechter als EEPROMs, wenn es um die Schreibzyklen geht (es sei denn, man baut ein gewaltig großes Flash ein und verteilt die Zugriffe gut) und letzteres ist deutlich aufwendiger.
Die Smarthome-Funktionalität ändert IMO ja keine Werte, sondern verschiebt bestenfalls Betriebspunkte. Das muss ja weder geloggt noch geschrieben werden. Das dürfte wie Smart Grid oder "externer Einfluss" bei der F sein. Das beeinflusst ja auch nur den Betrieb, aber nicht die Parameter.

Start/Stop WW WW [Warmwasser] ab und an beeinflussen ist kein Thema. Bei jeder Ladung beeinflussen sollte auch gut gehen mit deinem schönen Speicher - da hast du sicher wie ich nur wenige Ladungen. Ich bin im Schnitt bei etwa 4 Ladungen in der Woche. Das sind auf 20 Jahre gerade einmal 4160 Ladungen.

Mein Traum wäre ja gewesen, "Zieltemperatur" selbst zu steuern. Aber das wären etwa 100-200 Schreibvorgänge pro Ladung und damit viel zu viele.

1
  •  Pedaaa
  •   Gold-Award
18.9.2020  (#20)
So, ich hab nun trotzdem ganz unverhofft ein Thema.
Vielleicht einige andere auch?!

Ich nutze ja die UVR und das CMI für meine Modbus-Kommunikation.
Die ersten Versuche damit funktionieren auch recht gut.
Mir ist nun aber bei den Modbus-Ausgängen folgendes aufgefallen:

Es wird immer eine Nachricht an die WPWP [Wärmepumpe] gesendet, wenn sich ein Ausgabe-Wert ändert.
z.B. andere WW WW [Warmwasser]-Ladung Stopp-Temperatur.
Alles gut soweit.
Aber auch wenn sich der gewünschte Wert nicht ändert, wird die aktuelle Eingabe in einem gewissen Intervall trotzdem immer wieder mal neu gesendet.
Das Intervall kann ich pro Wert auf max. 60min. einstellen.

Ich habe aktuell 7x Modbus-Ausgänge.
Wenn ich alle Ausgänge auf das max. Intervall von 60min stelle, habe ich (auch wenn ich gar keinen Wert ändere) eben 24x7 = min. 168 Schreibvorgänge jeden Tag!! 
Das würde meine WPWP [Wärmepumpe] also auf lange Sicht definitiv ins Grab schicken, richtig?!

1
  •  JanRi
  •   Gold-Award
18.9.2020  (#21)

zitat..
Pedaaa schrieb: eben 24x7 = min. 168 Schreibvorgänge jeden Tag!! 

x 2 ... du hast das Log vergessen.

Ich würde aber mal in selbiges Log schauen. Falls die wiederholten Schreibvorgänge da nicht drinstehen, ist die Chance gut, dass das nicht zählt. 

Ich teste mal schnell per DIY-Modbus: Durchschnittszeit für die Umschaltschwellen von 24h auf 24h gestellt und dann in den Keller gegangen: Log-Eintrag zeigt diese und auch die vorherige Änderung beide mit Wert 24h. Zudem wurde wirklich geschrieben, weil die durchschnittliche AT AT [Außentemperatur] auf die aktuelle gesetzt wurde, was ja nur passiert, wenn man ändert (24->24 scheint eine Änderung zu sein).

Von daher erzeugst du mindestens 336 Schreibvorgänge am Tag, also 122640 im Jahr. Nach 8 Jahren sind die 1Mio Zugriffe erreicht.

Schau mal, ob die S das auch so macht. Wenn sie das loggt, dann sollte man das IMO dringend (!) lassen. Ob man UVR+CMI dazu bringen kann, diesen Unfug zu lassen, weiss ich natürlich nicht. Das bestärkt mich aber in meiner Sichtweise, sowas nur mit selbstgeschriebener Software zu machen...

1
 1  2 ...... 3 

Thread geschlossen Dieser Thread wurde geschlossen, es sind keine weiteren Antworten möglich.


next