Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

thread sensoren Kategorie: Sensoren (von Mario - 26.10.2004 15:41)
Als Antwort auf Bezüglich Temperaturanzeige von Mario - 25.10.2004 15:16
Ich nutze:
C-Control II Station, OSOPT V3.0
Hallo,Rene versuche gerade einen eigenen thread sensoren für das Temperaturen programm zu schreiben
hab da schon einiges fertig bekomme auch keine fehlermeldungen,aber vieleicht könntest du trotzdem
mal kurz durchsehn ob das so stimmt
//...............................................................
//...                                                    ........
//..        Messen der Temperaturen und speichern in variable
//...............................................................

 thread Sensoren
 
 {
 loop
 string a,b,c,e,f;
int n,ad,d;
float U,R;

b="";
U=0.004*ports.adc(0);
R=(8000/U-1600)/10000;
global.IST1=1000/(math.ln(R)/3.988+1000/298)-273;
str.putfloatf(b,global.IST1,1);
a="Kessel : ";
b=a+b;

c="";
U=0.004*ports.adc(1);
R=(8000/U-1600)/10000;
global.IST1=1000/(math.ln(R)/3.988+1000/298)-273;
str.putfloatf(c,global.IST1,1);
a="Heizkreis";
c=a+c;

e="";
U=0.004*ports.adc(2);
R=(8000/U-1600)/10000;
global.IST1=1000/(math.ln(R)/3.988+1000/298)-273;
str.putfloatf(e,global.IST1,1);
a="Boiler : ";
e=a+e;

f="";
U=0.004*ports.adc(3);
R=(8000/U-1600)/10000;
global.IST1=1000/(math.ln(R)/3.988+1000/298)-273;
str.putfloatf(f,global.IST1,1);
a="Pufferoben : ";
f=a+f;
}

Hier werden meine temperaturen in einer schleife berechnet!!!!



/*************************************************************************
Hauptprogramm 1
*************************************************************************/
thread Programm1
{
string a,s,b,c,e,f;
int n,ad,d;
float U,R;
//************************************************************************

// hier beginnt die Programmschleife -------------------------------------
loop
{
// Programmteil für Fühler 1 *** Kesseltemperatur ******************************


station_lcd.clear();sleep 5;station_lcd.print("Temperatur im");
station_lcd.line2();station_lcd.print(b);
sleep 2000; // zwei Sekunden Anzeige am Display

if global.IST1 {ports.set(8,0);
station_io.LEDoff(1);}//..Ports low wenn temp unter SOLL
if global.IST1 {ports.set(9,0);station_io.LEDoff(2);}//....low wenn temp unter soll+5 Grad

if global.IST1>=global.SOLL1
{ports.set(8,1);//..Port high pumpe kessel ein
station_io.LEDon(1);}
if global.IST1>(global.SOLL1+5)
{ports.set(9,1);station_io.LEDon(2);}//..port high wenn temp 3 grad über SOLL

// Programmteil für Fühler 2 *** Heizkreistemperatur ***************************

station_lcd.clear();sleep 5;station_lcd.print("Temperatur im");
station_lcd.line2();station_lcd.print(c);
sleep 2000;// zwei Sekunden Anzeige am Display

if global.IST2 {ports.set(10,1);station_io.LEDon(6);}//...port high wenn temp niedrig
if global.IST2>=global.SOLL2
{ports.set(10,0);station_io.LEDoff(6);}//..port low wenn temp=SOLL
if global.IST4 {station_io.LEDoff(6);}// led off bei Puffer oben unter SOLL4
if global.IST2>global.SOLL2+3
{ports.set(11,1);station_io.LEDon(7);}//..port high wenn temp über SOLL

if global.IST2<=global.SOLL2
{ports.set(11,0);station_io.LEDoff(7);}//..port low wenn temp=SOLL
if global.IST4 {station_io.LEDoff(7);}//..Led off bei Pufferoben unter SOLL4 temp


// ................Fühler 3 für Boiler ladung bis 60 Grad........


station_lcd.clear();sleep 5;station_lcd.print("Temperatur im");
station_lcd.line2();station_lcd.print(e);
sleep 2000;// zwei Sekunden Anzeige am Display

if global.IST3>=global.SOLL3
{ports.set(13,0);station_io.LEDoff(3);}//..Boiler stop bei 60 Grad
if global.IST3 {station_io.LEDoff(3);}

if global.IST3 {ports.set(13,1);station_io.LEDon(3);}//..boiler Laden

//..............................................................................
// ..............Fühler4 Puffer oben ab 40 Grad heizungspumpe P4 ein,freigabe
// freigabe für Boiler REL1,unter 40 Grad Mischerstop und schliessen,Boilerstop,


station_lcd.clear();sleep 5;station_lcd.print("Temperatur ");
station_lcd.line2();station_lcd.print(f);
sleep 2000;// zwei Sekunden Anzeige am Display

if global.IST4 {ports.set(12,0);station_io.LEDon(4);// Port P4 low unter 40 Grad
station_io.RELon(1);//... freigabe stop Boiler stop,mischer zu ,relais extern
ports.set(10,0);ports.set(11,0);station_io.LEDoff(6);station_io.LEDoff(7);
ports.set(13,0);station_io.LEDoff(3);station_io.LEDoff(5);}

if global.IST4>global.SOLL4
{ports.set(12,1);station_io.LEDoff(4);station_io.LEDon(5);
 station_io.RELoff(1);}//...freigabe Boiler und Mischer ,relais extern
 //..heizungspumpe ein
 

}}

der Programm1 thread würde dann meine schalt zustände auslösen
die temp an zeige würde in einen eigenen thread kommen.
Mir ist nur unklar ob ich im thread für die anzeige string a,b,c,e,f; nochmals anlegen muss oder nicht??


    Antwort schreiben


Antworten:

Re: thread sensoren (von reneforster - 26.10.2004 16:20)
    Re: thread sensoren (von Mario - 26.10.2004 17:32)