Heizung auch aus wenn Absenkung LANG

Programmierung der FHZ-Zentralen mit contronics homeputer Standard / homeputer Studio & WEB-Server

Moderator: Co-Administratoren

Antworten
Tobbi35
Beiträge: 362
Registriert: 24.03.2007, 19:45

Heizung auch aus wenn Absenkung LANG

Beitrag von Tobbi35 » 11.01.2011, 19:21

Hallo zusammen,
also vor vielen Monaten hab ich mal ein Makro ,mit viel Hilfe von Bümpi geschrieben. Darin werden verschiedene Heizungsabläufe überprüft und jenachdem die Heizung auf Nachtabsenkung geschaltet.
Jetzt ist mir folgendes aufgefallen, wenn der eine Heizungsregler auf "Koffer lang" steht und der andere wird auf "Absenkung " gestellt ,dann wird die Heizung NICHT auf Nachtabsenkung umgeschaltet. Hier mal das Makro. Kann ich Kofferlang als Variable verarbeiten ?

Code: Alles auswählen

** HeizungTagNacht Objekt Typ Schalter         - HeizungNachtabsenkung ist bei 1 aktiviert
** TagModus Variable Typ Schalter    - TagModus ist bei 1 aktiviert
** ASK05Tmp Variable Typ Schalter

**Wenn die Raumregler auf höhere Temp gestellt wird,dann Heizungsabsenkung auf jedenfall aus

Wenn RR2W > RR2W.Komforttemperatur oder RR1W > RR1W.Komforttemperatur dann
    Wenn HeizungTagNacht <>0 dann
        ASK05Tmp :=0
        Aktion:= "Raumregler hoch gedreht"
    Endewenn
   gehezu Schluss
  endewenn

  ** Wenn die Raumregler auf manuell stehen,dann Heizungsabsenkung auf jedenfall aus
 Wenn RR2W.Modus = manuell oder RR1W.Modus = manuell dann
    Wenn HeizungTagNacht <>0 dann
        ASK05Tmp :=0
        Aktion:= "Manuell"
    Endewenn
   gehezu Schluss
  endewenn
  **Hier wird die Heizung auf Absenkung gestellt wenn zweimal getaktet
  Wenn Zeit<=HeizungANAUS.Absenkzeitbis dann
      ** Sonst gibt's wieder alle 5 Sek. einen Eintrag in der History
      wenn HeizungTagNacht<>1 dann
         ASK05tmp :=1
      Aktion:= "Taktung"
      endewenn
      Gehezu Schluss
  Endewenn
**Hier wird der Zähler Kurztakt wieder auf Null gesetzt.
   Wenn HeizungANAUS.Kurztakt>=2 und Zeit>HeizungANAUS.Absenkzeitbis dann
      HeizungANAUS.Kurztakt:=0
        Wenn HeizungTagNacht<> 1 dann
        ASK05tmp :=0
        Endewenn
   Endewenn


** normale Laufzeiten der Heizung in der Woche
Wenn Tag =+ "1111100" dann
   Wenn Uhrzeit>=HeizungWocheTag und nicht Uhrzeit>HeizungWocheNacht oder Uhrzeit>=HeizungWocheTag2 und nicht Uhrzeit>HeizungWocheNacht2  dann
      TagModus:=1
      **Aktion:= "Woche Heizung Ein"
   sonst
      TagModus:=0
      **Aktion:= "Woche Heizung Aus"
   EndeWenn
EndeWenn

Wenn Tag =+ "0000011" dann
   Wenn Uhrzeit>=HeizungWochenendeTag und nicht Uhrzeit>HeizungWochenendeNacht oder Uhrzeit>=HeizungWochenendeTag2 und nicht Uhrzeit>HeizungWochenendeNacht2  dann
      TagModus:=1
      **Aktion:= "Wochenende Heizung Ein"
   sonst
      TagModus:=0
      **Aktion:= "Wochenende Heizung Aus"
   EndeWenn
