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

geht nich Kategorie: CC2-Unit & Appl.Board / CC2-Station (von reneforster - 26.10.2004 22:06)
Als Antwort auf display anzeige von Mario - 26.10.2004 21:33
Ich nutze:
C-Control II Station, OSOPT V3.0
> Also wäre es besser im tasten thread die display anzeige unterzubringen,
nein geht nicht, schaue dir den Tastentread genau an, er wartet auf einen Tastendruck und wenn eine
Taste gedrückt wird beginnt erst die Programmausführung. Da kannste nichts anderes untebringen.


da ich sonst auf zu vile threads
nein hast du nicht, auch wenns doch mal einer mehr ist, ein Thread pro Ressource ist völlig ok.
Weil wenn die Ã?bersichtlichkeit verloren geht, kommen schnell die Fehler !!
Und irgendwann kann dir dann auch keiner mehr helfen (oder wollen ), wenn du einen Code postest
an dem an jeder Stelle wild Sachen gemacht werden.



> zugreifen müsste,dennoch weis ich immer noch nicht wie ich die 4 verschiedenen temp anzeigen soll.
>
> könntest du mir das kurz aufschreiben????
>

zur Anzeige am Display:

du schreibst einen neues Modul.
lasse in einer Programmschleife ( wir haben gelernt loop :) ) nacheinander deine gewünschten
Sachen anzeigen - immer schön Anzeige1 - Pause - Anzeige2 - Pause ..... bis ans Ende.
vor der loop Schleife setzt noch eine Hilfsvariablen a und s.


// ab hier Programmschleife ***************************
loop
{

// erste Anzeige Wert global.IST1 *****************************************

s="";str.putint(s,global.IST1);a=" Kessel ";s=s+a;
station_lcd.clear();sleep 5;station_lcd.print("Temperatur im");
station_lcd.line2();station_lcd.print(s);

// kurze Pause zum lesen *****************************
sleep 2000;

// erste Anzeige Wert global.IST2  *****************************************

s="";str.putint(s,global.IST2);a=" IST2 ";s=s+a;
station_lcd.clear();sleep 5;station_lcd.print("Temperatur im");
station_lcd.line2();station_lcd.print(s);

// kurze Pause zum lesen *****************************
sleep 2000;

}





und vergiss jetzt nicht, die jetzigen vertreuten Displayausgaben überall rauszunehmen !!!
nicht so wie unten !!

und dein neues Modul richtig einfügen, machts eins über "start" - und im Startmodul musst
du es auch noch per run Befehl starten.



> //...............................................................
> //...                                                    ........
> //..        Messen der Temperaturen und speichern in variable
> //...............................................................
>
>  thread Sensoren
>
>  {
>
>  string s,a;
> int n,ad,d;
> float U,R,T1;
> loop
> {
> s="";
> U=0.004*ports.adc(0);
> R=(8000/U-1600)/10000;
> T1=1000/(math.ln(R)/3.988+1000/298)-273;
> str.putfloatf(s,T1,1);
> global.IST1=T1;
> a="Kessel : ";
> s=a+s;
>
> s="";
> U=0.004*ports.adc(1);
> R=(8000/U-1600)/10000;
> T1=1000/(math.ln(R)/3.988+1000/298)-273;
> str.putfloatf(s,T1,1);
> global.IST2=T1;
> a="Heizkreis";
> s=a+s;
>
> s="";
> U=0.004*ports.adc(2);
> R=(8000/U-1600)/10000;
> T1=1000/(math.ln(R)/3.988+1000/298)-273;
> str.putfloatf(s,T1,1);
> global.IST3=T1;
> a="Boiler : ";
> s=a+s;
>
> s="";
> U=0.004*ports.adc(3);
> R=(8000/U-1600)/10000;
> T1=1000/(math.ln(R)/3.988+1000/298)-273;
> str.putfloatf(s,T1,1);
> global.IST4=T1;
> a="Pufferoben : ";
> s=a+s;
> }}
>


    Antwort schreiben


Antworten:

Danke (von Mario - 27.10.2004 10:54)
    Re: Danke (von reneforster - 27.10.2004 16:22)