Zeitabhängige Sollwertvorgabe für Raumtemperaturen

wieching

Member
Beiträge
10
Punkte Reaktionen
0
Zuviel Werbung?
->Hier kostenlos registrieren
Hallo zusammen,

ich habe nun schon eine Weile Google und die Suche bemüht, aber leider bin ich nicht fündig geworden.
Vielleicht kann mir hier Jemand helfen.
Ich habe eine Wago 750-841 mit CodeSys und OScat Libs...
Akktuell habe ich mir einen Regler gebaut der meine Raumtemperaturen über die Fußbodenheizung regelt.
Das klappt soweit super...

Nun möchte ich aber Tageszeitabhängig verschiedene Sollwerte vorgeben.
Ein Beispiel:
TOD#04:30:00 -> 21.5
TOD#07:00:00 -> 18.0
TOD#15:30:00 -> 22.0
TOD#22:00:00 -> 18.0

Zusätzlich soll möglichst wenn ich zwischendurch die Steuerung neu lade, die Temperatur für den aktuellen Zeitbereich geladen werden.

Aktuell fällt mir nur ein, den Regler in eine Lib zu packen und für jeden Temperaturbereich zu aktivieren. Das finde ich aber keine wirklich saubere Lösung.

Hat hier Jemand eine Idee???

Danke und Gruß

 
Zuletzt bearbeitet:

L.T.

Well-known member
Beiträge
190
Punkte Reaktionen
25
Hi wieching,

du kannst die aktuelle Zeit und deine Zeitbereiche vergleichen.
TOD (= DWORD in msec ab 00:00:00 gerechnet).
Dementsprechend könntest du es einfach über if-then-else

z.B.
If (Act_Time > xStart_Bereich_1 ) and (Act_Time < xEnde_Bereich_1 ) then
xSollwert := Sollwert_Bereich_1;
ELSIF (Act_Time > xStart_Bereich_2 ) and (Act_Time < xEnde_Bereich_2 ) then
xSollwert := Sollwert_Bereich_2;
ELSIF......
xSollwert := Sollwert_Bereich_xy;
ELSE
xSollwert := Absenk_Temperatur;
END_IF

Den Sollwert dann wieder an deinen Regler und fertig.

Gruß L.T.
 
Oben