# Heizung-Vorlauftemperatur per S7 regeln



## spacedriver (6 November 2006)

Hallo

Ich möchte mit einer S7-300 eine Steuerung für die Zentralheizung von Viessmann realisieren. Bis jetzt habe ich soweit alles fertig erstellt.
Das Problem liegt momentan darin, dass ich die Vorlauftemperatur des Kessel der Außentemperatur anpassen muss.
Leider ist die Regelung nicht linear. Ich habe als Vorgabe die bestehende Heizkurve. 
Gibt es eine Möglichkeit den Wert der Außentemperatur mit Baustein oder Formel so zu wandeln, dass ein Sollwert entsprechend der Heizkurve für die Vorlauftemperatur ausgegeben wird.

Würde mich auf antworten freuen


----------



## mr__mines (6 November 2006)

Mach halt einfach mehrere Stützpunkte und dazwischen lineare Verbindungen;
Zum Beispiel:
-20°C AT = 75°C VT
-10°C AT = 65°C VT
0°C ...
20°C ...

Das reicht meistens für eine Berechnung des Vorlaufs bei einer Gebäudeheizung.
Kannst ja mehr Stützpunkte machen ?

Viel wichtieger wäre dann eine gleitende Nachtabsenkung. (in Abhängiegkeit der AT)
Soll heißen ab einer Gewissen AT keine Absenkung mehr (z.B. -12°C) und dazwischen über Stützpunkte bis zur maximalen Absenkung. bei xx°C AT

Davor wäre es ratsam die AT über einen Filter zu führen um da bereits die ged. AT zu bekommen. (0,5 Stunde oder so ...)

Also bei Häuselbauern ist das halt so.


----------



## spacedriver (6 November 2006)

*Aber wie?*

Aber wie soll ich den Vorschlag mit den Stützpunkten realisieren.
(Vorschlag für Funktion).
Die Frage mit der Nachtabsenkung ist gut, so gut dass mir immoment auch keine Lösung vorschwebt.


----------



## thomass5 (6 November 2006)

Hallo,
nimm einen Datenbaustein

DW0 Temp für -30°C
DW1 Temp für -29°C
.
.
.
DW60 Temp für +30°C


und dann greif auf das deiner Außentemp. entsprechende DW zu.

Thomas


----------



## Kai (7 November 2006)

spacedriver schrieb:


> Das Problem liegt momentan darin, dass ich die Vorlauftemperatur des Kessel der Außentemperatur anpassen muss.
> Leider ist die Regelung nicht linear. Ich habe als Vorgabe die bestehende Heizkurve.
> Gibt es eine Möglichkeit den Wert der Außentemperatur mit Baustein oder Formel so zu wandeln, dass ein Sollwert entsprechend der Heizkurve für die Vorlauftemperatur ausgegeben wird.


 
Kannst Du die Heizkurve oder eine größere Anzahl von Wertepaaren (Außentemperatur und Vorlauftemperatur) aus der Heizkurve hier in das Forum stellen?

Mit den Wertepaaren sollte es dann eigentlich möglich sein, z.B. mit einer Polynom-Regression eine Funktion vom Typ

y = a(0) + a(1)*x^1 + ... a*x^n

zu berechnen. Mit dieser Funktion könntest Du dann in Deinem SPS-Programm rechnen.

Gruß Kai


----------



## spacedriver (12 November 2006)

Hallo

Hier ein paar Werte als Paar einfach mal per Excel aufgeführt

Gruß

Danilo


----------



## Ralle (12 November 2006)

Da die Werte für die Außentemperatur in 1 Grad-Schritten vorliegen kannst du die zugehörigen Vorlaufwerte nacheinander in einen DB schreiben (z.Bsp. DW0 für -20 Grad, DW2 für -19 ...). Die gemessene Außentemp. rundest du aufs Grad genau, wandelst sie in einen Int-Wert, addierst 20, multiplizierst mit 2 (je Grad 2 DW weiter) kontrollierst zur Sicherheit noch den gültigen Bereich (Werte für DBW müssen zwischen 0 und 82 liegen) und lädst dann per indirekter Adressierung aus dem DB den zugehörigen Vorlaufwert.


----------



## Kai (13 November 2006)

spacedriver schrieb:


> Hier ein paar Werte als Paar einfach mal per Excel aufgeführt


 
Hallo Danilo,

ein gutes Ergebnis liefert folgende Funktion:


```
Polynom-Regression n=4
 
y = + 54,876788
    - 1,1121711 x
    - 0,022736483 x^2
    - 0,00023886389 x^3
    + 4,3997495E-6 x^4
 
Bestimmtheitsmaß   = 0,99984714
Korrelationskoeff. = 0,99992357
Standardabweichung = 0,18638141
```
 
Ein noch leicht verbessertes Ergebnis liefert folgende Funktion:


```
Polynom-Regression n=6
 
 y = + 54,958828
     - 1,1173254 x
     - 0,026868135 x^2
     - 0,00018134234 x^3
     + 3,4100706E-5 x^4
     - 1,2370226E-7 x^5
     - 5,2148527E-8 x^6
 
 Bestimmtheitsmaß   = 0,9998748
 Korrelationskoeff. = 0,9999374
 Standardabweichung = 0,17356717
```
 
Gruß Kai


----------



## Ralle (13 November 2006)

Die von Kai ermittelte Formel kannst du auch von Excel berechnen lassen, falls du ein wenig damit experimentieren willst. Maus auf die Trendlinie, rechte MAustaste und "Trendlinie" formatiern wählen.


----------



## spacedriver (13 November 2006)

Danke, soetwas habe ich gesucht. Da ich aber etwas Probleme habe mit den Formeln umzugehen, weiß ich nicht genau wie ich diese in dem Programm umsetzen soll. Vielleicht hat jemand von euch ein Beispiel, wäre super.

Danke


----------



## Ralle (13 November 2006)

Die S7 hat folgende mathem. Funktionen direkt implementiert:



> · +R Addiere AKKU 1 und 2 als Gleitpunktzahl (32 Bit)
> · -R Subtrahiere AKKU 1 von 2 als Gleitpunktzahl (32 Bit)
> · *R Multipliziere AKKU 1 und 2 als Gleitpunktzahl (32 Bit)
> · /R Dividiere AKKU 2 durch 1 als Gleitpunktzahl (32 Bit)
> ...


 
So rechnet man in AWL:

http://www.sps-forum.de/showthread.php?t=10000&highlight=ln


----------



## Kai (13 November 2006)

spacedriver schrieb:


> Danke, soetwas habe ich gesucht. Da ich aber etwas Probleme habe mit den Formeln umzugehen, weiß ich nicht genau wie ich diese in dem Programm umsetzen soll. Vielleicht hat jemand von euch ein Beispiel, wäre super.


 
Nachfolgend ein Beispiel für die Berechnung der Heizkurve (mit den Koeffizienten aus der Polynom Regression mit n=4).

Gruß Kai


----------



## repök (20 Oktober 2011)

oder man nutzt einfach mal oscat.....


----------



## SCM (21 Oktober 2011)

Hallo!

Anbei auch noch eine Lösung für den Interpolation mit 10 Stüzpunkten.

Mfg


----------



## thomass5 (21 Oktober 2011)

Vielleicht postet ja auch der TE mal sein Lösung, die hoffentlich seit einigen Jahren gut läuft


----------

