Zur Hauptseite

Die folgende Routine war von Januar bis April 2008 erfolgreich in Betrieb.

Sie umfasst die vollautomatische Regelung für Küche und Wohnzimmer. Der Aussentemperaturfühler war noch nicht in Betrieb.

 

// 12.01.2008

//V301 Alle Temperaturangaben auf GradCelsiusähnliche Werte skaliert
//Steuerung Küche und Wohnzimmer fertig.
//Lüfterstufen Heizraumtemperaturgeführt und -verzögert.
//V301b Alle Heizschwellwerte näher zusammengerückt:
// -.3, -.1, +.1, +.3 --> -.1, 0, +.1, +.2

//Variablendeklaration *******************************************************************************************************
int inKyche, inWoZi, inHeizraum, inAussen, in5, in6; // AD-gewandelte Werte der Temperatursensoren
string outKyche, outWoZi, outHeizraum, outAussen, out5, out6; // Variablen für die Anzeigen auf dem Display ********
float inKycheQuer, inWoZiQuer, inHeizraumQuer, inAussenQuer, in5quer, in6quer; // Mittelwerte ***************************************
float inKycheQuerVorher, inWoZiQuerVorher; //Mittelwerte aus vorangehendem Durchlauf. Wenn Max-Min zu gross, dann wird Störung vermutet und statt dem aktuellen Wert der vorherige Wert verwendet.
int inKycheMax, inWoZiMax, inHeizraumMax, inAussenmax, in5max, in6max; // Maxwerte
int inKycheMin, inWoZiMin, inHeizraumMin, inAussenmin, in5min, in6min; // Minwerte
byte Aussenkorrektur; // Tabelle, die um 1 pro Grad Abnahme zunimmt.
float deltaKyche, deltaWoZi, deltaHeizraum, deltaAussen;//jeweils Max -Min
int j, AnzahlZyklen;
byte LCDbacklight; //Hintergrundbeleuchtung an oder aus
byte KycheH1Enable, KycheH2Enable, WoZiH1Enable, WoZiH2Enable;
byte OtherH1Enable, OtherH2Enable; //Andere als der jeweilige Lyfter unter Betrachtung.
byte H1Enable, H2Enable;
byte Lyfter1OK, Lyfter2OK, H1OK, H2OK; // Lyfterfeigabe erst ab Mindesttemperatur im Heizraum. Heizstufen Abschaltung bei Höchsttemperatur.
byte AussenfylerFlag; // Erst ab 66 Zyklen darf der Aussentemperaturfühler "mitreden".
float H1Oben, H1Unten, H2Oben, H2Unten; // Schaltpunkte mit Hysterese.
int HeizraumQuerGradC;
byte WoZiKeltest, KycheKeltest;

//Funktionendeklaration ***********************************

