INFO - FAQ - CC2-Forum - CCPro-Forum |
|
Hallo liebe Forengemeinde! Ich habe mich in den letzten Wochen viel mit C-Control, bzw Basic-Programmierung beschäftigt und mir mit Hilfe dieses Forums und verschiedenen anderen Seiten eine kleine Terrariensteuerung gebastelt. Sie beinhaltet eine einfache Zeitschaltuhr, sowie einen Temperaaturbereich der überwacht/geregelt wird. Jetzt habe ich das Problem, dass ich irgendeinen Fehler im Quellcode habe... Auf jeden Fall schaltrt das Relais bei vorgegebener Übertemperatur nicht ab. Vielleicht kann sich ja mal jemand den Quellcode ansehen und mir sagen, was der Fehler ist.. Ich denke mal für die erfahrenen Nutzer hier dürfte das kein Problem sein. Also hier der Quellcode, und schonmal ein herzliches Dankeschön im voraus :) 'Geckoterrariumsteuerung Test.bas define LED1 port[1] 'LEDs an Port 1-6 define LED2 port[2] define LED3 port[3] define LED4 port[4] define LED5 port[5] define LED6 port[6] define K1 port[7] 'Relais 1 und 2 an Port 7 und 8 define K2 port[8] 'K1=Licht K2=Licht(Heizen) define Temp ad[5] define T1 word 'Variable für Temperatur define Uhrzeit word 'Variable für die aktuelle Uhrzeit define minTemp 27 'Minimaltemperatur 27°C (Schalttemperatur) define maxTemp 33 'Maximaltemperatur 33°C (Schalttemperatur) define absminTemp 20 'Absolute Minimaltemperatur (Alarmtemperatur) define absmaxTemp 40 'Absolute Maximaltemperatur (Alarmtemperatur) '***Das eigentliche Programm*** #Anfang LED1=OFF 'Hier wird sichergestellt, dass LED1-6 aus sind LED2=OFF LED3=OFF LED4=OFF LED5=OFF LED6=OFF K1=OFF 'Hier wird sichergestellt, dass Relais 1 und 2 aus sind K2=OFF T1=(Temp*5-250)/10 'Hier wird die Temperatur errechnet #loop 'Endlosschleife if second=0 or second=59 then goto loop 'Verhindert Fehler beim Stundenwechsel Uhrzeit=hour*100+minute 'Aktuelle Uhrzeit für Auswertung zwischenspeichern if Uhrzeit >= 2000 then gosub AllesAus if uhrzeit >= 830 then gosub AllesAn goto loop #AllesAn 'wird morgens um 8.30Uhr aufgerufen K1=ON 'Relais 1 zieht an ("Sonnenaufgang") if T1<(minTemp) then K2=ON 'Wenn Temp <27 zieht K2 an (heizen) if T1>(maxTemp) then K2=OFF 'Wenn Temp >33 fällt K2 ab (heizen aus) if T1<(absminTemp) then gosub minAlarm if T1>(absmaxTemp) then gosub maxAlarm return #minAlarm 'LED1 blinkt und es ertönt ein Alarmsignal pause 1 LED1=1 BEEP 250,20,0 pause 1 LED1=0 BEEP 350,20,0 return #maxAlarm 'LED6 blinkt und es ertönt ein Alarmsignal pause 1 LED6=1 BEEP 250,20,0 pause 1 LED6=0 BEEP 350,20,0 return #AllesAus 'wird abends um 20.00Uhr aufgerufen K1=OFF 'Beleuchtung geht aus K2=OFF return |
Antwort schreiben |