** Heizungsteuerung Version GS04 (c) Georg Steidle Brigachtal
**
** Makro Hz1_RrWohn, startet bei jedem Datenempfang vom Funkemregler FHT80b RrWohn,
** Das Programm prüft, ob Fenster offen, dann Anforderung = 5 Brenner aus
** Dann, ob Soll Tp und IST Tp größer als 2 Grad, dann Brenner 15 Volt = Höchst Leistung
** Das Ventil muss aber mindestes auf 4% geöffnet sein.
** Dann, ob Soll Tp und IST Tp größer als 1 Grad, dann Brenner 13 Volt
** Das Ventil muss aber auch hier mindestes auf 4% geöffnet sein.
** Dann Prüfung auf kleineres Delta
**
wenn RrWohn.Fenster GESCHLOSSEN dann
V_RrWohn_Offset:=RrWohn - Hz1OffSet.Hz1OffSet1
** 20,5 - 0,3 = 20,2 der Brenner schaltet 0,3 Grad vorher aus.
** Die Ventille sind weiter offen; es pfeift nicht.
wenn RrWohn.Temperatur < V_RrWohn_offset
dann
wenn RrWohn.Ventilpos <= 3 dann
** 5, keine Wärmeanforderung, Ventil ist fast zu
V_RrWohn_TpAnf:=5
endewenn
wenn RrWohn.Ventilpos >= 5 und RrWohn.Ventilpos <= 18 dann
** Ventil hat 5% bis 18% geöffnet, geringe Brenner Leistung
V_RrWohn_ TpAnf:=8
endewenn
wenn RrWohn.Ventilpos >= 19 und RrWohn.Ventilpos <= 25 dann
V_RrWohn_TpAnf:=9
endewenn
wenn RrWohn.Ventilpos >= 26 und RrWohn.Ventilpos <= 32 dann
V_RrWohn_TpAnf:=10
endewenn
wenn RrWohn.Ventilpos >= 33 und RrWohn.Ventilpos <= 40 dann
V_RrWohn_TpAnf:=11
endewenn
wenn RrWohn.Ventilpos >= 41 und RrWohn.Ventilpos <= 55 dann
V_RrWohn_TpAnf:=13
endewenn
wenn RrWohn.Ventilpos >= 56 und RrWohn.Ventilpos <= 75 dann
V_RrWohn_TpAnf:=15
endewenn
wenn RrWohn.Ventilpos >= 76 dann
V_RrWohn_TpAnf:=15
endewenn
sonst
V_RrWohn_TpAnf:=5
** Raumtemperatur hat SollTemp erreicht oder ist größer
endewenn
sonst
V_RrWohn_TpAnf:=5
** Fenster ist offen, keine Anforderung an den Brenner. Brenner aus.
endewenn
**
endeRrWohn:
** Egal was los ist, wenn Zimmertemperratur unter 4 Grad
** dann Brenneranforderung 8 Volt. Frostschutz.
wenn RrWohn.Temperatur < 4 dann
V_RrWohn_TpAnf:=8
** Frostgefahr Heizkörper
endewenn
**
** bei Vorlauf Tp über Hz1VorTpmax.Hz1VorTpMax1 40 bis 60 Grad max. 8 Volt Brennerleistung Änderung vom 17.12.2009
wenn V_RrWohn_TpAnf > 8 dann
wenn Hz1VorlTp >= Hz1VorTpmax.Hz1VorTpMax1 dann
V_RrWohn_TpAnf:= 8
endewenn
endewenn
** Dokumentation der Daten in Dateien. Nur schreiben, wenn es veränderungen gibt
**
RrWohnLog1:=Hz1Prog+RrWohn+RrWohn.Temperatur+RrWohn.Ventilpos+RrWohn.V_RrWohn_TpAnf
Wenn RrWohnlog1 <> RrWohnlog2 dann
RrWohnlog2:=RrWohnlog1
RrHz1WoKpLog0:=uhr+" ; "+H100TFT1+" ; "+Hz1Prog+Hz1VorlTp+" ; "+Hz1Prog+" ; "
+RrWohn+RrWohn.Temperatur+" ; "+RrWohn.Ventilpos+" ; "+RrWohn.V_RrWohn_TpAnf+" ; "
+RrJulia+RrJulia.Temperatur+" ; "+RrJulia.Ventilpos+" ; "+RrJulia.V_RrJulia_TpAnf+" ; "
+RrKatrin+RrKatrin.Temperatur+" ; "+RrKatrin.Ventilpos+" ; "+RrKatrin.V_RrKatrin_TpAnf
**
RrHz1WohnLog0:=uhr+" ; "+H100TFT1+" ; "+Hz1Prog+Hz1VorlTp+" ; "+Hz1Prog+" ; "
+RrWohn+RrWohn.Temperatur+" ; "+RrWohn.Ventilpos+" ; "+RrWohn.V_RrWohn_TpAnf
**
Wenn Jahr = 2014 dann
schreibedatei("C:\fhz1350\dat\Hz1Rr_Hz1_Kpl_2014.txt","%<Uhr>; %<Frist.WTagK>; %<AussenTemp>; %<Hz1Prog> ;
%<Hz1VorlTp>; %<RrWohn>; %<RrWohn.Temperatur>; %<RrWohn.Ventilpos>; %<RrWohn.V_RrWohn_TpAnf>;
%<RrJulia>; %<RrJulia.Temperatur>; %<RrJulia.Ventilpos>; %<RrJulia.V_RrJulia_TpAnf>;
%<RrKatrin>; %<RrKatrin.Temperatur>; %<RrKatrin.Ventilpos>; %<RrKatrin.V_RrKatrin_TpAnf>")
endewenn
wenn Monat = 12 dann
schreibedatei("C:\fhz1350\dat\Hz1Trig_RrWohn_dez.txt","%<Uhr>; %<Frist.WTagK>; %<AussenTemp>; %<Hz1Prog> ;
%<Hz1VorlTp>; %<RrWohn>; %<RrWohn.Temperatur>; %<RrWohn.Ventilpos>; %<RrWohn.V_RrWohn_TpAnf>;
%<RrJulia>; %<RrJulia.Temperatur>; %<RrJulia.Ventilpos>; %<RrJulia.V_RrJulia_TpAnf>;
%<RrKatrin>; %<RrKatrin.Temperatur>; %<RrKatrin.Ventilpos>; %<RrKatrin.V_RrKatrin_TpAnf>")
schreibedatei("C:\fhz1350\dat\Hz1RrWohn_dez.txt","%<Uhr>; %<Frist.WTagK>; %<AussenTemp>; %<Hz1Prog>;
%<Hz1VorlTp>; %<RrWohn>; %<RrWohn.Temperatur>; %<RrWohn.Ventilpos>; %<RrWohn.V_RrWohn_TpAnf>")
endewenn
** Jetzt wird für 5 Raumregler geschrieben
schreibedatei("C:\fhz1350\dat\Hz1Trig_RrWo_RrJul_RrKat_RrBad_RrWC.txt","%<Uhr>; %<Frist.WTagK>;
%<AussenTemp>; %<Hz1Prog> ; %<Hz1VorlTp>;
%<RrWohn>; %<RrWohn.Temperatur>; %<RrWohn.Ventilpos>; %<RrWohn.V_RrWohn_TpAnf>;
%<RrJulia>; %<RrJulia.Temperatur>; %<RrJulia.Ventilpos>; %<RrJulia.V_RrJulia_TpAnf>;
%<RrKatrin>; %<RrKatrin.Temperatur>; %<RrKatrin.Ventilpos>; %<RrKatrin.V_RrKatrin_TpAnf>;
%<RrBadDG>; %<RrBadDG.Temperatur>; %<RrBadDG.Ventilpos>; %<RrBadDG.V_RrBadDG_TpAnf>;
%<RrWCEG>; %<RrWCEG.Temperatur>; %<RrWCEG.Ventilpos>; %<RrWCEG.V_RrWCEg_TpAnf>")
endewenn
Programm Beispiel Makro “Raum Thermostat Wohnzimmer”
Programmiert wird mit Homputer Studio der Firma CONTRONICS. Die Software “Homputer Studio” mit Unterstützung Velleman 8055
ist nicht mehr lieferbar. Die Programmiersprache ist ähnlich wie BASIC. Ein eingedeutschtes BASIC. -;)
Beispiel Programm Makro Raum-Thermostat Wohnzimmer. Die Heizungssteuerung enthält inzwischen über 40 Makros.
Das nachfolgende Programm ist an manchen stellen gekürzt. Soll nur zeigen, wie die Sprache von CONTRONICS aufgebaut ist.
** ist Kommentarzeile