EndeWenn

** Absenkung aktiviert; Warm genug, kein Leerlauf Heizung wenn beide Regler auf HeizungNachtabsenkung stehen
** oder manuell auf geringere Temperatur gestellt wurde.
Wenn RR2W < RR2W.Komforttemperatur und RR1W < RR1W.Komforttemperatur dann
      ASK05Tmp:=1
      Aktion:= "Regler Absenkung"
Endewenn

** Es ist Nacht
** Absenkung aktiviert, Shell freut sich nicht
   Wenn TagModus = 0 dann
        ASK05Tmp:=1
     sonst
** Absenkung aktiviert; Warm genug, kein Leerlauf Heizung
   Wenn RR1W.Temperatur > 22,2 und RR1W.Ventilpos < 40 und RR2W.Temperatur > 22,2 und RR2W.Ventilpos < 40 dann
      ASK05Tmp:=1
      Aktion:= "Räume zu warm"
   EndeWenn
** Absenkung aktiviert; Ventile unter 5% ,kein Leerlauf Heizung
   Wenn RR1W.Ventilpos < 5 oder RR1W.Ventilpos =-1  und RR2W.Ventilpos < 5 oder RR2W.Ventilpos =-1 dann
      ASK05Tmp:=1
      Aktion:= "Ventile zu "
   EndeWenn

** Absenkung deaktiviert; für Tag zu kalt, Brenner gib Gas
   Wenn RR1W.Temperatur < 21,2 oder RR2W.Temperatur < 21,2 dann
      Wenn TagModus = 1 dann
         ASK05Tmp:=0
         Aktion:= "Räume zu kalt"
      Endewenn
   EndeWenn

Endewenn



Schluss:

** Damit nur bei Umschaltung ein Eintrag in History erfolgt
Wenn HeizungTagNacht<>ASK05Tmp dann
   HeizungTagNacht:=ASK05Tmp

endewenn

** Nur dann, sonst kommen die Signale jede Minute!!
Wenn geschaltet(HeizungTagNacht) dann
   erledigt(HeizungTagNacht)
   warte("00:00:01")
   sendewert(HeizungTagNacht)
   warte("00:00:01")
   sendewert(HeizungTagNacht)
Endewenn
Grüsse Tobbi

buempi
Ehrenmitglied
Beiträge: 12194
Registriert: 29.07.2006, 15:58
Wohnort: Schweiz
Danksagung erhalten: 5 Mal

Re: Heizung auch aus wenn Absenkung LANG

Beitrag von buempi » 12.01.2011, 10:22

Hallo Jürgen

Ja; du kannst auch den Koffermodus abfragen; lang ist 2 und kurz ist 3. Also z.B.

Code: Alles auswählen

wenn RR2W.Modus > 1 und RR1W = RR1W.Absenktemperatur oder RR1W.Modus > 1 und RR2W = RR2W.Absenktemperatur dann
Bei UND/ODER musst du aufpassen! Ich glaube nicht, dass dieses WENN genau das macht, was du beabsichtigst:

Code: Alles auswählen

** Absenkung aktiviert; Ventile unter 5% ,kein Leerlauf Heizung
Wenn RR1W.Ventilpos < 5 oder RR1W.Ventilpos =-1  und RR2W.Ventilpos < 5 oder RR2W.Ventilpos =-1 dann
Lies dazu mal mein kleines Quiz hier: http://homematic-forum.de/forum/viewtop ... 26l#p21026

Ganz allgemein habe ich das Gefühl, dass bei diesem Makro immer wieder was "dazugebastelt" wurde! Würde es nicht genügen, die Heizung auf Absenkung zu schalten, wenn die SOLL-Temperatur bei beiden Reglern unter einem bestimmten Wert liegt? - Oder, wenn die Ventile bei beiden Reglern weniger als X % geöffnet sind?

Viele Grüsse
Bümpi

Antworten

Zurück zu „homeputer Studio / Standard: Programmierbeispiele“