
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
||
|
Hallo, Hier ist eine gut fuktionierende Programmversion bei der die für das Resetten relevanten Programmzeilen auskommentiert sind. Habe ich gerade nochmal getestet. '====================== 'Pumpensteuerungssystem '====================== 'Wasserbedarfssteuerung für mein Haus in Sri Lanka '1. Es gibt kein Wasserleitungssystem in der Gegend ! '2. Das System ist als überdruckloses Schwerkraftsystem ausgelegt, da es immer wieder Stromausfälle gibt. '3. Es gibt einen Brunnen, zwei 1000 Liter Tanks auf dem Dach(Brunnen- und Regenwasser) und einen 5000 Liter Tank in der Erde (Sisterne). '4. Auf dem Dach wird Regenwasser aufgefangen und in der Sisterne gespeichert. ' 'Wassernutzung: Brunnenwasser --- zum waschen und duschen. ' Regenwasser --- zur Toilettenspülung und Gartenbewässerung ' Trinkwasser --- wird in 20 Liter Flaschen gekauft '====================== 'Die Aufgabe: '1. Zwei Arten von Wasser müssen in zwei verschiedene Tanks auf dem Dach gepumpt werden, sobald die Sensoren "leer" melden. '2. Ein überlaufen muß verhindert werden. Pumpe "aus" wenn die Sensoren "voll" melden. '3. Falls inder Sisterne kein Regenwasser mehr vorhanden ist, muß der Regenwassertank mit Brunnenwasser gefüllt werden. '4. Dazu gibt es eine Verbindung zwischen dem Brunnenwassertank und dem Regenwassertank mit steuerbarem Magnetventil. ' Davor sitzt ein Rückschlagventil, das verhindert daß das Brunnenwasser verunreinigt wird. 'Definitionen define BWToben port[1] 'Schalter im Brunnenwassertank (oben) define BWTunten port[2] 'Schalter im Brunnenwassertank (unten) define RWToben port[3] 'Schalter im Regenwassertank (oben) define RWTunten port[4] 'Schalter im Regenwassertank (unten) define Sisterne port[5] 'Schalter in der Sisterne (unten) define Ventil port[6] 'Relais zum Schalten eines Ventils zwischen Brunnenwassertank und Regenwassertank (Falls die Sisterne leer ist) define PumpeB port[7] 'Relais zum Schalten der Brunnenwasserpumpe define PumpeR port[8] 'Relais zum Schalten der Regenwasserpumpe define F1 port[9] define F2 port[10] 'F1..F3 Tasten zur Handsteuerung der Relais define F3 port[11] 'define LEDB port[13] 'Led zur Anzeige "Brunnenwasserpumpe angeschaltet" (läuft paralel zur Led K1) 'define LEDR port[14] 'Led zur Anzeige "Regenwasserpumpe angeschaltet" (läuft paralel zur Led K2) define LEDV port[15] 'Led zur Anzeige "Speisung des Regenwassertank aus dem Brunnenwassertank angeschaltet" (Ventil offen falls Sisterne leer) define TAKT port[16] 'Blinken der Led über Taste F4. Kontrolle: Programm läuft. 'INITIALISIERUNG ----------------- Ventil = on PumpeB = off PumpeR = off 'alle Relais und Led´s ausgeschalten 'LEDB = off 'LEDR = off LEDV = off TAKT = off 'PROGRAMM HAUPTSCHLEIFE --------- #loop if F1 = off then gosub BWTfuellen 'Handsteuerung des Relais "PumpeB" if F2 = off then gosub RWTfuellen 'Handsteuerung des Relais "PumpeR" if F3 = off then gosub Ventiloeffnen 'Handsteuerung des Relais "Ventil" if Sisterne = on then gosub RW 'Regenwasser in der Sisterne vorhanden if Sisterne = off then gosub keinRW 'kein Regenwasser in der Sisterne vorhanden TAKT = on ' pause 5 ' TAKT = off 'Blinken bei jedem Schleifendurchlauf zur Kontrolle: Programm läuft. pause 50 ' goto loop 'UNTERPROGRAMME -------------------- #RW 'Regenwasser in der Sisterne vorhanden Ventil = on 'Ventil ausschalten LEDV = off 'Anzeige Ventil ausschalten if BWToben = off and BWTunten = off then PumpeB=on 'Brunnenwassertank leer, PumpeB anschalten 'if PumpeB=on then LEDB=on 'zugehörige Led anschalten if BWToben = on and BWTunten = on then PumpeB=off 'Brunnenwassertank voll, PumpeB ausschalten 'if PumpeB=off then LEDB=off 'zugehörige Led anschalten if RWToben = off and RWTunten = off then PumpeR=on 'Regenenwassertank leer, PumpeR anschalten 'if PumpeR=on then LEDR=on 'zugehörige Led anschalten if RWToben = on and RWTunten = on then PumpeR=off 'Regenenwassertank voll, PumpeR ausschalten 'if PumpeR=off then LEDR=off 'zugehörige Led anschalten return #keinRW 'Kein Regenwasser in der Sisterne vorhanden Ventil = off 'Tankausgleichsventil öffnen LedV = on 'zugehörige Led anschalten PumpeR = off 'Falls noch eingeschaltet: Regenwasserpumpe ausschalten 'LEDR =off 'zugehörige Led ausschalten if BWToben = off and BWTunten = off then PumpeB=on 'Brunnenwassertank leer, PumpeB anschalten 'if PumpeB=on then LEDB=on 'zugehörige Led anschalten if BWToben = on and BWTunten = on then PumpeB=off 'Brunnenwassertank voll, PumpeB ausschalten 'if PumpeB=off then LEDB=off 'zugehörige Led ausschalten return #BWTfuellen 'Handsteuerung Brunnenwasserpumpe PumpeB = on 'Brunnenwasserpumpe einschalten 'LEDB = on 'zugehörige Led anschalten if F1 = off then goto BWTfuellen 'solange die Taste gedrückt ist weiterpumpen PumpeB = off 'Brunnenwasserpumpe ausschalten 'LEDB = off 'zugehörige Led ausschalten return #RWTfuellen 'Handsteuerung Regenwasserpumpe if sisterne = off then return 'Wenn Sisterne leer kein pumpen erlauben PumpeR = on 'Regenwasserpumpe einschalten 'LEDR = on 'zugehörige Led anschalten if F2 = off then goto RWTfuellen 'solange die Taste gedrückt ist weiterpumpen PumpeR = off 'Regenwasserpumpe ausschalten 'LEDR = off 'zugehörige Led ausschalten return #Ventiloeffnen 'Handsteuerung Ventil Ventil = off 'Ventil öffnen LEDV = on 'zugehörige Led anschalten if F3 = off then goto Ventiloeffnen 'solange die Taste gedrückt ist das Ventil geöffnet lassen. Ventil = on 'Ventil schließen LEDV = off 'zugehörige Led ausschalten return mfg Volker |
| Antwort schreiben |