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

Wichtig: Bevor Du wegen einem Problem mit der CC2 postest, stelle sicher, daß Du
die neueste OS-Version, die neuseste Compiler-DLL und die neuesten Modulversionen benutzt!
Beachte, daß sich auf der CD zur CC2-Unit/Station auch jetzt noch die ältesten Dateien befinden!
Es gelten folgende Anleitung und Regeln: Regeln CC2Net.de-Forum
Zurück zum Artikel  (Blaue Felder sind Pflichtfelder)


Name:   UserID: 
 E-Mail:
Kategorie
Betreff
Homepage:
Link-Titel:
Link-URL:
Cookie für Name, UserID, E-Mail, Homepage-URL setzen
(Erspart die Neueingabe bei Beiträgen und Antworten)
(Zum Löschen des Cookies hier klicken)
Ich nutze:
C-Control II Unit
C164CI-Controllerboard
C-Control II Station
CCRP5 mit CC2-Unit (Conrad Roboter)
CC2-Application-Board
CC2-StarterBoard
CC2-ReglerBoard
eigenes Board
original OS     OSOPT_V2     OSOPT V3.0 OSOPT V3.1

Kommentar:
Einfügen von HTML im Kommentar:

Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a>
Bild einfügen: <img src="BILDURL">
Text formatieren: <b>fetter Text</b>  <i>kursiver Text</i> <u>unterstrichener Text</u>
Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b>
C2 Quellcode formatieren: <code>Quellcode</code>
ASM Quellcode formatieren: <asm>Quellcode</asm>
(Innerhalb eines Quellcodeabschnitts ist kein html möglich.)
Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst !  

> Hallo ich benutze die Control II für die Heizungsteuerung. Die Anzeige auf dem externen LCD, die > eigentliche Steuerung, die Zeitverwaltung, Datenspeicherung auf 4 Mbit und die Temperaturabfrage der > 8 Temperaturmodule über den TWBus laufen in verschiedene Treads. > > Die Steuerung läuft tadellos bis auf die Tatsache dass nach einiger Zeit sich die Steuerung aufhängt. > Sobald der Thread für die Temperaturerfassung nicht gestartet wird läuft die Steuerung. Wird der > Temperaturthread gestartet steht die Steuerung ab und zu nach einigen Minuten jedoch spätestestens > einigen Stunden. > > Hat jemand hierfür eine Erklärung oder ähnliche Probleme? Ich würde mich freuen wenn jemand eine > Lösung für dieses Problem hat. Bin etwas verzweifelt da´ich schon seit ein paar Woche versuche den > Fehler zu finden. Kann es zu Timingproblemen kommen wenn da das externe LCD auch über die Ports > P1 gesteuert wird???? > > > Hier habe ich ein Teil des Temperturthreads abgebildet. > > //******************************************** > function Modemstatus() returns int > { > long erg; > capture global.pf; > twb.init(); > erg = twbs.rw_frame(0, allg.Modem_Adresse, 0, 0, 0); > release; > return (erg); > } > > function twb_temp(byte adr) returns int > { > int Temp; > string s; > byte i; > > //Temperatur über TWB abfragen > for i = 1 ... 3 > { > capture global.pf; > Temp = twbs.stemp(adr); > release; > if (Temp < 2000) > break; > } > //Temperatur oder Fehler zurück melden > return(Temp); > > } > > //**************************************** > // Temperatur Thread > //**************************************** > thread Temperaturen > { > int Temp; > byte i; > string s1, s2; > > //TWB-Bus initialisieren > Temp = sensor_prog.Modemstatus(); > allg.anz1 = "Modemstatus:"; > s1 = "Modemstatus:"; > if Temp < 2000 > { > allg.Einst.Zustand = allg.setBit(allg.Einst.Zustand, allg.z_Twb, allg.OFF); > allg.anz2 = " OK"; > s2 = " OK"; > //anzeige.ausgebenl(s1, s2); > } > else > { > allg.Einst.Zustand = allg.setBit(allg.Einst.Zustand, allg.z_Twb, allg.ON); > //Fehlermeldung anzeigen > allg.anz2 = sensor_prog.ERR[Temp - 2001]; > s2 = sensor_prog.ERR[Temp - 2001]; > allg.anz_func = 1; > } > > run 1000; > > loop > { > if allg.getBit(allg.Einst.Zustand, allg.z_Simu) > { > //Temparaturen aus Temperaturvektor nehmen > // nicht neu setzen > continue; > } > > if allg.getBit(allg.Einst.Zustand, allg.z_Twb) > { > //Temparaturen aus Temperaturvektor nehmen > // nicht neu setzen > continue; > } > > //Hier werden die Temperaturen abgefragt und in die Globalen Variablen > //geschrieben > > //Brenner abfragen > Temp = twb_temp(allg.t_Brenner + 1); > if Temp < 2000 > allg.Temp[allg.t_Brenner] = Temp + allg.Einst.Tkorr_Brenner; > > //Vorlauf abfragen > //twb.init(); > Temp = twb_temp(allg.t_Vorlauf + 1); > if Temp < 2000 > allg.Temp[allg.t_Vorlauf] = Temp + allg.Einst.Tkorr_Vorlauf; > > //Aussentemperatur abfragen > //twb.init(); > Temp = twb_temp(allg.t_Aussen + 1); > if Temp < 2000 > allg.Temp[allg.t_Aussen] = Temp + allg.Einst.Tkorr_Aussen; > > //Brauchwasser abfragen > //twb.init(); > Temp = twb_temp(allg.t_Brauchw + 1); > if Temp < 2000 > allg.Temp[allg.t_Brauchw] = Temp + allg.Einst.Tkorr_Brauchw; > > //Solar abfragen > //twb.init(); > Temp = twb_temp(allg.t_Solar_u + 1); > if Temp < 2000 > allg.Temp[allg.t_Solar_u] = Temp + allg.Einst.Tkorr_Solar_u; > //twb.init(); > Temp = twb_temp(allg.t_Solar_o + 1); > if Temp < 2000 > allg.Temp[allg.t_Solar_o] = Temp + allg.Einst.Tkorr_Solar_o; > > //Kaminofen abfragen > //twb.init(); > Temp = twb_temp(allg.t_Kamin + 1); > if Temp < 2000 > allg.Temp[allg.t_Kamin] = Temp + allg.Einst.Tkorr_Kamin; > > //Heizkreis abfragen > //twb.init(); > Temp = twb_temp(allg.t_Heiz + 1); > if Temp < 2000 > allg.Temp[allg.t_Heiz] = Temp + allg.Einst.Tkorr_Heiz; > > > sleep 1000; > } > //************************************************************
Dateianhang: (.gif, .png., .jpg, .zip, .rar)
max. 256kB
max. 256kB