//_________________________________________________________
function AussenwertTabelle(){
if inAussenQuer >158 Aussenkorrektur = 0; //+20C°
if inAussenQuer >164 Aussenkorrektur = 0;
if inAussenQuer >171 Aussenkorrektur = 0;
if inAussenQuer >177 Aussenkorrektur = 0;
if inAussenQuer >184 Aussenkorrektur = 0;
if inAussenQuer >191 Aussenkorrektur = 0;
if inAussenQuer >199 Aussenkorrektur = 0;
if inAussenQuer >206 Aussenkorrektur = 0;
if inAussenQuer >214 Aussenkorrektur = 0;
if inAussenQuer >222 Aussenkorrektur = 0;
if inAussenQuer >231 Aussenkorrektur = 0; //+10C°
if inAussenQuer >240 Aussenkorrektur = 1;
if inAussenQuer >249 Aussenkorrektur = 2;
if inAussenQuer >259 Aussenkorrektur = 3;
if inAussenQuer >269 Aussenkorrektur = 4;
if inAussenQuer >279 Aussenkorrektur = 5;
if inAussenQuer >290 Aussenkorrektur = 6;
if inAussenQuer >301 Aussenkorrektur = 7;
if inAussenQuer >313 Aussenkorrektur = 8;
if inAussenQuer >325 Aussenkorrektur = 9;
if inAussenQuer >337 Aussenkorrektur = 10; //0C°
if inAussenQuer >350 Aussenkorrektur = 11;
if inAussenQuer >364 Aussenkorrektur = 12;
if inAussenQuer >378 Aussenkorrektur = 13;
if inAussenQuer >393 Aussenkorrektur = 14;
if inAussenQuer >408 Aussenkorrektur = 15;
if inAussenQuer >423 Aussenkorrektur = 16;
if inAussenQuer >440 Aussenkorrektur = 17;
if inAussenQuer >457 Aussenkorrektur = 18;
if inAussenQuer >474 Aussenkorrektur = 19;
if inAussenQuer >493 Aussenkorrektur = 20; //-10C°
if inAussenQuer >512 Aussenkorrektur = 21;
if inAussenQuer >531 Aussenkorrektur = 22;
if inAussenQuer >552 Aussenkorrektur = 23;
if inAussenQuer >573 Aussenkorrektur = 24;
if inAussenQuer >595 Aussenkorrektur = 25;
if inAussenQuer >618 Aussenkorrektur = 26;
if inAussenQuer >642 Aussenkorrektur = 27;
if inAussenQuer >667 Aussenkorrektur = 28;
if inAussenQuer >692 Aussenkorrektur = 29;
if inAussenQuer >719 Aussenkorrektur = 30; //-20C°
}
//____________________________________________________________
function HeizraumGradC() {
if inHeizraumQuer < 876 HeizraumQuerGradC = 10;
if inHeizraumQuer < 854 HeizraumQuerGradC = 11;
if inHeizraumQuer < 833 HeizraumQuerGradC = 12;
if inHeizraumQuer < 812 HeizraumQuerGradC = 13;
if inHeizraumQuer < 791 HeizraumQuerGradC = 14;
if inHeizraumQuer < 772 HeizraumQuerGradC = 15;
if inHeizraumQuer < 752 HeizraumQuerGradC = 16;
if inHeizraumQuer < 733 HeizraumQuerGradC = 17;
if inHeizraumQuer < 715 HeizraumQuerGradC = 18;
if inHeizraumQuer < 697 HeizraumQuerGradC = 19;
if inHeizraumQuer < 679 HeizraumQuerGradC = 20;
if inHeizraumQuer < 662 HeizraumQuerGradC = 21;
if inHeizraumQuer < 645 HeizraumQuerGradC = 22;
if inHeizraumQuer < 629 HeizraumQuerGradC = 23;
if inHeizraumQuer < 613 HeizraumQuerGradC = 24;
if inHeizraumQuer < 598 HeizraumQuerGradC = 25;
if inHeizraumQuer < 583 HeizraumQuerGradC = 26;
if inHeizraumQuer < 568 HeizraumQuerGradC = 27;
if inHeizraumQuer < 554 HeizraumQuerGradC = 28;
if inHeizraumQuer < 540 HeizraumQuerGradC = 29;
if inHeizraumQuer < 526 HeizraumQuerGradC = 30;
if inHeizraumQuer < 513 HeizraumQuerGradC = 31;
if inHeizraumQuer < 500 HeizraumQuerGradC = 32;
if inHeizraumQuer < 488 HeizraumQuerGradC = 33;
if inHeizraumQuer < 475 HeizraumQuerGradC = 34;
if inHeizraumQuer < 463 HeizraumQuerGradC = 35;
if inHeizraumQuer < 452 HeizraumQuerGradC = 36;
if inHeizraumQuer < 440 HeizraumQuerGradC = 37;
if inHeizraumQuer < 429 HeizraumQuerGradC = 38;
if inHeizraumQuer < 418 HeizraumQuerGradC = 39;
if inHeizraumQuer < 408 HeizraumQuerGradC = 40;
if inHeizraumQuer < 398 HeizraumQuerGradC = 41;
if inHeizraumQuer < 388 HeizraumQuerGradC = 42;
if inHeizraumQuer < 378 HeizraumQuerGradC = 43;
if inHeizraumQuer < 368 HeizraumQuerGradC = 44;
if inHeizraumQuer < 359 HeizraumQuerGradC = 45;
if inHeizraumQuer < 350 HeizraumQuerGradC = 46;
if inHeizraumQuer < 341 HeizraumQuerGradC = 47;
if inHeizraumQuer < 333 HeizraumQuerGradC = 48;
if inHeizraumQuer < 324 HeizraumQuerGradC = 49;
if inHeizraumQuer < 316 HeizraumQuerGradC = 50;
if inHeizraumQuer < 308 HeizraumQuerGradC = 51;
if inHeizraumQuer < 300 HeizraumQuerGradC = 52;
if inHeizraumQuer < 293 HeizraumQuerGradC = 53;
if inHeizraumQuer < 285 HeizraumQuerGradC = 54;
if inHeizraumQuer < 278 HeizraumQuerGradC = 55;
if inHeizraumQuer < 271 HeizraumQuerGradC = 56;
if inHeizraumQuer < 264 HeizraumQuerGradC = 57;
if inHeizraumQuer < 258 HeizraumQuerGradC = 58;
if inHeizraumQuer < 251 HeizraumQuerGradC = 59;
if inHeizraumQuer < 245 HeizraumQuerGradC = 60;
if inHeizraumQuer < 239 HeizraumQuerGradC = 61;
if inHeizraumQuer < 233 HeizraumQuerGradC = 62;
if inHeizraumQuer < 227 HeizraumQuerGradC = 63;
if inHeizraumQuer < 221 HeizraumQuerGradC = 64;
if inHeizraumQuer < 216 HeizraumQuerGradC = 65;
if inHeizraumQuer < 210 HeizraumQuerGradC = 66;
if inHeizraumQuer < 205 HeizraumQuerGradC = 67;
if inHeizraumQuer < 200 HeizraumQuerGradC = 68;
if inHeizraumQuer < 195 HeizraumQuerGradC = 69;
if inHeizraumQuer < 190 HeizraumQuerGradC = 70;
if inHeizraumQuer < 185 HeizraumQuerGradC = 71;
if inHeizraumQuer < 180 HeizraumQuerGradC = 72;
if inHeizraumQuer < 176 HeizraumQuerGradC = 73;
if inHeizraumQuer < 171 HeizraumQuerGradC = 74;
if inHeizraumQuer < 167 HeizraumQuerGradC = 75;
if inHeizraumQuer < 163 HeizraumQuerGradC = 76;
if inHeizraumQuer < 159 HeizraumQuerGradC = 77;
if inHeizraumQuer < 155 HeizraumQuerGradC = 78;
if inHeizraumQuer < 151 HeizraumQuerGradC = 79;
if inHeizraumQuer < 147 HeizraumQuerGradC = 80;
if inHeizraumQuer < 143 HeizraumQuerGradC = 81;
if inHeizraumQuer < 140 HeizraumQuerGradC = 82;
if inHeizraumQuer < 136 HeizraumQuerGradC = 83;
if inHeizraumQuer < 133 HeizraumQuerGradC = 84;
if inHeizraumQuer < 129 HeizraumQuerGradC = 85;
if inHeizraumQuer < 126 HeizraumQuerGradC = 86;
if inHeizraumQuer < 123 HeizraumQuerGradC = 87;
if inHeizraumQuer < 120 HeizraumQuerGradC = 88;
if inHeizraumQuer < 117 HeizraumQuerGradC = 89;
if inHeizraumQuer < 114 HeizraumQuerGradC = 90;
}
//____________________________________________________________
function RelaisKyche1On() {
station_io.LEDon(1); //Relais Nr.1
station_io.PORTset(0,1); } // Port0 auf Hi, Terminal41
//________________________________________________________________
function RelaisKyche1Off() {
station_io.LEDoff(1); //Relais Nr.1
station_io.PORTset(0,0); }// Port0 auf Lo, Terminal41
//________________________________________________________________
function RelaisKyche3On() {
station_io.LEDon(2); //Relais Nr.2
station_io.PORTset(1,1); } // Port1 auf Hi, Terminal42
//________________________________________________________________
function RelaisKyche3Off() {
station_io.LEDoff(2); //Relais Nr.2
station_io.PORTset(1,0); } // Port1 auf Hi, Terminal42
//________________________________________________________________
function RelaisWoZi1On() {
station_io.LEDon(4); //Relais Nr.3
station_io.PORTset(2,1); } // Port2 auf Hi, Terminal43
//________________________________________________________________
function RelaisWoZi1Off() {
station_io.LEDoff(4); //Relais Nr.3
station_io.PORTset(2,0); }// Port2 auf Hi, Terminal43
//________________________________________________________________
function RelaisWoZi3On() {
station_io.LEDon(5); //Relais Nr.4
station_io.PORTset(3,1); }//Port3 auf Hi, Terminal44
//________________________________________________________________
function RelaisWoZi3Off() {
station_io.LEDoff(5); //Relais Nr.4
station_io.PORTset(3,0); } //Port3 auf Hi, Terminal44
//________________________________________________________________
function Vorgeplenkel() {
station_lcd.init();
station_io.init();

station_lcd.clear();
station_lcd.print(" Cerebrum ");
station_lcd.line2();
station_lcd.print(" Calefaktorii ");sleep 2000;
station_lcd.clear();

station_lcd.print(" 12. Januar ");
station_lcd.line2();
station_lcd.print(" 2008 V301b ");sleep 2000;
//station_lcd.clear();
station_io.LIGHToff ();
}
//________________________________________________________________
function InitMain() {
inKycheQuerVorher=0;
inWoZiQuerVorher=0;
station_io.LEDon(6);
Lyfter1OK=0; Lyfter2OK=0; H1OK =0; H2OK=0;
AussenfylerFlag=0;
KycheH1Enable=0; KycheH2Enable=0; WoZiH1Enable=0; WoZiH2Enable=0;
H1Enable=0; H2Enable=0;
Aussenkorrektur=0;
}
//________________________________________________________________
function Zizibeh() {
plm.beep(plm.TONE_C4); sleep 100;
plm.beep(plm.TONE_OFF); sleep 100;
plm.beep(plm.TONE_C4); sleep 100;
plm.beep(plm.TONE_OFF); sleep 100;
plm.beep(plm.TONE_A3); sleep 300;
plm.beep(plm.TONE_OFF);
}
//________________________________________________________________
function InitLoop() {
deltaKyche=0; deltaWoZi=0; deltaHeizraum=0; deltaAussen=0;
inKycheQuer=0; inWoZiQuer=0; inHeizraumQuer=0; inAussenQuer=0; in5quer=0; in6quer=0;
inKycheMax=0; inWoZiMax=0; inHeizraumMax=0; inAussenmax=0; in5max=0; in6max=0;
inKycheMin=1023; inWoZiMin=1023; inHeizraumMin=1023; inAussenmin=1023; in5min=1023; in6min=1023;
HeizraumQuerGradC=0;
}
//________________________________________________________________
function Tastenabfrage() {
//**** F1 --> Display Hintergrundbeleuchtung an. F2 --> aus
LCDbacklight = station_io.getkey(); // Tastenabfrage
if LCDbacklight == 10 station_io.LIGHTon(); // F1 Taste hat den Wert 10
if LCDbacklight == 10 station_io.LEDon(7);
if LCDbacklight == 10 station_io.LEDoff(6);
if LCDbacklight == 11 station_io.LIGHToff(); // F2 Taste hat den Wert 11
if LCDbacklight == 11 station_io.LEDon(6);
if LCDbacklight == 11 station_io.LEDoff(7);
}
//________________________________________________________________
function EinlesenInnenwerte() {
inHeizraum = ports.adc(0); //AD Eingang0 Terminal28
inKyche = ports.adc(1); //AD Eingang1 Terminal29
inWoZi = ports.adc(2); //AD Eingang2 Terminal30
}
//________________________________________________________________
function EinlesenAussenwert() {
inAussen = ports.adc(3); //AD Eingang3 Terminal31
}
//________________________________________________________________
function ExponentiellesVergessen(){
inAussenQuer = (inAussenQuer*0.9 + inAussen)/10;
AnzahlZyklen=AnzahlZyklen+1; if AnzahlZyklen > 66 AussenfylerFlag=1; // Erst ab 66 Zyklen darf der Aussentemperaturfühler "mitreden".
}
//________________________________________________________________
function MaxMinQuer() {
// Bestimmung von Max und Min der eingelesenen Werte *****************************
inKycheQuer = inKycheQuer + inKyche; if inKyche > inKycheMax inKycheMax=inKyche; if inKyche < inKycheMin inKycheMin=inKyche;
inWoZiQuer = inWoZiQuer + inWoZi; if inWoZi > inWoZiMax inWoZiMax=inWoZi; if inWoZi < inWoZiMin inWoZiMin=inWoZi;
inHeizraumQuer = inHeizraumQuer + inHeizraum; if inHeizraum > inHeizraumMax inHeizraumMax=inHeizraum; if inHeizraum < inHeizraumMin inHeizraumMin=inHeizraum;
inAussenQuer = inAussenQuer + inAussen; if inAussen > inAussenmax inAussenmax=inAussen; if inAussen < inAussenmin inAussenmin=inAussen;
}
//______________________________________________________________
function XquerDeltaKorrektur() {
//Mittelwertbildung und Korrektur*******************************
inKycheQuer = (767-(inKycheQuer/1000))/10;
inWoZiQuer = (767-((inWoZiQuer/1000)-21))/10; inHeizraumQuer = inHeizraumQuer/1000; inAussenQuer = inAussenQuer/1000;
}
//________________________________________________________________
function DeltaLimit() {

deltaKyche = inKycheMax - inKycheMin;
if deltaKyche >25 inKycheQuer = inKycheQuerVorher; // Bei zu grossem Delta der Einzelwerte (Tür auf, Störung) nehme den vorherigen Wert.
if deltaKyche <26 inKycheQuerVorher = inKycheQuer; // Bei akzeptablem Delta aktualisiere den Wert für den nächsten Durchlauf.

deltaWoZi = inWoZiMax - inWoZiMin;
if deltaWoZi >25 inWoZiQuer = inWoZiQuerVorher;
if deltaWoZi <26 inWoZiQuerVorher = inWoZiQuer;

deltaHeizraum = inHeizraumMax - inHeizraumMin;
}
//______________________________________________________________
function DisplayAusgabe0() {
station_lcd.clear();
station_lcd.print(" V301b ");
sleep 300;
}
//______________________________________________________________
function DisplayAusgabe1() {
station_lcd.clear();
outKyche = ""; outWoZi = ""; outHeizraum = ""; outAussen = ""; out5=""; out6="";

station_lcd.cursorpos(1,0); // Zeile 1, Position 0(+1)
station_lcd.print("K");

station_lcd.cursorpos(1,1); // Zeile 1, Position 1(+1)
if inKycheQuer > 0 outKyche="+";
str.putfloatf (outKyche, inKycheQuer, 3); // 3 Nachkommastellen
station_lcd.print(outKyche);

station_lcd.cursorpos(1,8);
station_lcd.print("H");

station_lcd.cursorpos(1,9);
str.putfloatf (outHeizraum, HeizraumQuerGradC, 0); // 0 Nachkommastellen
station_lcd.print(outHeizraum);

//--------Zeile 2------------------------------------------------

station_lcd.cursorpos(2,0);
station_lcd.print("W");

station_lcd.cursorpos(2,1); // Zeile 2, Position 0(+1)
if inWoZiQuer > 0 outWoZi="+";
str.putfloatf (outWoZi, inWoZiQuer, 3); // 3 Nachkommastellen
station_lcd.print(outWoZi);

station_lcd.cursorpos(2,8);
station_lcd.print("Bx.xxx");

//station_lcd.cursorpos(2,9); // Zeile 2, Position 0(+1)
//str.putfloatf (outAussen,inByroQuer,2); // 0 Nachkommastellen
//station_lcd.print(outAussen);
}
//______________________________________________________________
function DisplayAusgabe2() {

station_lcd.clear();
outKyche = ""; outWoZi = ""; outHeizraum = ""; outAussen = ""; out5=""; out6="";

station_lcd.cursorpos(1,0); // Zeile 1, Position 0(+1)
station_lcd.print("K");

station_lcd.cursorpos(1,1); // Zeile 1, Position 1(+1)
str.putfloatf (outKyche, deltaKyche, 0); // 0 Nachkommastellen
station_lcd.print(outKyche);

station_lcd.cursorpos(1,4);
station_lcd.print("W");

station_lcd.cursorpos(1,5);
str.putfloatf (outWoZi, deltaWoZi, 0); // 0 Nachkommastellen
station_lcd.print(outWoZi);

station_lcd.cursorpos(1,8);
station_lcd.print("Bxx");


//station_lcd.cursorpos(1,9);
//str.putfloatf (outByro, deltaByro, 0); // 1 Nachkommastellen
//station_lcd.print(outByro);

station_lcd.cursorpos(1,12);
station_lcd.print("H");

station_lcd.cursorpos(1,13);
str.putfloatf (outHeizraum, deltaHeizraum, 0); // 0 Nachkommastellen
station_lcd.print(outHeizraum);

sleep 1700;
}
//________________________________________________________________
function HeizstufenEntscheidung() {

H1Unten = 0.1-Aussenkorrektur*0;
H1Oben = 0.2-Aussenkorrektur*0;
H2Unten = (-0.1)-Aussenkorrektur*0;
H2Oben = (0)-Aussenkorrektur*0;

if inKycheQuer < H1Unten KycheH1Enable = 1;
if inKycheQuer > H1Oben KycheH1Enable = 0;
if inWoZiQuer < H1Unten WoZiH1Enable = 1;
if inWoZiQuer > H1Oben WoZiH1Enable = 0;

if inKycheQuer < H2Unten KycheH2Enable = 1;
if inKycheQuer > H2Oben KycheH2Enable = 0;
if inWoZiQuer < H2Unten WoZiH2Enable = 1;
if inWoZiQuer > H2Oben WoZiH2Enable = 0;

if inHeizraumQuer > 190 H2OK = 1; // heizstufen sollen bei zu hoher
if inHeizraumQuer < 180 H2OK = 0; // heizraumtemperatur nicht anspringen.
if inHeizraumQuer > 180 H1OK = 1;
if inHeizraumQuer < 170 H1OK = 0;

if inHeizraumQuer < 580 Lyfter1OK = 1; // lyfter sollen bei zu niedriger
if inHeizraumQuer > 600 Lyfter1OK = 0; // heizraumtemperatur nicht anspringen
if inHeizraumQuer < 450 Lyfter2OK = 1;
if inHeizraumQuer > 470 Lyfter2OK = 0;

if (KycheH1Enable + WoZiH1Enable)*H1OK > 0 H1Enable = 1;
if (KycheH1Enable + WoZiH1Enable)*H1OK == 0 H1Enable = 0;
if (KycheH2Enable + WoZiH2Enable)*H2OK > 0 H2Enable = 1;
if (KycheH2Enable + WoZiH2Enable)*H2OK == 0 H2Enable = 0;

// Kleine Heizstufe
if H1Enable == 1 station_io.RELon(1);
if H1Enable == 0 station_io.RELoff(1);
sleep 500;
// Grosse Heizstufe
if H2Enable == 1 station_io.RELon(2);
if H2Enable == 0 station_io.RELoff(2);
sleep 500;


}
//_____________________________________________________________
function LyfterKycheEntscheidung() {

if KycheH1Enable*Lyfter1OK == 1 RelaisKyche1On(); // soll bei heizbeginn kalte zugluft verhindern, solange heizung noch nicht warmgefahren ist.
//if (WoZiH1Enable + ByroH1Enable) > 0 OtherH1Enable =1 else OtherH1Enable = 0;
//in der näxten zeile dann OtherH1Enable statt WoZiH1Enable.
if (KycheH1Enable+1) * WoZiH1Enable == 1 RelaisKyche1Off();
if Lyfter1OK == 0 RelaisKyche1Off();
sleep 500;
//--------------------------------------------------------------
if KycheH2Enable*Lyfter2OK == 1 RelaisKyche3On(); // soll bei heizbeginn kalte zugluft verhindern, solange heizung noch nicht warmgefahren ist.

if (KycheH2Enable+1) * WoZiH2Enable == 1 RelaisKyche3Off();
if Lyfter2OK == 0 RelaisKyche3Off();
sleep 500;
}
//______________________________________________________________
function LyfterWoZiEntscheidung() {

if WoZiH1Enable*Lyfter1OK == 1 RelaisWoZi1On(); // soll bei heizbeginn kalte zugluft verhindern, solange heizung noch nicht warmgefahren ist.

if (WoZiH1Enable+1) * KycheH1Enable == 1 RelaisWoZi1Off();
if Lyfter1OK == 0 RelaisWoZi1Off();
sleep 500;
//--------------------------------------------------------------
if WoZiH2Enable*Lyfter2OK == 1 RelaisWoZi3On(); // soll bei heizbeginn kalte zugluft verhindern, solange heizung noch nicht warmgefahren ist.

if (WoZiH2Enable+1) * KycheH2Enable == 1 RelaisWoZi3Off();
if Lyfter2OK == 0 RelaisWoZi3Off();
sleep 500;
}
//__________________________________________________________________________
//__________________________________________________________________________
//__________________________________________________________________________

thread main
{
Vorgeplenkel();
InitMain();

loop // Hauptschleife (Endlos) *****************************
{
Zizibeh();
InitLoop();
j = 1;

for j = 1 ... 1000 // Je 1000 Messwerte einlesen und aufaddieren
{
Tastenabfrage();
EinlesenInnenwerte();
EinlesenAussenwert();
MaxMinQuer(); // Innenwerte
}//for j

ExponentiellesVergessen(); // Aussenwert
XquerDeltaKorrektur(); // Innenwerte
DeltaLimit(); // Innenwerte
HeizraumGradC();
DisplayAusgabe0(); //Version anzeigen
DisplayAusgabe2(); // Innenwerte
DisplayAusgabe1(); // Temperaturwerte

AussenwertTabelle(); // Aussenkorrekturwert
HeizstufenEntscheidung();
LyfterKycheEntscheidung();
LyfterWoZiEntscheidung();

}// Hauptschleife (Endlos) *********************************
}//Main

Zur Hauptseite